@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.
@@ -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 {
@@ -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;IACN,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC;gBAAhC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC;IAErD;;OAEG;IACI,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAQ9C,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,EAAE;IAMxD,2BAA2B,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAM1D,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAQlD,gCAAgC,CACrC,WAAW,EAAE,WAAW,GACvB,YAAY,EAAE;CAUlB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,qBAAa,OAAO;IAEhB,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,gBAAgB;IACtC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACtB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;IAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,gBAAgB;gBAT/B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,GAAG,EAAE,EACb,aAAa,EAAE,GAAG,EAAE,EACpB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,CAAC,YAAY,CAAC,EACxB,aAAa,EAAE,CAAC,YAAY,CAAC,EAC7B,aAAa,GAAE,gBAAqB;IAGxC,qBAAqB,IAAI,YAAY,GAAG,SAAS;IAMjD,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,GAAG,SAAS;CAKhE;AAED,qBAAa,YAAY;IAErB,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,gBAAgB;gBAF/B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,gBAAgB,EACtB,aAAa,EAAE,gBAAgB;CAE3C;AAED,qBAAa,kBAAkB;IAE3B,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,QAAQ,EAAE,GAAG;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE;gBAJnB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,GAAG,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAO,EAAO;IAG5B,UAAU,CAAC,OAAO,EAAE,WAAW;CAGvC;AAED,qBAAa,OAAO;IAEhB,QAAQ,CAAC,IAAI,EAAE,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG;gBADR,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,GAAG;CAEpB;AAED,oBAAY,WAAW;IACrB,cAAc,uDAAuD;CACtE;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE9C,qBAAa,GAAI,SAAQ,GAAG;CAAG"}
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
- return this.datasets.find(dataset => dataset.termsPrefixes.some(termPrefix => iri.toString().startsWith(termPrefix.toString())));
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;
@@ -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;IACG;IAArB,YAAqB,QAAgC;QAAhC,aAAQ,GAAR,QAAQ,CAAwB;IAAG,CAAC;IAEzD;;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,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAClC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CACtC,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CACjD,CACF,CAAC;IACJ,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;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
+ {"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,YAiLpC,CAAC;AAEL,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAQf"}
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"}
@@ -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
- ?s ?p ?o ;
24
- ?labelPredicate ?label .
25
- VALUES ?labelPredicate { skos:prefLabel skos:altLabel skos:hiddenLabel }
26
- FILTER (regex(?label, ?query, "i"))
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 ;
@@ -1 +1 @@
1
- {"version":3,"file":"server-test.js","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-test.js","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netwerk-digitaal-erfgoed/network-of-terms-query",
3
- "version": "6.0.0",
3
+ "version": "6.2.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"