@netwerk-digitaal-erfgoed/network-of-terms-catalog 5.6.7 → 5.8.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.
@@ -7,4 +7,5 @@ export declare function fromStore(store: RDF.Store[]): Promise<Catalog>;
7
7
  * causes blank nodes to be re-used instead of incremented when adding the next file.
8
8
  */
9
9
  export declare function fromFiles(directory: string): Promise<RDF.Store[]>;
10
+ export declare function fromFile(file: string): Promise<RDF.Store>;
10
11
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAU9B,OAAO,EACL,OAAO,EAKR,MAAM,kDAAkD,CAAC;AAG1D,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAQvD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA8DpE;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAevE"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAU9B,OAAO,EACL,OAAO,EAKR,MAAM,kDAAkD,CAAC;AAG1D,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAQvD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA8DpE;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAIvE;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAU/D"}
package/build/catalog.js CHANGED
@@ -2,8 +2,8 @@ import fs from 'fs';
2
2
  import rdfParser from 'rdf-parse';
3
3
  import { newEngine } from '@comunica/actor-init-sparql-rdfjs';
4
4
  import { Transform } from 'stream';
5
- import { resolve, dirname } from 'path';
6
- import globby from 'globby';
5
+ import { dirname, resolve } from 'path';
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';
@@ -62,17 +62,19 @@ export async function fromStore(store) {
62
62
  export async function fromFiles(directory) {
63
63
  // Read all files except those in the queries/ directory.
64
64
  const files = await globby([directory, '!' + directory + '/queries']);
65
- return Promise.all(files.map(file => {
66
- var _a;
67
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
68
- // @ts-ignore
69
- const quadStream = ((_a = rdfParser.default) !== null && _a !== void 0 ? _a : RdfParser)
70
- .parse(fs.createReadStream(file), {
71
- path: file,
72
- })
73
- .pipe(new InlineFiles());
74
- return storeStream(quadStream);
75
- }));
65
+ return Promise.all(files.map(fromFile));
66
+ }
67
+ export async function fromFile(file) {
68
+ var _a;
69
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
70
+ // @ts-ignore
71
+ const quadStream = ((_a = rdfParser.default) !== null && _a !== void 0 ? _a : RdfParser)
72
+ .parse(fs.createReadStream(file), {
73
+ path: file,
74
+ })
75
+ .pipe(new InlineFiles())
76
+ .pipe(new SubstituteCredentialsFromEnvironmentVariables());
77
+ return storeStream(quadStream);
76
78
  }
77
79
  /**
78
80
  * An RDF.Quad transform that inlines file://... references in the quad's object value.
@@ -90,4 +92,21 @@ class InlineFiles extends Transform {
90
92
  callback();
91
93
  }
92
94
  }
95
+ /**
96
+ * An RDF.Quad transform that replaces $ENV_VAR variables in schema:contentUrl objects with the value of the environment
97
+ * value with the same name.
98
+ */
99
+ class SubstituteCredentialsFromEnvironmentVariables extends Transform {
100
+ constructor() {
101
+ super({ objectMode: true });
102
+ this.regex = new RegExp('\\$(.+)(?=@)');
103
+ }
104
+ async _transform(quad, encoding, callback) {
105
+ if (quad.predicate.value === 'http://schema.org/contentUrl') {
106
+ quad.object.value = quad.object.value.replace(this.regex, (match, envVar) => { var _a; return (_a = process.env[envVar]) !== null && _a !== void 0 ? _a : ''; });
107
+ }
108
+ this.push(quad, encoding);
109
+ callback();
110
+ }
111
+ }
93
112
  //# sourceMappingURL=catalog.js.map
@@ -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_CREDENTIALS@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_CREDENTIALS@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_CREDENTIALS@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_CREDENTIALS@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_CREDENTIALS@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_CREDENTIALS@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_CREDENTIALS@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.7",
3
+ "version": "5.8.0",
4
4
  "type": "module",
5
5
  "description": "Catalog of Network of Terms datasets",
6
6
  "repository": {
@@ -44,7 +44,7 @@
44
44
  "@comunica/actor-init-sparql-rdfjs": "^1.17.0",
45
45
  "@comunica/bus-query-operation": "^1.17.0",
46
46
  "@netwerk-digitaal-erfgoed/network-of-terms-query": "1.1.0",
47
- "globby": "<14.0.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"