From 494881bb2430329de3883e194756e18a085fb01a Mon Sep 17 00:00:00 2001 From: rschalkrce <127215917+rschalkrce@users.noreply.github.com> Date: Fri, 15 Mar 2024 15:30:54 +0100 Subject: [PATCH] Add ied.rq queries (#1266) Replace poolparty.rq with ied.rq to exclude technical lists from search and lookup Co-authored-by: RubenSchalk --- .../catalog/datasets/ied.jsonld | 4 +- .../catalog/queries/lookup/ied.rq | 58 +++++++++++++++++++ .../catalog/queries/search/ied.rq | 54 +++++++++++++++++ 3 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 packages/network-of-terms-catalog/catalog/queries/lookup/ied.rq create mode 100644 packages/network-of-terms-catalog/catalog/queries/search/ied.rq diff --git a/packages/network-of-terms-catalog/catalog/datasets/ied.jsonld b/packages/network-of-terms-catalog/catalog/datasets/ied.jsonld index 722146e43..0c8ae4553 100644 --- a/packages/network-of-terms-catalog/catalog/datasets/ied.jsonld +++ b/packages/network-of-terms-catalog/catalog/datasets/ied.jsonld @@ -41,11 +41,11 @@ "potentialAction": [ { "@type": "SearchAction", - "query": "file://catalog/queries/search/poolparty.rq" + "query": "file://catalog/queries/search/ied.rq" }, { "@type": "FindAction", - "query": "file://catalog/queries/lookup/poolparty.rq" + "query": "file://catalog/queries/lookup/ied.rq" }, { "@type": "Action", diff --git a/packages/network-of-terms-catalog/catalog/queries/lookup/ied.rq b/packages/network-of-terms-catalog/catalog/queries/lookup/ied.rq new file mode 100644 index 000000000..753819475 --- /dev/null +++ b/packages/network-of-terms-catalog/catalog/queries/lookup/ied.rq @@ -0,0 +1,58 @@ +PREFIX skos: + +CONSTRUCT { + ?uri a skos:Concept ; + skos:prefLabel ?prefLabel ; + skos:altLabel ?altLabel ; + skos:hiddenLabel ?hiddenLabel ; + skos:scopeNote ?scopeNote ; + skos:broader ?broader_uri ; + skos:narrower ?narrower_uri ; + skos:exactMatch ?exactMatch_uri . + ?broader_uri skos:prefLabel ?broader_prefLabel . + ?narrower_uri skos:prefLabel ?narrower_prefLabel . +} +WHERE { + # For example: + # Concept: + # Event: + # Organization: + VALUES ?uri { ?uris } + + ?uri a skos:Concept . + + # Exclude terms from the 'Technische Lijsten', a concept scheme with terms that should only be used by NOB + FILTER NOT EXISTS { + ?uri skos:inScheme + } + OPTIONAL { + ?uri skos:prefLabel ?prefLabel . + FILTER(LANG(?prefLabel) = "nl") + } + OPTIONAL { + ?uri skos:altLabel ?altLabel . + FILTER(LANG(?altLabel) = "nl") + } + OPTIONAL { + ?uri skos:hiddenLabel ?hiddenLabel . + FILTER(LANG(?hiddenLabel) = "nl") + } + OPTIONAL { + ?uri skos:scopeNote ?scopeNote . + FILTER(LANG(?scopeNote) = "nl") + } + OPTIONAL { + ?uri skos:broader ?broader_uri . + ?broader_uri skos:prefLabel ?broader_prefLabel . + FILTER(LANG(?broader_prefLabel) = "nl") + } + OPTIONAL { + ?uri skos:narrower ?narrower_uri . + ?narrower_uri skos:prefLabel ?narrower_prefLabel . + FILTER(LANG(?narrower_prefLabel) = "nl") + } + OPTIONAL { + ?uri skos:exactMatch ?exactMatch_uri . # Has no labels. + } +} +LIMIT 1000 \ No newline at end of file diff --git a/packages/network-of-terms-catalog/catalog/queries/search/ied.rq b/packages/network-of-terms-catalog/catalog/queries/search/ied.rq new file mode 100644 index 000000000..d0333cab6 --- /dev/null +++ b/packages/network-of-terms-catalog/catalog/queries/search/ied.rq @@ -0,0 +1,54 @@ +PREFIX skos: + +CONSTRUCT { + ?uri a skos:Concept ; + skos:prefLabel ?prefLabel ; + skos:altLabel ?altLabel ; + skos:hiddenLabel ?hiddenLabel ; + skos:scopeNote ?scopeNote ; + skos:broader ?broader_uri ; + skos:narrower ?narrower_uri ; + skos:exactMatch ?exactMatch_uri . + ?broader_uri skos:prefLabel ?broader_prefLabel . + ?narrower_uri skos:prefLabel ?narrower_prefLabel . +} +WHERE { + ?uri ?predicate ?label . + # Exclude terms from the 'Technische Lijsten', a concept scheme with terms that should only be used by NOB + FILTER NOT EXISTS { + ?uri skos:inScheme + } + VALUES ?predicate { skos:prefLabel skos:altLabel } + FILTER(LANG(?label) = "nl") + FILTER(CONTAINS(LCASE(?label), LCASE(?query))) + OPTIONAL { + ?uri skos:prefLabel ?prefLabel . + FILTER(LANG(?prefLabel) = "nl" ) + } + OPTIONAL { + ?uri skos:scopeNote ?scopeNote . + FILTER(LANG(?scopeNote) = "nl") + } + OPTIONAL { + ?uri skos:altLabel ?altLabel . + FILTER(LANG(?altLabel) = "nl") + } + OPTIONAL { + ?uri skos:hiddenLabel ?hiddenLabel . + FILTER(LANG(?hiddenLabel) = "nl") + } + OPTIONAL { + ?uri skos:broader ?broader_uri . + ?broader_uri skos:prefLabel ?broader_prefLabel . + FILTER(LANG(?broader_prefLabel) = "nl") + } + OPTIONAL { + ?uri skos:narrower ?narrower_uri . + ?narrower_uri skos:prefLabel ?narrower_prefLabel . + FILTER(LANG(?narrower_prefLabel) = "nl") + } + OPTIONAL { + ?uri skos:exactMatch ?exactMatch_uri . # Has no labels. + } +} +LIMIT 1000