@netwerk-digitaal-erfgoed/network-of-terms-catalog 5.6.6 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,20 +1,29 @@
1
1
  # Network of Terms Catalog
2
2
 
3
- This is the catalog of datasets that you can query through the
3
+ This is the catalog of terminology sources that can be queried through the
4
4
  [Network of Terms](https://github.com/netwerk-digitaal-erfgoed/network-of-terms).
5
5
 
6
- The [catalog](catalog/) directory contains all datasets.
7
- Each is described in the [Schema.org](https://schema.org) ontology.
6
+ ## Data model
8
7
 
9
- The [queries](catalog/queries/) directory contains SPARQL queries for retrieving terms from the datasets.
8
+ Each terminology source is modelled as a [Schema.org Dataset](https://schema.org/Dataset). The [catalog](catalog)
9
+ directory contains all datasets.
10
10
 
11
- ## Installation
11
+ Most of the dataset’s properties match the
12
+ [NDE Requirements for Datasets](https://netwerk-digitaal-erfgoed.github.io/requirements-datasets), with the following
13
+ additions specific to the Network of Terms:
12
14
 
13
- This package is [available on NPM](https://www.npmjs.com/package/@netwerk-digitaal-erfgoed/network-of-terms-catalog):
15
+ - `schema:url` is used for the HTTP URI prefix of terms in the dataset, e.g. `http://vocab.getty.edu/aat/` for Getty
16
+ resources. This prefix is needed when clients look up terms by their URI in the Network of Terms: the Network then has
17
+ to know which source to consult to retrieve the term.
18
+ - Each distribution has two [`schema:potentialAction`](https://schema.org/potentialAction)s: a
19
+ [`schema:SearchAction`](https://schema.org/SearchAction) and a [`schema:FindAction`](https://schema.org/FindAction),
20
+ both with a [`schema:query`](https://schema.org/query) property that points to the queries directory.
14
21
 
15
- ```
16
- npm add @netwerk-digitaal-erfgoed/network-of-terms-catalog
17
- ```
22
+ The [queries](catalog/queries) directory contains SPARQL queries for retrieving terms from the datasets. There are
23
+ two types of queries:
24
+
25
+ - [search queries](catalog/queries/search) find terms matching a textual string query input;
26
+ - [lookup queries](catalog/queries/lookup) retrieve a single term based on its URI.
18
27
 
19
28
  ## Contributing
20
29
 
@@ -23,17 +32,7 @@ npm add @netwerk-digitaal-erfgoed/network-of-terms-catalog
23
32
  * Create a `your-dataset.jsonld` file in the `catalog/` directory and add a description.
24
33
  * Create a `your-dataset.rq` file in the `queries/search` directory and add your SPARQL search query. A SPARQL
25
34
  lookup goes into the `queries/lookup` directory.
26
- * Run the tests to make sure your dataset description conforms to the [dataset SHACL](shacl/dataset.jsonld):
27
- ```
28
- npm install
29
- npm run test
30
- ```
31
-
32
- ### Committing changes
33
-
34
- This repository follows [Semantic Versioning](https://semver.org). Tags and
35
- [releases](https://github.com/netwerk-digitaal-erfgoed/network-of-terms-catalog/releases) are
36
- [created automatically](https://github.com/netwerk-digitaal-erfgoed/network-of-terms-catalog/blob/master/.github/workflows/release.yml)
37
- based on commit messages.
38
- So please make sure to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/#summary)
39
- when committing changes.
35
+ * [Run the tests](../../docs/tests.md) to make sure your dataset description conforms to the
36
+ [dataset SHACL](shacl/dataset.jsonld).
37
+ * To try your queries locally, you can
38
+ [run the GraphQL API](../network-of-terms-graphql/README.md#for-network-of-terms-developers) with your catalog.
package/build/catalog.js CHANGED
@@ -3,7 +3,7 @@ import rdfParser from 'rdf-parse';
3
3
  import { newEngine } from '@comunica/actor-init-sparql-rdfjs';
4
4
  import { Transform } from 'stream';
5
5
  import { resolve, dirname } from 'path';
6
- import globby from 'globby';
6
+ import { globby } from 'globby';
7
7
  import { storeStream } from 'rdf-store-stream';
8
8
  import { Catalog, Dataset, IRI, Organization, SparqlDistribution, } from '@netwerk-digitaal-erfgoed/network-of-terms-query';
9
9
  import { fileURLToPath } from 'url';
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ {
2
+ "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
+ "@id": "http://data.beeldengeluid.nl/gtaa/Classificatie",
4
+ "@type": "Dataset",
5
+ "name": [
6
+ {
7
+ "@language": "nl",
8
+ "@value": "GTAA: classificatie"
9
+ }
10
+ ],
11
+ "creator": [
12
+ {
13
+ "@id": "https://www.beeldengeluid.nl/"
14
+ }
15
+ ],
16
+ "url": [
17
+ "http://data.beeldengeluid.nl/gtaa/"
18
+ ],
19
+ "distribution": [
20
+ {
21
+ "@id": "https://data.beeldengeluid.nl/id/datadownload/0027",
22
+ "@type": "DataDownload",
23
+ "contentUrl": "https://gtaa.apis.beeldengeluid.nl/sparql",
24
+ "encodingFormat": "application/sparql-query",
25
+ "potentialAction": [
26
+ {
27
+ "@type": "SearchAction",
28
+ "query": "file://catalog/queries/search/gtaa.rq"
29
+ },
30
+ {
31
+ "@type": "FindAction",
32
+ "query": "file://catalog/queries/lookup/gtaa.rq"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -1,37 +1,37 @@
1
- {
2
- "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
- "@id": "http://data.beeldengeluid.nl/gtaa#genres",
4
- "@type": "Dataset",
5
- "name": [
6
- {
7
- "@language": "nl",
8
- "@value": "GTAA: genres"
9
- }
10
- ],
11
- "creator": [
12
- {
13
- "@id": "https://www.beeldengeluid.nl/"
14
- }
15
- ],
16
- "url": [
17
- "http://data.beeldengeluid.nl/gtaa/"
18
- ],
19
- "distribution": [
20
- {
21
- "@id": "https://data.netwerkdigitaalerfgoed.nl/beeldengeluid/gtaa-genres/sparql",
22
- "@type": "DataDownload",
23
- "contentUrl": "https://api.data.netwerkdigitaalerfgoed.nl/datasets/beeldengeluid/gtaa-genres/services/gtaa-genres/sparql",
24
- "encodingFormat": "application/sparql-query",
25
- "potentialAction": [
26
- {
27
- "@type": "SearchAction",
28
- "query": "file://catalog/queries/search/gtaa.rq"
29
- },
30
- {
31
- "@type": "FindAction",
32
- "query": "file://catalog/queries/lookup/gtaa.rq"
33
- }
34
- ]
35
- }
36
- ]
37
- }
1
+ {
2
+ "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
+ "@id": "http://data.beeldengeluid.nl/gtaa/Genre",
4
+ "@type": "Dataset",
5
+ "name": [
6
+ {
7
+ "@language": "nl",
8
+ "@value": "GTAA: genres"
9
+ }
10
+ ],
11
+ "creator": [
12
+ {
13
+ "@id": "https://www.beeldengeluid.nl/"
14
+ }
15
+ ],
16
+ "url": [
17
+ "http://data.beeldengeluid.nl/gtaa/"
18
+ ],
19
+ "distribution": [
20
+ {
21
+ "@id": "https://data.beeldengeluid.nl/id/datadownload/0028",
22
+ "@type": "DataDownload",
23
+ "contentUrl": "https://gtaa.apis.beeldengeluid.nl/sparql",
24
+ "encodingFormat": "application/sparql-query",
25
+ "potentialAction": [
26
+ {
27
+ "@type": "SearchAction",
28
+ "query": "file://catalog/queries/search/gtaa.rq"
29
+ },
30
+ {
31
+ "@type": "FindAction",
32
+ "query": "file://catalog/queries/lookup/gtaa.rq"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -1,37 +1,37 @@
1
- {
2
- "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
- "@id": "http://data.beeldengeluid.nl/gtaa#geografische-namen",
4
- "@type": "Dataset",
5
- "name": [
6
- {
7
- "@language": "nl",
8
- "@value": "GTAA: geografische namen"
9
- }
10
- ],
11
- "creator": [
12
- {
13
- "@id": "https://www.beeldengeluid.nl/"
14
- }
15
- ],
16
- "url": [
17
- "http://data.beeldengeluid.nl/gtaa/"
18
- ],
19
- "distribution": [
20
- {
21
- "@id": "https://data.netwerkdigitaalerfgoed.nl/beeldengeluid/gtaa-geografischenamen/sparql",
22
- "@type": "DataDownload",
23
- "contentUrl": "https://api.data.netwerkdigitaalerfgoed.nl/datasets/beeldengeluid/gtaa-geografischenamen/services/gtaa-geografischenamen/sparql",
24
- "encodingFormat": "application/sparql-query",
25
- "potentialAction": [
26
- {
27
- "@type": "SearchAction",
28
- "query": "file://catalog/queries/search/gtaa.rq"
29
- },
30
- {
31
- "@type": "FindAction",
32
- "query": "file://catalog/queries/lookup/gtaa.rq"
33
- }
34
- ]
35
- }
36
- ]
37
- }
1
+ {
2
+ "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
+ "@id": "http://data.beeldengeluid.nl/gtaa/GeografischeNamen",
4
+ "@type": "Dataset",
5
+ "name": [
6
+ {
7
+ "@language": "nl",
8
+ "@value": "GTAA: geografische namen"
9
+ }
10
+ ],
11
+ "creator": [
12
+ {
13
+ "@id": "https://www.beeldengeluid.nl/"
14
+ }
15
+ ],
16
+ "url": [
17
+ "http://data.beeldengeluid.nl/gtaa/"
18
+ ],
19
+ "distribution": [
20
+ {
21
+ "@id": "https://data.beeldengeluid.nl/id/datadownload/0029",
22
+ "@type": "DataDownload",
23
+ "contentUrl": "https://gtaa.apis.beeldengeluid.nl/sparql",
24
+ "encodingFormat": "application/sparql-query",
25
+ "potentialAction": [
26
+ {
27
+ "@type": "SearchAction",
28
+ "query": "file://catalog/queries/search/gtaa.rq"
29
+ },
30
+ {
31
+ "@type": "FindAction",
32
+ "query": "file://catalog/queries/lookup/gtaa.rq"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
+ "@id": "http://data.beeldengeluid.nl/gtaa/Namen",
4
+ "@type": "Dataset",
5
+ "name": [
6
+ {
7
+ "@language": "nl",
8
+ "@value": "GTAA: namen"
9
+ }
10
+ ],
11
+ "creator": [
12
+ {
13
+ "@id": "https://www.beeldengeluid.nl/"
14
+ }
15
+ ],
16
+ "url": [
17
+ "http://data.beeldengeluid.nl/gtaa"
18
+ ],
19
+ "distribution": [
20
+ {
21
+ "@id": "https://data.beeldengeluid.nl/id/datadownload/0030",
22
+ "@type": "DataDownload",
23
+ "contentUrl": "https://gtaa.apis.beeldengeluid.nl/sparql",
24
+ "encodingFormat": "application/sparql-query",
25
+ "potentialAction": [
26
+ {
27
+ "@type": "SearchAction",
28
+ "query": "file://catalog/queries/search/gtaa.rq"
29
+ },
30
+ {
31
+ "@type": "FindAction",
32
+ "query": "file://catalog/queries/lookup/gtaa.rq"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
+ "@id": "http://data.beeldengeluid.nl/gtaa/OnderwerpenBenG",
4
+ "@type": "Dataset",
5
+ "name": [
6
+ {
7
+ "@language": "nl",
8
+ "@value": "GTAA: onderwerpen beeld-geluid"
9
+ }
10
+ ],
11
+ "creator": [
12
+ {
13
+ "@id": "https://www.beeldengeluid.nl/"
14
+ }
15
+ ],
16
+ "url": [
17
+ "http://data.beeldengeluid.nl/gtaa/"
18
+ ],
19
+ "distribution": [
20
+ {
21
+ "@id": "https://data.beeldengeluid.nl/id/datadownload/0032",
22
+ "@type": "DataDownload",
23
+ "contentUrl": "https://gtaa.apis.beeldengeluid.nl/sparql",
24
+ "encodingFormat": "application/sparql-query",
25
+ "potentialAction": [
26
+ {
27
+ "@type": "SearchAction",
28
+ "query": "file://catalog/queries/search/gtaa.rq"
29
+ },
30
+ {
31
+ "@type": "FindAction",
32
+ "query": "file://catalog/queries/lookup/gtaa.rq"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -1,37 +1,37 @@
1
- {
2
- "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
- "@id": "http://data.beeldengeluid.nl/gtaa#onderwerpen",
4
- "@type": "Dataset",
5
- "name": [
6
- {
7
- "@language": "nl",
8
- "@value": "GTAA: onderwerpen"
9
- }
10
- ],
11
- "creator": [
12
- {
13
- "@id": "https://www.beeldengeluid.nl/"
14
- }
15
- ],
16
- "url": [
17
- "http://data.beeldengeluid.nl/gtaa/"
18
- ],
19
- "distribution": [
20
- {
21
- "@id": "https://data.netwerkdigitaalerfgoed.nl/beeldengeluid/gtaa-onderwerpen/sparql",
22
- "@type": "DataDownload",
23
- "contentUrl": "https://api.data.netwerkdigitaalerfgoed.nl/datasets/beeldengeluid/gtaa-onderwerpen/services/gtaa-onderwerpen/sparql",
24
- "encodingFormat": "application/sparql-query",
25
- "potentialAction": [
26
- {
27
- "@type": "SearchAction",
28
- "query": "file://catalog/queries/search/gtaa.rq"
29
- },
30
- {
31
- "@type": "FindAction",
32
- "query": "file://catalog/queries/lookup/gtaa.rq"
33
- }
34
- ]
35
- }
36
- ]
37
- }
1
+ {
2
+ "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
+ "@id": "http://data.beeldengeluid.nl/gtaa/Onderwerpen",
4
+ "@type": "Dataset",
5
+ "name": [
6
+ {
7
+ "@language": "nl",
8
+ "@value": "GTAA: onderwerpen"
9
+ }
10
+ ],
11
+ "creator": [
12
+ {
13
+ "@id": "https://www.beeldengeluid.nl/"
14
+ }
15
+ ],
16
+ "url": [
17
+ "http://data.beeldengeluid.nl/gtaa/"
18
+ ],
19
+ "distribution": [
20
+ {
21
+ "@id": "https://data.beeldengeluid.nl/id/datadownload/0031",
22
+ "@type": "DataDownload",
23
+ "contentUrl": "https://gtaa.apis.beeldengeluid.nl/sparql",
24
+ "encodingFormat": "application/sparql-query",
25
+ "potentialAction": [
26
+ {
27
+ "@type": "SearchAction",
28
+ "query": "file://catalog/queries/search/gtaa.rq"
29
+ },
30
+ {
31
+ "@type": "FindAction",
32
+ "query": "file://catalog/queries/lookup/gtaa.rq"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "@context": "https://schema.org/docs/jsonldcontext.jsonld",
3
+ "@id": "http://data.beeldengeluid.nl/gtaa/Persoonsnamen",
4
+ "@type": "Dataset",
5
+ "name": [
6
+ {
7
+ "@language": "nl",
8
+ "@value": "GTAA: persoonsnamen"
9
+ }
10
+ ],
11
+ "creator": [
12
+ {
13
+ "@id": "https://www.beeldengeluid.nl/"
14
+ }
15
+ ],
16
+ "url": [
17
+ "http://data.beeldengeluid.nl/gtaa/"
18
+ ],
19
+ "distribution": [
20
+ {
21
+ "@id": "https://data.beeldengeluid.nl/id/datadownload/0026",
22
+ "@type": "DataDownload",
23
+ "contentUrl": "https://gtaa.apis.beeldengeluid.nl/sparql",
24
+ "encodingFormat": "application/sparql-query",
25
+ "potentialAction": [
26
+ {
27
+ "@type": "SearchAction",
28
+ "query": "file://catalog/queries/search/gtaa-persoonsnamen.rq"
29
+ },
30
+ {
31
+ "@type": "FindAction",
32
+ "query": "file://catalog/queries/lookup/gtaa.rq"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -14,10 +14,7 @@ CONSTRUCT {
14
14
  ?related_uri skos:prefLabel ?related_prefLabel .
15
15
  }
16
16
  WHERE {
17
- # For example:
18
- # Concept: <http://data.beeldengeluid.nl/gtaa/25109>
19
- # Geographical name: <http://data.beeldengeluid.nl/gtaa/33511>
20
- # Genre: <http://data.beeldengeluid.nl/gtaa/30115>
17
+
21
18
  VALUES ?uri { ?uris }
22
19
 
23
20
  ?uri a skos:Concept .
@@ -0,0 +1,81 @@
1
+ PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
2
+ PREFIX justskos: <http://justskos.org/ns/core#>
3
+
4
+ CONSTRUCT {
5
+ ?uri a skos:Concept ;
6
+ skos:prefLabel ?prefLabel ;
7
+ skos:altLabel ?altLabel ;
8
+ skos:hiddenLabel ?hiddenLabel ;
9
+ skos:scopeNote ?scopeNote ;
10
+ skos:broader ?broader_uri ;
11
+ skos:narrower ?narrower_uri ;
12
+ skos:related ?related_uri .
13
+ ?broader_uri skos:prefLabel ?broader_prefLabel .
14
+ ?narrower_uri skos:prefLabel ?narrower_prefLabel .
15
+ ?related_uri skos:prefLabel ?related_prefLabel .
16
+ }
17
+ WHERE {
18
+ {
19
+ ?uri skos:inScheme <http://data.beeldengeluid.nl/gtaa/Persoonsnamen> .
20
+ ?uri skos:prefLabel|skos:altLabel|skos:hiddenLabel ?label ;
21
+ justskos:status ?status .
22
+ FILTER(LANG(?label) = "nl")
23
+ FILTER(?status IN ('approved', 'candidate'))
24
+
25
+ # single word query, match case insensitive
26
+ FILTER regex(?query, "^[^ ]+$")
27
+ FILTER CONTAINS(LCASE(?label), LCASE(?query))
28
+ }
29
+ # commented because of timeouts
30
+ # UNION
31
+ # {
32
+ # ?uri skos:inScheme <http://data.beeldengeluid.nl/gtaa/Persoonsnamen> .
33
+ # ?uri ?predicate ?label ;
34
+ # justskos:status ?status .
35
+ # VALUES ?predicate { skos:prefLabel skos:altLabel skos:hiddenLabel }
36
+ # FILTER(LANG(?label) = "nl")
37
+ # FILTER(?status IN ('approved', 'candidate'))
38
+ #
39
+ # # double word query, whitespace separator
40
+ # FILTER REGEX(?query, "^([^ ]+)[ ]+([^ ]+)$")
41
+ #
42
+ # BIND(REPLACE(?query, "^([^ ]+)[ ]+([^ ]+)$", "$1") AS ?term1)
43
+ # BIND(REPLACE(?query, "^([^ ]+)[ ]+([^ ]+)$", "$2") AS ?term2)
44
+ #
45
+ # # search case insensitive using an AND construct for the query terms
46
+ # FILTER( CONTAINS(LCASE(?label), LCASE(?term1)) && CONTAINS(LCASE(?label), LCASE(?term2)) )
47
+ # }
48
+
49
+ OPTIONAL {
50
+ ?uri skos:prefLabel ?prefLabel .
51
+ FILTER(LANG(?prefLabel) = "nl" )
52
+ }
53
+ OPTIONAL {
54
+ ?uri skos:altLabel ?altLabel .
55
+ FILTER(LANG(?altLabel) = "nl")
56
+ }
57
+ OPTIONAL {
58
+ ?uri skos:hiddenLabel ?hiddenLabel .
59
+ FILTER(LANG(?hiddenLabel) = "nl")
60
+ }
61
+ OPTIONAL {
62
+ ?uri skos:scopeNote ?scopeNote .
63
+ FILTER(LANG(?scopeNote) = "nl")
64
+ }
65
+ OPTIONAL {
66
+ ?uri skos:broader ?broader_uri .
67
+ ?broader_uri skos:prefLabel ?broader_prefLabel .
68
+ FILTER(LANG(?broader_prefLabel) = "nl")
69
+ }
70
+ OPTIONAL {
71
+ ?uri skos:narrower ?narrower_uri .
72
+ ?narrower_uri skos:prefLabel ?narrower_prefLabel .
73
+ FILTER(LANG(?narrower_prefLabel) = "nl")
74
+ }
75
+ OPTIONAL {
76
+ ?uri skos:related ?related_uri .
77
+ ?related_uri skos:prefLabel ?related_prefLabel .
78
+ FILTER(LANG(?related_prefLabel) = "nl")
79
+ }
80
+ }
81
+ LIMIT 10
@@ -1,4 +1,5 @@
1
1
  PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
2
+ PREFIX justskos: <http://justskos.org/ns/core#>
2
3
 
3
4
  CONSTRUCT {
4
5
  ?uri a skos:Concept ;
@@ -14,21 +15,35 @@ CONSTRUCT {
14
15
  ?related_uri skos:prefLabel ?related_prefLabel .
15
16
  }
16
17
  WHERE {
17
- ?uri ?predicate ?label .
18
- VALUES ?predicate { skos:prefLabel skos:altLabel }
19
- FILTER(LANG(?label) = "nl")
18
+ {
19
+ ?uri skos:inScheme ?datasetUri .
20
+ ?uri ?predicate ?label ;
21
+ justskos:status ?status .
22
+ VALUES ?predicate { skos:prefLabel skos:altLabel skos:hiddenLabel }
23
+ FILTER(LANG(?label) = "nl")
24
+ FILTER(?status IN ('approved', 'candidate'))
20
25
 
26
+ # single word query, match case insensitive
27
+ FILTER regex(?query, "^[^ ]+$")
28
+ FILTER CONTAINS(LCASE(?label), LCASE(?query))
29
+ }
30
+ UNION
21
31
  {
22
- FILTER(?virtuosoQuery)
23
- ?uri ?predicate ?label .
24
- ?label <bif:contains> ?virtuosoQuery .
25
- } UNION {
26
- # BC support.
27
- BIND(?virtuosoQuery as ?b)
28
- FILTER(!BOUND(?b))
29
- ?uri ?predicate ?label .
30
- # Replace query "A B" with "A AND B", leaving queries "A AND B" or "A OR B" unchanged.
31
- FILTER (<bif:contains> (?label, REPLACE(?query, "(?<!AND)(?<!OR)[[:space:]]+(?!AND)(?!OR)", " AND ", "i")) )
32
+ ?uri skos:inScheme ?datasetUri .
33
+ ?uri ?predicate ?label ;
34
+ justskos:status ?status .
35
+ VALUES ?predicate { skos:prefLabel skos:altLabel skos:hiddenLabel }
36
+ FILTER(LANG(?label) = "nl")
37
+ FILTER(?status IN ('approved', 'candidate'))
38
+
39
+ # double word query, whitespace separator
40
+ FILTER REGEX(?query, "^([^ ]+)[ ]+([^ ]+)$")
41
+
42
+ BIND(REPLACE(?query, "^([^ ]+)[ ]+([^ ]+)$", "$1") AS ?term1)
43
+ BIND(REPLACE(?query, "^([^ ]+)[ ]+([^ ]+)$", "$2") AS ?term2)
44
+
45
+ # search case insensitive using an AND construct for the query terms
46
+ FILTER( CONTAINS(LCASE(?label), LCASE(?term1)) && CONTAINS(LCASE(?label), LCASE(?term2)) )
32
47
  }
33
48
 
34
49
  OPTIONAL {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netwerk-digitaal-erfgoed/network-of-terms-catalog",
3
- "version": "5.6.6",
3
+ "version": "5.7.0",
4
4
  "type": "module",
5
5
  "description": "Catalog of Network of Terms datasets",
6
6
  "repository": {
@@ -31,7 +31,7 @@
31
31
  "@types/n3": "^1.4.3",
32
32
  "@types/rdf-ext": "^1.3.11",
33
33
  "gts": "^3.1.0",
34
- "jsonld-streaming-parser": "^2.1.0",
34
+ "jsonld-streaming-parser": "^2.4.3",
35
35
  "rdf-data-factory": "^1.0.1",
36
36
  "rdf-ext": "^2.0.1",
37
37
  "rdf-validate-shacl": "^0.4.0"
@@ -43,8 +43,8 @@
43
43
  "dependencies": {
44
44
  "@comunica/actor-init-sparql-rdfjs": "^1.17.0",
45
45
  "@comunica/bus-query-operation": "^1.17.0",
46
- "@netwerk-digitaal-erfgoed/network-of-terms-query": "1.0.3",
47
- "globby": "<12.0.0",
46
+ "@netwerk-digitaal-erfgoed/network-of-terms-query": "1.1.0",
47
+ "globby": "^13.1.1",
48
48
  "rdf-js": "^4.0.2",
49
49
  "rdf-parse": "^1.5.0",
50
50
  "rdf-store-stream": "^1.1.0"