Åpne data fra universitetsmuseenes samlinger

Med unntak av bilder legges samlingene ut i henhold til Creative Commons-lisensen Navngivelse-DelPåSammeVilkår CC BY-SA 3.0. Museet som eier samlingen skal navngis. Når det gjelder bilder skal fotograf alltid oppgis. I de tilfeller hvor navn på fotograf ikke er registrert, skal museum oppgis. For bilder gjelder i utgangspunktet Navngivelse-Ikkekommersiell-IngenBearbeidelse 3.0 Norge (CC BY-NC-ND 3.0). I noen tilfeller kan det være andre lisenser som gjelder, men det vil da framgå av dataene som lastes ned.

Merk videre at det er mulig å bestille høyoppløste kvalitetsbilder fra museene utover de som foreligger som åpne data. Kostnadene må da dekkes av bestiller. Kontakt gjeldende museum for avtale om pris og levering.

Alle datasettene oppdateres i utgangspunktet én gang per uke.

Kulturhistorie

Universitestmuseenes kulturhistoriske samlinger legges ut som åpne data i JSON- og XML-format og i noen tilfeller som enkle HTML-sider. Vi jobber med å standardisere navnene på informasjonselementene, men foreløpig er det slik at dataene kommer ut kapslet inn med de elementnavnene (taggene/ feltnavnene) de har i de forskjellige databasene.

Følgende datasett er gjort tilgjengelig gjennom enkle søk/ uttrekk:

For noen av samlingene gjelder det at man må oppgi enten museum eller annen informasjon for å lenke til/ hente ut enkeltobjekt i samlingene. Merk at hvis man henter ut store delsamlinger eller søker på veldig generelle ord, vil man kunne oppleve at det tar noe tid å hente ut alt materialet og at det kan bli store datamengder som lastes ned. Av samme grunn er det satt en grense på antall objekt man kan hente ut i én spørring.

Arkeologi

Man kan per i dag enten lenke til én bestemt gjenstandspost eller hente ut/ søke opp gjenstandsposter basert på fylkesnummer og/ eller kommunenummer. Det er også laget en generell søkemulighet (mer om dette datasettet nedenfor).

Lenke til én bestemt gjenstandspost ved Tromsø Museum – Universitetsmuseet (TMU):
http://www.unimus.no/artefacts/tmu/2345/?f=json / http://www.unimus.no/artefacts/tmu/2345.xml

Hente ut alle gjenstander fra Bø kommune i Nordland i XML-format:
http://www.unimus.no/artefacts/search/?q=&municipalitynumber=1867&f=xml

Hente ut alle gjenstander fra Aust-Agder i JSON-format:
http://www.unimus.no/artefacts/search/?q=&countynumber=09&f=json

Søke/ Hente ut gjenstandsposter hvor ordet 'slire' forekommer i XML-format:
http://www.unimus.no/artefacts/search/?q=slire&f=xml

Søke/ Hente ut gjenstandsposter ved Arkeologisk museum (AM) hvor ordet 'bøtte' forekommer i HTML-format:
http://www.unimus.no/artefacts/search/?q=bøtte&f=html&museum=am

Mynt og medaljer

Museenes numismatiske samlinger ligger samlet i en database, så her trenger man ikke spesifisere museum for å hente ut ett bestemt objekt.

Lenke til én bestemt gjenstandspost i XML-format:
http://www.unimus.no/numismatica/1000675.xml

Hente ut/ Søke etter objekt hvor ordet 'keiser' forkommer i XML-format:
http://www.unimus.no/numismatica/search/?q=keiser&type=medal&f=xml

Hente ut/ Søke etter kun mynt hvor ordet 'keiser' forkommer i XML-format (velg mellom 'coin' og 'medal'):
http://www.unimus.no/numismatica/search/?q=keiser&type=medal&f=xml&artefacttype=coin

Hente ut/ Søke etter medaljer hvor ordet 'keiser' forkommer i HTML-format:
http://www.unimus.no/numismatica/search/?q=keiser&type=medal&f=html&artefacttype=medal

Foto

Lenke til ett bestemt bilde ved Kulturhistorisk museum (KHM) i JSON-format:
http://www.unimus.no/photos/khm/56990

Hente ut/ Søke etter bilder fra KHM hvor ordet 'kvinner' forekommer (i JSON-format):
http://www.unimus.no/photos/khm/search/?q=kvinner

Hente ut/ Søke etter bilder hvor ordet 'båter' forekommer i HTML-format:
http://www.unimus.no/photos/khm/search/?q=båter&f=html

Naturhistorie

De naturhistoriske datasettene er lagt ut i CSV-format (Darwin Core). Det er de samme datasettene som høstes av GBiF og Artskart. Disse finner man her: http://www.unimus.no/nedlasting/datasett/

Forkortelser


Mer om arkeologi-dataene

Som beskrevet ovenfor kan man hente ut de kulturhistoriske dataene som XML, JSON (default) eller HTML. I beskrivelsen som følger brukes XML-formatet som eksempel.

