Skip to content

fuge/mimir: use ntsf genres when importing records DEB-1950

Petter Goksøyr Åsen requested to merge DEB-1950 into master
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

Merge request reports