Nu är Solr-indexet implementerat i K-samsök. Databasbytet från Oracle till Postgres är också snart en realitet, vi har testat klart och ska bara ha en del pusselbitar på plats. Se tidigare inlägg för mer information om Solr och Postgres.
Den nya versionen av K-samsök som nu ligger ute har även en annan riktigt bra finess – en ny API-metod som heter getRelations. Den metoden kan användas av applikationer för att lista relationerna för ett objekt. Finessen är att det inte bara är de egna RDF-relationerna hos objektet som listas, utan även relationer från andra objekt. Det innebär att vi har dubbelriktat alla relationer! Vi döper då om många av dem också, inversen till hasPart är t ex isPartOf.
Exempel
Kolla på följande KMB-objekt:
http://kulturarvsdata.se/raa/kmb/rdf/16001000237784
Objektet har följande relation i RDF-datat:
ns5:visualizes rdf:resource=”http://kulturarvsdata.se/raa/fmi/10051700150001″/
Om man tittar på det utpekade FMIS-objektet:
http://kulturarvsdata.se/raa/fmi/10051700150001
så ser man inte någon relation alls.
Men Kringla (och andra app:ar) kan hitta relationer för detta FMIS-objekt med hjälp av följande anrop:
http://kulturarvsdata.se/ksamsok/api?method=getRelations&relation=all&objectId=raa/fmi/10051700150001&maxCount=1000&x-api=test
I svaret ser man:
<relation type=”isVisualizedBy” source=”deduced”>http://kulturarvsdata.se/raa/kmb/16001000237784</relation>
Det här är ett viktigt semantiskt steg för K-samsök. Implementationen av min design har Niklas Eklund på Mogul gjort. Som vanligt gör han allt snabbare och bättre än jag kan föreställa mig. Han är helt otrolig!
Börje Lewin, IT-arkitekt för K-samsök
Jag fick en fråga och insåg att jag missat en sak i beskrivningen. source=”deduced” i svaret betyder att relationen har hittats i det relaterade objektet. För relationer som finns i det egna objektets RDF-resurs finns inget source-attribut.
Här är ett exempel på ett resultat med både egna och härledda relationer: http://kulturarvsdata.se/ksamsok/api?method=getRelations&relation=all&objectId=raa/fmi/10028201230001&maxCount=1000&x-api=test
Det är möjligt att applikationerna struntar i source, men den finns där för dem som vill.
//Börje