Bloggen flyttar

27 april 2010

Nu flyttar vi bloggen till http://www.ksamsok.se/blogg, se till att uppdatera bokmärken och RSS-läsare. Alla gamla blogginlägg är flyttade till nya bloggen. Läs mer på K-samsöks nya webbplats.

>> Johan Carlström, projektledare


Gästblogg: Etnografiska museet i K-samsök

30 mars 2010


Kniv från Lado, Afrika.

Dessa fyra är några av de ca 3000 mer eller mindre kända personer som av olika skäl samlat på sig de 220 000 föremål från hela världen som finns på Etnografiska museet i Stockholm. Hälften av dessa föremål har digitaliserats och är tillgängliga genom museets söktjänst och sedan 2 veckor är de även tillgängliga genom K-samsök. 40 000 av dessa föremål är nu fotograferade och visas med bild. Föremålen är i sin tur indelade i 3500 samlingar.

Etnografiska museet blir därmed det andra av Statens museer för världskulturs fyra museer som är med i K-samsök. Världskulturmuseet var det första och detta museum har nu också kompletterat sitt bidrag till K-samsök med 5700 fotografier.

Vad är det då för information som K-samsök har skördat från Etnografiska museet? Det är, precis som från Världskulturmuseet, inventarienummer, sakord, beskrivning och bild. Men nu har denna information kompletterats med geografiska uppgifter, material och förvärvsomständigheter. Det betyder att många av föremålen nu har fått en ungefärlig position i Google Maps. Eftersom många av ortnamnen har en ålderdomlig stavning lyckas dock inte alltid Google Maps hitta de många gånger ganska mystiska ortnamnen. Detta har gett oss ytterligare ett bra argument till varför vi behöver satsa på att kvalitetshöja våra data. En annan sak som kan vara bra att känna till är att förvärvsomständigheterna är registrerade på samlingsnivå. Vill du veta vem som samlade in kniven 1900.25.0004 så måste du gå till samlingen 1900.25 för att få reda på att det var löjtnant C. J. W. Jochnick som kom över den under sin vistelse i Afrika vid Stanley Falls och senare i Lado vid Vita Nilen (nuvarande sydöstra Sudan).

>> Magnus Johansson jobbar med museisystemet Carlotta på Statens museer för världskultur


Osäkerhet

23 mars 2010

Vi har konstaterat att parametern/elementet dataQuality inte kan täcka både målgruppsdelning och osäkerhetsbeskrivning för data. Om vi låter parametern gälla målgrupper, dvs ange om datat är rått eller bearbetat så borde det finnas ett mellanalternativ egentligen. Ett normalvärde för data som inte är svårtillgängligt och till för forskare i första hand, men heller inte välputsat för vanligt folk.

När vi ska täcka in osäkerhetsbeskrivningen så gäller den ju olika vyer. Vi har en del landskapsspecifikationer som ”Up?”, dvs ”troligen Uppland” och osäkra tider som ”1934?”, dvs ”troligen/möjligen 1934”. Låt oss införa tre parametrar enligt följande:
timeCertainty=j/n
placeCertainty=j/n
actorCertainty=j/n


Litteratur/publikationer i K-samsök

18 mars 2010

I samarbete med Kungl. biblioteket testar vi just nu att skörda ett urval poster från Libris som nu är sökbara, bl a via Kringla. Det handlar initialt om drygt 350 000 objekt (endast svenska titlar) från följande ämnen:

  • Bg – Allmänna museer
  • Cm.0 – religonshistoria allmänt
  • Cm-b – religionshistoria Norden
  • Cm-c – religionhistoria sverige
  • Fbr – Indoeuropeiska språk allmänt (runstenar)
  • Ib – konsthistoria
  • Ic – arkitektur
  • Id – skulptur
  • Ie – målarkonst
  • Ih – konsthantverk
  • Jc – arkeologi Sverige
  • K. – allmänt historia
  • kb. – Norden allmänt
  • kt. – Allmän kulturhistoria
  • Nc – geografi och lokalhistoria Sverige

Notera att vi fortfarande testar vilket innebär att mappningen inte är helt klar och de valda ämnena är inte helt bestämda. Finns det andra ämnen som kan vara intressanta?

>> Johan Carlström är projektledare för K-samsök på Riksantikvarieämbetet.


Om att mappa och skörda Sockenbilder

16 mars 2010


Foto: Enångers Hembygdsförening

Att skörda från Sockenbilder var lite småklurigt då lokalnoden i K-samsök inte är byggd för att skörda den typen av system. Sockenbilder lagrar sin data i XML-filer och har en XML fil för varje hembygdsförening. För att överhuvud taget kunna skörda så bad vi Jan-Åke Malmkvist att slänga ihop en XML-fil där han för varje socken anger URL:en till varje XML-fil och sökvägen till vart bilderna ligger för varje hembygdsförening då detta inte anges i datat i XML-filerna.

