fuge/mimir: use ntsf genres when importing records DEB-1950
migrations:
curl -L --output ntsf.ttl https://www.nb.no/nbvok/rest/v1/ntsf/data?format=text/turtle
DELETE FROM DB.DBA.load_list;
ld_dir('/data/dumps', 'ntsf.ttl', 'ntsf');
rdf_loader_run();
PREFIX : <http://data.deichman.no/ontology#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
INSERT INTO <https://katalog.deichman.no> {
?g a :Genre ;
:prefLabel ?prefLabelStr ;
:alternativeName ?altLabelStr ;
:nonpublicDescription ?defStr ;
skos:narrower ?narrower ;
skos:broader ?broader ;
skos:related ?related ;
:importedFromNTSF true ;
:created ?created ;
:modified ?now .
}
WHERE {
GRAPH <ntsf> {
?r a skos:Concept ; skos:prefLabel ?prefLabel .
FILTER NOT EXISTS { ?r owl:deprecated true }
FILTER (lang(?prefLabel) = "nb")
BIND(CONCAT(str(?prefLabel), " (NTSF)") AS ?prefLabelStr)
BIND(URI(REPLACE(str(?r), "https://id.nb.no/vocabulary/ntsf/", "http://data.deichman.no/genre/ntsf")) AS ?g)
OPTIONAL {
?r skos:altLabel ?altLabel
FILTER (lang(?altLabel) = "nb")
BIND(str(?altLabel) AS ?altLabelStr)
}
OPTIONAL {
?r skos:definition ?def
FILTER (lang(?def) = "nb")
BIND(strdt(?def, rdf:HTML) AS ?defStr)
}
OPTIONAL { ?r skos:narrower ?narrower }
OPTIONAL { ?r skos:broader ?broader }
OPTIONAL { ?r skos:related ?related }
OPTIONAL { ?r dct:created ?created }
BIND(now() AS ?now)
}
}
Edited by Petter Goksøyr Åsen