Metoder
Dokumentation om de olika metoderna i K-samsöks API.
Kommande ändringar på K-samsöks API och protokoll utlysas här.
search
statistic
statisticSearch
allIndexUniqueValueCount
facet
searchHelp
rss
getServiceOrganization
getRelations
getRelationTypes
stem
recordschema
- JSON-LD
search
Metoden search
utför en sökning efter objekt i systemet K-samsök.
Resultatet av metoden är ett XML-svar innehållande x antal ”records” med information om objekten som träffats.
Parametrar
query
(obligatorisk)hitsPerPage
(frivillig)- Anger hur många träffar som skall visas per sida, eller rättare sagt hur många träffar som det max skall finnas i XML-svaret. Parametern tar ett numeriskt värde mellan 1 till 1 000. Denna sätts till 50 om inget annat anges eller om ett värde under 1 eller över 1 000 anges.
Exempel:hitsPerPage=12
startRecord
(frivillig)- Anger vart någonstans sökning skall börja i resultatet. Som default hämtas posterna 1-50. Anger man istället startRecord=11 så hämtas istället posterna 11-60.
Exempel:startRecord=50
stylesheet
(frivillig)sort
(frivillig)- Anger att resultatet skall sorteras efter givet index.
Exempel:sort=itemType
sortConfig
(frivillig)- Anger om resultatet skall sorteras stigande (ascending) eller avtagande (descending). Default är stigande. Möjliga värden är:
asc
ochdesc
Exempel:sortConfig=desc
recordSchema
(frivillig)- Anger vilket record-schema som skall användas. I dagsläget finns endast ett som heter
presentation
. För att använda detta skriver manrecordSchema=presentation
Resultatet av detta blir att enbart presentationsdata returneras. Om inget record-schema anges returneras all data för objekten.
Exempel:recordSchema=presentation
Exempel: En sökning med metoden search kan se ut på följande sätt:
https://kulturarvsdata.se/ksamsok/api?method=search&stylesheet=stylesheet/searchStyle.xsl&query=item=yxa&place=gotland&startRecord=10&hitsPerPage=25&sort=itemName&sortConfig=asc&recordSchema=presentation
Fler exempel: metoden search
statistic
Denna metod returnerar en lista över alla kombinationer av alla unika värden för givna index och antal poster som matchar dessa värden.
Parametrar
index
(obligatorisk)stylesheet
(frivillig)removeBelow
(frivillig)
Exempel: En sökning med metoden statistic kan se ut på följande sätt:
https://kulturarvsdata.se/ksamsok/api?method=statistic&stylesheet=stylesheet/statistic.xsl&index=mediaType=*&removeBelow=3
statisticSearch
Denna metod fungerar i princip som statistic
bortsett från att den gör det möjligt att filtrera resultatet med ett query. Med andra ord funkar denna metod som en kombination av search
och statistic
(där av namnet statisticSearch
).
Parametrar
index
(obligatorisk)stylesheet
(frivillig)query
(obligatorisk)removeBelow
(frivillig)
Exempel: Ett anrop till metoden statisticSearch
kan se ut på följande sätt
https://kulturarvsdata.se/ksamsok/api?method=statisticSearch&stylesheet=stylesheet/statistic.xsl&index=serviceOrganization=*&query=itemLabel>talk and itemLabel<talm&removeBelow=1
allIndexUniqueValueCount
Returnerar en lista över relevanta index och antalet unika värden dessa index har som matchar given fråga.
Parametrar
query
(obligatorisk)index
(frivillig)stylesheet
(frivillig)
Exempel: En sökning med allIndexUniqueValueCount
kan se ut på följande sätt:
https://kulturarvsdata.se/ksamsok/api?method=allIndexUniqueValueCount&stylesheet=stylesheet/allIndexUniqueValueCount.xsl&query=yxa&index=itemType
facet
Metoden utför en facettsökning för givna index med given fråga som filter.
Parametrar
index
(obligatorisk)query
(obligatorisk)stylesheet
(frivillig)removeBelow
(frivillig)
Exempel: En sökning kan se ut med metoden facet kan se ut på följande sätt:
https://kulturarvsdata.se/ksamsok/api?method=facet&&stylesheet=stylesheet/facet.xsl&index=countyName&query=hus&removeBelow=1
searchHelp
Denna metod är utvecklad för att göra det möjligt att få auto-text när en sökning skrivs. Alltså att ett system kan ge förlag på vad som skall skrivas utefter ett prefix.
Parametrar
index
(obligatorisk)prefix
(frivillig)- Specificerar det prefix som skall användas vid sökningen. Om denna ej anges kommer prefixet automatiskt sättas till
*
. Om ett prefix skickas in utan en*
på slutet kommer denna att läggas till automatiskt. Alltsåsto
blirsto*
.
Exempel:prefix=sto*
stylesheet
(frivillig)maxValueCount
(frivillig)- Anger hur många förslag man vill ha tillbaka från varje index. Om denna sätts till exempelvis
5
kommer man att få 5 förslag för varje index som skickas in (förutsatt att det finns 5 förslag, annars kommer färre ges) Anges inte denna sätts den till5
som standard.
Exempel:maxValueCount=5
Exempel:
https://kulturarvsdata.se/ksamsok/api?method=searchHelp&stylesheet=stylesheet/searchHelp.xsl&index=itemMotiveWord&prefix=sto*&maxValueCount=5
rss
Som namnet antyder så returnerar denna metod ett RSS-flöde från K-samsök, eller rättare sagt en mediaRSS-feed. I stort sett fungerar metoden precis som metoden search bortsett från att istället för ett svar i XML-format får man ett svar i mediaRSS-format.
Parametrar
Se parameterbeskrivningen för metoden search
då dessa två metoder har identiska parametrar.
getServiceOrganization
Denna metod skiljer sig från de övriga då den tekniskt sett inte söker i K-samsök. Istället så returneras information om de institutioner som K-samsök hämtar data ifrån. Informationen om institutionerna anges själv av varje institution och inte av Riksantikvarieämbetet (bortsett från de databaser som tillhör Riksantikvarieämbetet förstås).
Parametrar
value
(obligatorisk)- Denna parameter anger vilken institution man vill hämta information om. Anger man exempelvis
value=raä
så hämtas information om Riksantikvarieämbetet. Om man inte vet vad de olika institutionerna har för förkortningar eller bara vill ha information om alla institutioner så kan man skriva value=all vilket returnerar information om samtliga institutioner.
Exempel:
https://kulturarvsdata.se/ksamsok/api?method=getServiceOrganization&value=all
getRelations
Metoden getRelations kan användas för att lista alla eller vissa relationer för ett objekt. Det är inte bara relationerna i det egna RDF-datat som hämtas, utan även relationer till det aktuella objektet från andra objekt. Det här innebär att det alltid räcker med enkelriktade relationer i K-samsök – man kan alltid hitta dem från båda håll.
Parametrar
relation
(obligatorisk)- Med den här parametern anger du vilken relationstyp du vill lista. Om du vill se alla relationstyper så anger du
"all"
. I det resulterande svaret kan vissa relationer ha attributetsource="deduced"
, vilket är en markering att relationen har hittats hos det motstående objektet, inte hos det objekt du utgår från. objectId
(obligatorisk)- Den persistenta URI:n för objektet.
maxCount
(frivillig)- Maximalt antal returnerade relationer.
Exempel:
https://kulturarvsdata.se/ksamsok/api?method=getRelations&relation=all&objectId=raa/fmi/10028201230001&maxCount=1000
getRelationTypes
Visar relationer som ett objekts context kan ha till ett annat objekt. Metoden retunerar namn med dess invers(reverse) samt svenska titeln.
Parametrar
relation
(obligatorisk)- Med den här parametern anger du vilken relationstyp du vill lista. Om du vill se alla relationstyper så anger du
"all"
.
Exempel:
https://kulturarvsdata.se/ksamsok/api?method=getRelationTypes&relation=all
stem
Det här är en enkel metod för att se hur K-samsök hanterar ordstamning (böjningsformer). Man får tillbaka ordens stammar.
Parametrar
words
(obligatorisk)- Denna parameter anger vilket eller vilka ord du vill kontrollera böjningsformer för. Konstigheter kan åtgärdas om de meddelas till K-samsöksteamet.
Exempel:
https://kulturarvsdata.se/ksamsok/api?method=stem&words=kappe
recordschema
Anger vilket record-schema som skall användas för söksvaret, dvs vilket
(XML-)format svarsposterna ska ha. Man kan antingen begära en posts hela
RDF, dess presentationsdata eller valfria fält. Default är att postens RDF returneras om parametern utelämnas.
Möjliga värden är:
rdf
presentation
xml
Exempel:
https://kulturarvsdata.se/ksamsok/api?method=search&query=geoDataExists=j&recordSchema=xml&fields=itemDescription,itemLabel,lon,lat
Parametrar
fields
(obligatorisk omrecordSchema=xml
, annars oanvänd; se ovan)- Anger vilka fält du önskar i svaret. Nästan alla index man kan söka på kan anges här i en kommaseparerad lista. Utöver dem även vissa extrafält som tex
thumbnail
för att få en posts tumnagel. FältetitemId
läggs också alltid till i svaret även om den inte finns angiven.
Möjliga värden är:- kommaseparerad lista av nästan alla sökbara index
samt:thumbnail
url
lon
(longitud)lat
(latitud)
Exempel:
https://kulturarvsdata.se/ksamsok/api?method=search&query=text=yxa&recordSchema=xml&fields=itemLabel,itemDescription,thumbnail,url
https://kulturarvsdata.se/ksamsok/api?method=search&query=geoDataExists=j&recordSchema=xml&fields=itemLabel,itemDescription,lon,lat
JSON-LD
Om man vill ett objekt beskrivet som JSON-LD så kan man göra på två sätt:
- Man anger JSON-LD i sökvägen i URI:n innan objekts id, t.ex:
http://kulturarvsdata.se/shm/object/jsonld/970897
- Man anger endast
application/json
,application/json-ld
ellerapplication/ld-json
somAccept
format i http-headern, samt anger inget format i URI:ns path, dvs:http://kulturarvsdata.se/shm/object/970897
Om man vill att svaret på api anrop ska vara i JSON så anger man
application/json
somAccept
format i http-headern. Om api-anropets svar innehåller en eller flera RDF tripletter så kommer de vara serialiserade som JSON-LD. - kommaseparerad lista av nästan alla sökbara index