@netwerk-digitaal-erfgoed/network-of-terms-query 6.0.0 → 6.2.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/build/catalog.d.ts +11 -0
- package/build/catalog.d.ts.map +1 -1
- package/build/catalog.js +35 -1
- package/build/catalog.js.map +1 -1
- package/build/server-test.d.ts.map +1 -1
- package/build/server-test.js +15 -9
- package/build/server-test.js.map +1 -1
- package/package.json +1 -1
package/build/catalog.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { URL } from 'url';
|
|
2
2
|
export declare class Catalog {
|
|
3
3
|
readonly datasets: ReadonlyArray<Dataset>;
|
|
4
|
+
private readonly prefixToDataset;
|
|
4
5
|
constructor(datasets: ReadonlyArray<Dataset>);
|
|
5
6
|
/**
|
|
6
7
|
* Get dataset by IRI, accepting distribution IRIs too for BC.
|
|
@@ -10,6 +11,16 @@ export declare class Catalog {
|
|
|
10
11
|
getDatasetByDistributionIri(iri: IRI): Dataset | undefined;
|
|
11
12
|
getDatasetByTermIri(iri: IRI): Dataset | undefined;
|
|
12
13
|
getDistributionsProvidingFeature(featureType: FeatureType): Distribution[];
|
|
14
|
+
/**
|
|
15
|
+
* Get all languages provided by datasets in this catalog.
|
|
16
|
+
*/
|
|
17
|
+
getLanguages(): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Index the prefixes of all datasets by their string length in descending order for matching
|
|
20
|
+
* term IRIs against during lookup. When looking up terms, we want to match the longest possible prefix
|
|
21
|
+
* in case prefixes overlap.
|
|
22
|
+
*/
|
|
23
|
+
private indexPrefixesByStringLength;
|
|
13
24
|
}
|
|
14
25
|
export type StringDictionary = Record<string, string>;
|
|
15
26
|
export declare class Dataset {
|
package/build/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB,qBAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
package/build/catalog.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { URL } from 'url';
|
|
2
2
|
export class Catalog {
|
|
3
3
|
datasets;
|
|
4
|
+
prefixToDataset;
|
|
4
5
|
constructor(datasets) {
|
|
5
6
|
this.datasets = datasets;
|
|
7
|
+
this.prefixToDataset = this.indexPrefixesByStringLength();
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Get dataset by IRI, accepting distribution IRIs too for BC.
|
|
@@ -17,7 +19,12 @@ export class Catalog {
|
|
|
17
19
|
return this.datasets.find(dataset => dataset.getDistributionByIri(iri) !== undefined);
|
|
18
20
|
}
|
|
19
21
|
getDatasetByTermIri(iri) {
|
|
20
|
-
|
|
22
|
+
for (const [prefix, datasetIri] of this.prefixToDataset) {
|
|
23
|
+
if (iri.toString().startsWith(prefix)) {
|
|
24
|
+
return this.getDatasetByIri(datasetIri);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
21
28
|
}
|
|
22
29
|
getDistributionsProvidingFeature(featureType) {
|
|
23
30
|
return this.datasets.reduce((acc, dataset) => {
|
|
@@ -27,6 +34,33 @@ export class Catalog {
|
|
|
27
34
|
];
|
|
28
35
|
}, []);
|
|
29
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Get all languages provided by datasets in this catalog.
|
|
39
|
+
*/
|
|
40
|
+
getLanguages() {
|
|
41
|
+
return [
|
|
42
|
+
...new Set(this.datasets.reduce((acc, dataset) => {
|
|
43
|
+
return [...acc, ...dataset.inLanguage];
|
|
44
|
+
}, [])),
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Index the prefixes of all datasets by their string length in descending order for matching
|
|
49
|
+
* term IRIs against during lookup. When looking up terms, we want to match the longest possible prefix
|
|
50
|
+
* in case prefixes overlap.
|
|
51
|
+
*/
|
|
52
|
+
indexPrefixesByStringLength() {
|
|
53
|
+
return new Map([
|
|
54
|
+
...this.datasets
|
|
55
|
+
.reduce((acc, dataset) => {
|
|
56
|
+
dataset.termsPrefixes.forEach(prefix => {
|
|
57
|
+
acc.set(prefix.toString(), dataset.iri);
|
|
58
|
+
});
|
|
59
|
+
return acc;
|
|
60
|
+
}, new Map())
|
|
61
|
+
.entries(),
|
|
62
|
+
].sort(([a], [b]) => b.localeCompare(a)));
|
|
63
|
+
}
|
|
30
64
|
}
|
|
31
65
|
export class Dataset {
|
|
32
66
|
iri;
|
package/build/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB,MAAM,OAAO,OAAO;IAGG;IAFJ,eAAe,CAAmB;IAEnD,YAAqB,QAAgC;QAAhC,aAAQ,GAAR,QAAQ,CAAwB;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,GAAQ;QAC7B,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CACrD,IAAI,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAC3C,CAAC;IACJ,CAAC;IAEM,uBAAuB,CAAC,YAAoB;QACjD,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAEM,2BAA2B,CAAC,GAAQ;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvB,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,SAAS,CAC3D,CAAC;IACJ,CAAC;IAEM,mBAAmB,CAAC,GAAQ;QACjC,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,gCAAgC,CACrC,WAAwB;QAExB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YAC3D,OAAO;gBACL,GAAG,GAAG;gBACN,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAC7C,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CACrC;aACF,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO;YACL,GAAG,IAAI,GAAG,CACR,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAW,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC,EAAE,EAAE,CAAC,CACP;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,2BAA2B;QACjC,OAAO,IAAI,GAAG,CACZ;YACE,GAAG,IAAI,CAAC,QAAQ;iBACb,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBACvB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACrC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,IAAI,GAAG,EAAe,CAAC;iBACzB,OAAO,EAAE;SACb,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CACzC,CAAC;IACJ,CAAC;CACF;AAID,MAAM,OAAO,OAAO;IAEP;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAVX,YACW,GAAQ,EACR,IAAsB,EACtB,WAA6B,EAC7B,MAAa,EACb,aAAoB,EACpB,gBAAwB,EACxB,UAAoB,EACpB,QAAwB,EACxB,aAA6B,EAC7B,gBAAkC,EAAE;QATpC,QAAG,GAAH,GAAG,CAAK;QACR,SAAI,GAAJ,IAAI,CAAkB;QACtB,gBAAW,GAAX,WAAW,CAAkB;QAC7B,WAAM,GAAN,MAAM,CAAO;QACb,kBAAa,GAAb,aAAa,CAAO;QACpB,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,eAAU,GAAV,UAAU,CAAU;QACpB,aAAQ,GAAR,QAAQ,CAAgB;QACxB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,kBAAa,GAAb,aAAa,CAAuB;IAC5C,CAAC;IAEG,qBAAqB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAC5B,YAAY,CAAC,EAAE,CAAC,YAAY,YAAY,kBAAkB,CAC3D,CAAC;IACJ,CAAC;IAEM,oBAAoB,CAAC,GAAQ;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAC5B,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAC/D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IAEZ;IACA;IACA;IAHX,YACW,GAAQ,EACR,IAAsB,EACtB,aAA+B;QAF/B,QAAG,GAAH,GAAG,CAAK;QACR,SAAI,GAAJ,IAAI,CAAkB;QACtB,kBAAa,GAAb,aAAa,CAAkB;IACvC,CAAC;CACL;AAED,MAAM,OAAO,kBAAkB;IAElB;IACA;IACA;IACA;IACA;IALX,YACW,GAAQ,EACR,QAAa,EACb,WAAmB,EACnB,WAAmB,EACnB,WAAsB,EAAE;QAJxB,QAAG,GAAH,GAAG,CAAK;QACR,aAAQ,GAAR,QAAQ,CAAK;QACb,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAgB;IAChC,CAAC;IAEG,UAAU,CAAC,OAAoB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACxE,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IAEP;IACA;IAFX,YACW,IAAiB,EACjB,GAAQ;QADR,SAAI,GAAJ,IAAI,CAAa;QACjB,QAAG,GAAH,GAAG,CAAK;IAChB,CAAC;CACL;AAED,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,oFAAqE,CAAA;AACvE,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB;AAOD,MAAM,OAAO,GAAI,SAAQ,GAAG;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-test.d.ts","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAOR,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,QAAQ,qBAEpB,CAAC;AAGF,eAAO,MAAM,WAAW,SAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"server-test.d.ts","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAOR,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,QAAQ,qBAEpB,CAAC;AAGF,eAAO,MAAM,WAAW,SAAU,MAAM,YAuLpC,CAAC;AAEL,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
package/build/server-test.js
CHANGED
|
@@ -7,7 +7,7 @@ export const teardown = async () => {
|
|
|
7
7
|
};
|
|
8
8
|
let servers;
|
|
9
9
|
export const testCatalog = (port) => new Catalog([
|
|
10
|
-
new Dataset(new IRI('https://data.rkd.nl/rkdartists'), { nl: 'RKDartists' }, {
|
|
10
|
+
new Dataset(new IRI('https://data.rkd.nl/rkdartists'), { nl: 'RKDartists', en: 'RKDartists' }, {
|
|
11
11
|
nl: 'Biografische gegevens van Nederlandse en buitenlandse kunstenaars van de middeleeuwen tot heden',
|
|
12
12
|
}, [
|
|
13
13
|
new IRI('https://data.cultureelerfgoed.nl/termennetwerk/onderwerpen/Personen'),
|
|
@@ -19,17 +19,23 @@ export const testCatalog = (port) => new Catalog([
|
|
|
19
19
|
CONSTRUCT {
|
|
20
20
|
?s ?p ?o
|
|
21
21
|
}
|
|
22
|
-
WHERE {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
WHERE {
|
|
23
|
+
{
|
|
24
|
+
SELECT DISTINCT ?s WHERE {
|
|
25
|
+
?s ?labelPredicate ?label .
|
|
26
|
+
VALUES ?labelPredicate { skos:prefLabel skos:altLabel skos:hiddenLabel }
|
|
27
|
+
FILTER (regex(?label, ?query, "i"))
|
|
28
|
+
}
|
|
29
|
+
#LIMIT#
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
?s ?p ?o .
|
|
33
|
+
|
|
27
34
|
OPTIONAL {
|
|
28
35
|
?s skos:exactMatch ?match .
|
|
29
36
|
?match skos:prefLabel ?match_label .
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
#LIMIT#`, `
|
|
37
|
+
}
|
|
38
|
+
}`, `
|
|
33
39
|
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
|
34
40
|
CONSTRUCT {
|
|
35
41
|
?s ?p ?o ;
|
package/build/server-test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-test.js","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,GAAG,EACH,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAGlC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IACjC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,IAAI,OAA6B,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,IAAI,OAAO,CAAC;IACV,IAAI,OAAO,CACT,IAAI,GAAG,CAAC,gCAAgC,CAAC,EACzC,EAAC,EAAE,EAAE,YAAY,EAAC,
|
|
1
|
+
{"version":3,"file":"server-test.js","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"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"}
|