diff --git a/packages/network-of-terms-catalog/catalog/datasets/bag.jsonld b/packages/network-of-terms-catalog/catalog/datasets/bag.jsonld new file mode 100644 index 000000000..b69e3c7a0 --- /dev/null +++ b/packages/network-of-terms-catalog/catalog/datasets/bag.jsonld @@ -0,0 +1,60 @@ +{ + "@context": "https://schema.org/docs/jsonldcontext.jsonld", + "@id": "https://www.kadaster.nl/bag", + "@type": "Dataset", + "name": [ + { + "@language": "nl", + "@value": "Basisregistratie Adressen en Gebouwen" + } + ], + "alternateName": [ + { + "@language": "nl", + "@value": "BAG" + } + ], + "creator": [ + { + "@id": "https://www.kadaster.nl" + } + ], + "url": [ + "https://data.labs.kadaster.nl/kadaster/kg/id/place/" + ], + "description": [ + { + "@language": "nl", + "@value": "Gegevens van alle adressen en gebouwen in Nederland, zoals bouwjaar, oppervlakte, gebruiksdoel en locatie" + } + ], + "distribution": [ + { + "@id": "https://data.labs.kadaster.nl/kadaster/kg/graphs/bag-pand", + "@type": "DataDownload", + "contentUrl": "https://api.labs.kadaster.nl/datasets/kadaster/kg/services/default/sparql", + "encodingFormat": "application/sparql-query", + "potentialAction": [ + { + "@type": "SearchAction", + "query": "file://catalog/queries/search/bag.rq" + }, + { + "@type": "FindAction", + "query": "file://catalog/queries/lookup/bag.rq" + }, + { + "@type": "Action", + "target": { + "@type": "EntryPoint", + "actionApplication": { + "@id": "https://reconciliation-api.github.io/specs/latest/", + "@type": "SoftwareApplication" + }, + "urlTemplate": "https://termennetwerk-api.netwerkdigitaalerfgoed.nl/reconcile/{distribution}" + } + } + ] + } + ] +} diff --git a/packages/network-of-terms-catalog/catalog/publishers.jsonld b/packages/network-of-terms-catalog/catalog/publishers.jsonld index f7f4adfc6..5540f6d12 100644 --- a/packages/network-of-terms-catalog/catalog/publishers.jsonld +++ b/packages/network-of-terms-catalog/catalog/publishers.jsonld @@ -90,6 +90,12 @@ "@type": "Organization", "name": "IHLIA", "alternateName": "IHLIA" + }, + { + "@id": "https://www.kadaster.nl", + "@type": "Organization", + "name": "Kadaster", + "alternateName": "Kadaster" } ] } diff --git a/packages/network-of-terms-catalog/catalog/queries/lookup/bag.rq b/packages/network-of-terms-catalog/catalog/queries/lookup/bag.rq new file mode 100644 index 000000000..62cba97cc --- /dev/null +++ b/packages/network-of-terms-catalog/catalog/queries/lookup/bag.rq @@ -0,0 +1,31 @@ +PREFIX bif: +PREFIX skos: +PREFIX schema: + +CONSTRUCT { + ?uri a skos:Concept ; + skos:prefLabel ?prefLabel ; + skos:scopeNote ?scopeNote ; + skos:broader ?broader_uri . + ?broader_uri skos:prefLabel ?broader_prefLabel . +} +WHERE { + VALUES ?uri { ?uris } + + GRAPH { + ?uri a schema:Place ; + schema:name ?prefLabel ; + schema:floorSize ?floorSize ; + schema:dateCreated ?dateCreated . + + OPTIONAL { + ?uri schema:containedInPlace ?broader_uri . + GRAPH { + ?broader_uri schema:name ?broader_prefLabel . + } + } + + BIND(CONCAT("Bouwjaar ", YEAR(?dateCreated), ", oppervlakte ", ?floorSize, " m²") AS ?scopeNote) + } +} +LIMIT 1000 diff --git a/packages/network-of-terms-catalog/catalog/queries/search/bag.rq b/packages/network-of-terms-catalog/catalog/queries/search/bag.rq new file mode 100644 index 000000000..9bf5689d5 --- /dev/null +++ b/packages/network-of-terms-catalog/catalog/queries/search/bag.rq @@ -0,0 +1,30 @@ +PREFIX bif: +PREFIX skos: +PREFIX schema: + +CONSTRUCT { + ?uri a skos:Concept ; + skos:prefLabel ?prefLabel ; + skos:scopeNote ?scopeNote ; + skos:broader ?broader_uri . + ?broader_uri skos:prefLabel ?broader_prefLabel . +} +WHERE { + GRAPH { + ?uri a schema:Place ; + schema:name ?prefLabel ; + schema:floorSize ?floorSize ; + schema:dateCreated ?dateCreated . + ?prefLabel ?virtuosoQuery . + + OPTIONAL { + ?uri schema:containedInPlace ?broader_uri . + GRAPH { + ?broader_uri schema:name ?broader_prefLabel . + } + } + + BIND(CONCAT("Bouwjaar ", YEAR(?dateCreated), ", oppervlakte ", ?floorSize, " m²") AS ?scopeNote) + } +} +LIMIT 1000