De fleste av elementene skulle være mer eller mindre selvforklarende (<CadastralName> er brukt om navn på gård). <PhotoId> inneholder en lenke til et bilde av gjenstanden. Man kan velge mellom tre størrelser på bildet: &type=thumb / small / jpeg. Merk at det kan forekomme flere og andre element enn de som er vist her.

Gjenstanden/Posten nedenfor kan hentes ut slik: http://www.unimus.no/artefacts/khm/51981/?f=xml. Museet (khm) må være med for å gjøre id'en unik. HTML-versjonen (http://www.unimus.no/artefacts/khm/51981/?f=html) vil vise et kartutsnitt basert på koordinatene.

<searchRetrieveResponse>
<numberOfRecords>1</numberOfRecords> [antall treff]
 <MusitEntities>
  <Entity id="51981">
   <MuseumNo>C33570</MuseumNo>
   <Artefact>tyngde</Artefact>
   <County>Akershus</County>
   <CountyNo>02</CountyNo>
   <Municipality>Eidsvoll</Municipality>
   <MunicipalityNo>0237</MunicipalityNo>
   <Period>yngre jernalder</Period>
   <Form>Kljåstein</Form>
   <Material>kleber</Material>
   <CadastralName>ELSTAD ØSTRE</CadastralName>
   <CadastralNo>15</CadastralNo>
   <UTMZone>33</UTMZone>
   <Projection>WGS84</Projection>
   <UTMEast>294917</UTMEast>
   <UTMNorth>6694241</UTMNorth>
   <Latitude>60.3326999992132</Latitude>
   <Longitude>11.2845000000671</Longitude>
   <CoordinatePrecision>Funnsted (lokalitet)</CoordinatePrecision>
   <Photos>
    <Photo>
     <PhotoId>http://www.musit.uio.no/webtjenester/bilder/web_hent_bilde.php?id=8553092&type=small</PhotoId>
     <Photographer>Hjort-Sørensen, Ørnulf</Photographer>
     <CCLicense>CC BY-NC 3.0</CCLicense>
    </Photo>
   </Photos>
   <LocationId>76722</LocationId>
   <Museum>Kulturhistorisk museum, Oslo</Museum>
  </Entity>
 </MusitEntities>
<recordPosition>0</recordPosition> [gjeldende posisjon]
<nextRecordPosition>-1</nextRecordPosition> [neste post ved blaing; -1 = ingen flere poster]
</searchRetrieveResponse>

Mer om APIet

APIet gjenkjenner følgende argument/parametere:

Eksempler på søk

JSON, NB!

JSON-dataene fra våre API-er blir automatisk generert fra XML-kodet versjon av dataene. Derfor blir ikke JSON-strukturene helt slik som man helst vil ha dem (ettersom det er umulig å automatisk lage god JSON fra XML uten informasjon på skjema-/metanivå). Elementer som typisk er å se på som arrays, f.eks. MusitEntities ovenfor, vil ha litt forskjellig substruktur avhengig av om "arrayet" har ett element eller flere. Om det har ett element, vil vi få:

"MusitEntities": { "Entity": { ...attributter_objekt1... }}

Hvis det er flere enn ett element får vi:

"MusitEntities":{"Entity":[{...attributter_objekt1...}, {...attributter_objekt2...}, ...]}

Dvs at Entity vil være det ene objektet dersom svaret har ett element, mens Entity vil være en array av elementer dersom det er mer enn ett svarelement.
Enten kan man ta høyde for dette ved ad-hoc håndtering der det behøves, eller man kan gjøre en transformasjon av dataene rett etter mottak av disse.
Vi anbefaler å transformere dataene over på en mer hensiktsmessig struktur før man begynner å bruke dem.

Ideelt sett vil man trolig helst ha følgende struktur:

"MusitEntities": [{...attributter_objekt1...}, {...attributter_objekt2...}, ...]

For å få denne strukturen kan man bruke følgende prosedyre som modifiserer/muterer strukturen:

         function JSONFixArrays(i_object, i_collectionPropertyName, i_singleElementPropertyName) {
            if (i_collectionPropertyName in i_object) {
                var l_value = i_object[i_collectionPropertyName];
                if (!Array.isArray(l_value)) {
                    if (i_singleElementPropertyName in l_value) {
                        var l_singleElementValue = l_value[i_singleElementPropertyName];
                        if (Array.isArray(l_singleElementValue)) {
                            i_object[i_collectionPropertyName] = l_singleElementValue;
                        } else {
                            i_object[i_collectionPropertyName] = [l_singleElementValue];
                        }
                    } else {
                        i_object[i_collectionPropertyName] = [];
                    }
                }
            } else {
                i_object[i_collectionPropertyName] = [];
            }
        };

            
og gjøre kallet:

JSONFixArrays(svarJSON, "MusitEntities", "Entity");

(gitt at svarJSON inneholder original json-struktur)