För att göra det möjligt att skörda sockenbilder behövdes i stort 3 klasser. En adapter, som är den klass som står för mappningen av data och också är den klass som lokalnoden kommunicerar med när den vill ha data från Sockenbilder. Adaptern använder i sin tur sig av en sökklass för att hämta själva datan från Sockenbilder. Sen finns det i sin tur en böna som är byggd för att hålla den data som hämtas från sockenbilder.

När En skörd initieras så vill lokalnoden ha ett värde på antalet poster som finns att hämta. Eftersom det inte finns någon siffra på detta hos Sockenbilder som jag kommer åt lätt så löste jag detta genom att den vid första anropet läser in XML-filen med alla URL:er till Sockenbilders XML-filer med data. Därefter hämtar den i tur och ordning dessa XML-filer och låter en SAX parser tugga i sig dessa och räkna ihop hur många poster det finns totalt.

Nästa sak som måste fixas direkt i första anropet är att meddela hur många poster den får. Detta var den riktigt kluriga delen. I vanliga fall kan man ha ett fast värde på denna. Alltså att den exempelvis hämtar 500 poster åt gången. Men eftersom datat för Sockenbilder ligger i flera XML-filer så var tanken att hämta data från en fil i taget. Jag gjorde så att adaptern direkt i konstruktorn med hjälp av en metod i sökklassen hämtar en siffra på hur många poster nästa fil innehåller, alltså detta måste den kolla varje gång då varje ”batch” är olika stor. Detta tycktes till en början fungera mycket bra. Men som Murphys lag säger: ”If anything can go wrong, it will” och det var precis vad det gjorde! Vissa av de XML-filer som hämtades innehåller relativt stora mängder data. När denna klump med data kom till centralnoden så tyckte centralnoden att den hade för lite minne för att hantera den mängden data. Personligen tyckte jag att centralnoden var lite gnällig och borde skärpa till sig, men centralnoden var tydligen rätt bestämd på den punkten…

Så inte nog med att jag måste skörda från flera URL:er, vilket systemet inte är byggt för, jag måste även dela upp datamängder som inte har någon som helst möjlighet att läsa lite, skicka det, läsa lite till osv. Jag och Börje (Lewin) beslutade att vi kunde lösa detta genom att temporärt spara data som hämtades om det var så att den innehåll stora datamängder. Alltså om en XML-fil som hämtas från Sockenbilder innehåll fler än 1000 poster så skickar vi endast tillbaka 1000 poster. Resten sparar vi ner till en temp fil. När sen nästa bunt skall hämtas så kollar sök klassen först om det finns en temp-fil som innehåller sparat data. Om det gör detta så skiter den i att hämta data från nästa URL och läser istället in filen och tar 1000 nya poster från denna, om det finns 1000 det vill säga, annars tar den alla som återstår. Efter lite pill och fix så lyckades jag dock få denna metod att funka mycket bra dock.

Ett annat trevligt problem jag hade var att jag på något sätt måste veta vilken URL till sockenbilder som skall användas varje gång. Eftersom jag läser in resurs filen med URL:er till Sockenbilder i en bestämd ordning och lagrar dessa i en lista så tyckte jag att det borde funka att ha ett index som pekar på vilken som skall skördas och fixa så att detta index behåller sitt värde mellan sessioner. Detta är sån tur är inte ett stort problem i Java, vilket inte gjorde det till ett stort problem. Dock fick jag till en början en liten bugg som gjorde så att om en skörd av någon anledning avbröts så började skörden på fel ställe nästa gång. Detta löste jag dock genom att nollställa denna räknare om ”offset” var 0, vilket det endast är första gången.

Detta sammanfattar nog de relevanta problem jag hade vid implementerandet av detta. Låter inte så krångligt nu när jag skriver det men hjärnan jobbade på högvarv ett antal timmar för att lösa vissa av dessa problem.

Läs mer om Sockenbilder i K-blogg.

>> Henrik Hjalmarsson är systemutvecklare på Riksantikvarieämbetet och jobbar med K-samsök.


SOCH in English

12 februari 2010

The SOCH site is now translated into English. Visit http://www.kulturarvsdata.se and let me know if I messed anything up (its bound to happen eventually). If what you see resembles Swedish when its not supposed to, just refresh your browser to clear the cache.

And yes, the Flea toolbox for application developers is also translated. The detailed description of the SOCH (non-SRU) API will soon be available in English as well.


Version 0.99

03 februari 2010

Idag är det ett år sedan vi släppte lös beta-versionen. Och två år och några dagar sedan första initiativen till K-samsök. Nu lägger vi ut version 0.99. Vad som är nytt ser ni här:
http://kulturarvsdata.se/protokollversioner.html

Den stora nyheten är att vi har landat när det gäller licenshanteringen, även om det fortfarande kan bli ändringar i detaljerna i RDF-resursen.

mvh
Börje