-
-
Save carwash/63d7bd067eb0802ab278cf018f444a2e to your computer and use it in GitHub Desktop.
Detta är ett ganska minimalt exempel på användning av SOCH
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Detta är ett ganska minimalt exempel på användning av SOCH | |
// Notera att det saknas felhantering vid HTTP fel | |
// Notera även att sochSearch() inte stödjer paginering och att den använder presentationsformatet | |
// Det går att klistra in detta exempel direkt i webbläsarens konsol | |
// Det går inte att göra frågor från andra HTTPS resurser | |
// API-nyckel | |
const apiKey = 'test'; | |
// hjälp funktion för att göra http frågor och parsa JSON | |
const fetchSoch = async (url) => await (await fetch(url, { headers: new Headers({ 'Accept': 'application/json' }) })).json(); | |
// funktion för att göra en enkel sökning | |
const sochSearch = async (query) => { | |
const json = await fetchSoch(`http://kulturarvsdata.se/ksamsok/api?x-api=${apiKey}&method=search&query=${query}&recordSchema=presentation`); | |
return json.result.records.record.map(r => r['pres:item']); | |
} | |
// Hämta ett object via en URI (JSON-LD) | |
fetchSoch('http://kulturarvsdata.se/raa/bbrp/21620000011565').then(data => { | |
// snyggt fint JavaScript object | |
console.log(data); | |
}).catch(reason => { | |
// nätverksfel av någon typ | |
console.error(reason.message); | |
}); | |
// genomför en sökning efter "runsten" | |
// här kan du också skriva CQL frågor (item="sten yxa" AND place=gotland) | |
sochSearch('runsten').then(data => { | |
// snygg fin JavaScript array med listade object | |
console.log(data); | |
}).catch(reason => { | |
// nätverksfel av någon typ | |
console.error(reason.message); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment