Gränssnitt för tillämpningar

På den här sidan visas några exempel på hur du kan använda metoden search i K-samsöks API. Alla metoder beskrivs här: API-metoder.

K-samsöks API innebär att applikationer skickar en URL med frågeparametrar och får tillbaka resultatet i form av en XML-fil. Detta är den enklare typen av webbservice som brukar kallas REST.

För att se hur söksvaren ser ut i XML, RDF eller stilmallsmodifierat format, se demotillämpningen ”Loppan”.

I det här dokumentet beskrivs URL och resulterande XML för fem exempel på sökningar (vilka förstås går att kombinera också):

  • fritextsökning
  • fritext för objekt och plats
  • sökning på specifika element
  • sökning inom en geografisk rektangel
  • tidsökning

Längst ner på sidan finns också information om den heterogena datamängden i K-samsök. Att skörda så många, ibland väsensskilda datakällor innebär en kontinuerlig utmaning när det gäller samordning och semantik.

Exempel

1 – fritextsökning

Nedanstående anrop söker efter textsträngen ”Yxa” i en lång rad element i RDF-strukturen för de kulturarvsdata som är tillgängliga för K-samsök. Högst 10 träffar returneras. Klicka på länken för att se URL:en och den resulterande XML-strukturen.

Exempel 1 med K-samsök API:

Visa denna sökning!

Exempel 1 med stylesheet:

Visa sökningen med stylesheet!

Exempel 1 med endast bilder:

Visa sökningen med endast objekt som har bilder!

Exempel 2 – fritext för objekt och plats

Detta anrop söker efter textsträngen ”Boplats” i alla objektrelaterade element och efter textsträngen ”Stenkyrka” i alla platsrelaterade element. Högst 3 träffar returneras. Klicka på länken för att se URL:en och den resulterande XML-strukturen.

Exempel 2 med K-samsök API:

Visa denna sökning!

Exempel 3 – sökning på specifika element

Detta anrop söker efter textsträngen ”Boplats” i elementet itemDescription (objektets beskrivning) och efter textsträngen ”Stenkyrka” i elementet parishName (sockennamn). Högst 3 träffar returneras. Klicka på länken för att se URL:en och den resulterande XML-strukturen.

Exempel 3 med K-samsök API:

Visa denna sökning!

Exempel 4 – sökning efter objekt inom en geografisk rektangel

Principen är att man söker enligt följande: boundingBox=”väst syd ost nord”

Detta anrop söker efter objekt inom en geografisk rektangel. Två motstående hörn anges med koordinater.
Många koordinatsystem stöds och då anges de med /EPSG:xxxx. Men det finns också konstanter
för vissa vanliga system (RT90, SWEREF99, WGS84). Default om man inte anger nåt koordinatsystem med
”/”-modifieraren är SWEREF 99 TM (3006). Exemplet ovan är en RT90-sökning.

Decimaltecknet ska vara punkt.

Exempel 4 med K-samsök API:

Visa denna sökning!

Exempel 5 – sökning efter objekt inom en angiven tidsperiod

Det här exemplet söker fram objekt från 1600-talet.

OBSERVERA:

  • Man jämför sluttiden med fromTime och starttiden med toTime (kolla gärna med en sanningstabell att det fungerar om du tycker att det låter konstigt).
  • fromTime och toTime fungerar inte bra, man måste välja ut vilka kontexttyper man vill titta på, t ex create_fromTime och create_toTime.
  • Många objekt i K-samsök har ingen tidsmarkering.

https://kulturarvsdata.se/ksamsok/api?method=search&hitsPerPage=10&x-api=”test”&stylesheet=../stylesheet/searchStyle.xsl&query=create_fromTime<=1699 and create_toTime>=1600

Heterogen datamängd

På RDF-nivån kan datamängden se ut att vara divergent fast den egentligen inte är det. Ta följande två objektrepresentationer som exempel:

Om man tittar närmare på strukturen så upptäcker man en del olikheter mellan dessa representationer. Men RDF är idiomatiskt på så sätt att man kan bygga upp samma strukturer på flera olika sätt. På den semantiska webben följer de två objekten samma schema och är uppbyggda på samma sätt. Däremot har inte båda objekten värden för alla parametrar, men det är en annan historia.