@netwerk-digitaal-erfgoed/network-of-terms-query 1.1.0 → 1.4.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 +7 -1
- package/build/catalog.d.ts.map +1 -1
- package/build/catalog.js +17 -1
- package/build/catalog.js.map +1 -1
- package/build/distributions.d.ts +2 -2
- package/build/distributions.d.ts.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/query.d.ts +5 -5
- package/build/query.d.ts.map +1 -1
- package/build/query.js +15 -14
- package/build/query.js.map +1 -1
- package/build/search/query-mode.js +5 -5
- package/build/search/query-mode.js.map +1 -1
- package/build/server-test.d.ts.map +1 -1
- package/build/server-test.js +5 -4
- package/build/server-test.js.map +1 -1
- package/package.json +9 -12
package/build/catalog.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare class Catalog {
|
|
|
5
5
|
constructor(datasets: ReadonlyArray<Dataset>);
|
|
6
6
|
getDatasetByDistributionIri(iri: IRI): Dataset | undefined;
|
|
7
7
|
getDatasetByTermIri(iri: IRI): Dataset | undefined;
|
|
8
|
+
getDistributionsProvidingFeature(feature: Feature): Distribution[];
|
|
8
9
|
}
|
|
9
10
|
export declare class Dataset {
|
|
10
11
|
readonly iri: IRI;
|
|
@@ -27,7 +28,9 @@ export declare class SparqlDistribution {
|
|
|
27
28
|
readonly endpoint: IRI;
|
|
28
29
|
readonly searchQuery: string;
|
|
29
30
|
readonly lookupQuery: string;
|
|
30
|
-
|
|
31
|
+
readonly features: Feature[];
|
|
32
|
+
constructor(iri: IRI, endpoint: IRI, searchQuery: string, lookupQuery: string, features?: Feature[]);
|
|
33
|
+
hasFeature(feature: Feature): boolean;
|
|
31
34
|
}
|
|
32
35
|
/**
|
|
33
36
|
* A union type to be extended in the future with other distribution types.
|
|
@@ -35,4 +38,7 @@ export declare class SparqlDistribution {
|
|
|
35
38
|
export declare type Distribution = SparqlDistribution;
|
|
36
39
|
export declare class IRI extends URL {
|
|
37
40
|
}
|
|
41
|
+
export declare enum Feature {
|
|
42
|
+
RECONCILIATION = "https://reconciliation-api.github.io/specs/latest/"
|
|
43
|
+
}
|
|
38
44
|
//# sourceMappingURL=catalog.d.ts.map
|
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;IACN,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC;gBAAhC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC;IAE9C,2BAA2B,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAM1D,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;
|
|
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;IAE9C,2BAA2B,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAM1D,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS;IAQlD,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE;CAU1E;AAED,qBAAa,OAAO;IAEhB,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC;gBALd,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,GAAG,EAAE,EACpB,QAAQ,EAAE,CAAC,YAAY,CAAC,EACxB,aAAa,EAAE,CAAC,YAAY,CAAC,EAC7B,aAAa,CAAC,oBAAQ;IAG1B,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,GAAG,SAAS;CAKhE;AAED,qBAAa,YAAY;IAErB,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM;gBAFrB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM;CAEjC;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,OAAO;CAGnC;AAED;;GAEG;AACH,oBAAY,YAAY,GAAG,kBAAkB,CAAC;AAE9C,qBAAa,GAAI,SAAQ,GAAG;CAAG;AAE/B,oBAAY,OAAO;IACjB,cAAc,uDAAuD;CACtE"}
|
package/build/catalog.js
CHANGED
|
@@ -9,6 +9,14 @@ export class Catalog {
|
|
|
9
9
|
getDatasetByTermIri(iri) {
|
|
10
10
|
return this.datasets.find(dataset => dataset.termsPrefixes.some(termPrefix => iri.toString().startsWith(termPrefix.toString())));
|
|
11
11
|
}
|
|
12
|
+
getDistributionsProvidingFeature(feature) {
|
|
13
|
+
return this.datasets.reduce((acc, dataset) => {
|
|
14
|
+
return [
|
|
15
|
+
...acc,
|
|
16
|
+
...dataset.distributions.filter(distribution => distribution.features.includes(feature)),
|
|
17
|
+
];
|
|
18
|
+
}, []);
|
|
19
|
+
}
|
|
12
20
|
}
|
|
13
21
|
export class Dataset {
|
|
14
22
|
constructor(iri, name, termsPrefixes, creators, distributions, alternateName) {
|
|
@@ -31,13 +39,21 @@ export class Organization {
|
|
|
31
39
|
}
|
|
32
40
|
}
|
|
33
41
|
export class SparqlDistribution {
|
|
34
|
-
constructor(iri, endpoint, searchQuery, lookupQuery) {
|
|
42
|
+
constructor(iri, endpoint, searchQuery, lookupQuery, features = []) {
|
|
35
43
|
this.iri = iri;
|
|
36
44
|
this.endpoint = endpoint;
|
|
37
45
|
this.searchQuery = searchQuery;
|
|
38
46
|
this.lookupQuery = lookupQuery;
|
|
47
|
+
this.features = features;
|
|
48
|
+
}
|
|
49
|
+
hasFeature(feature) {
|
|
50
|
+
return this.features.includes(feature);
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
53
|
export class IRI extends URL {
|
|
42
54
|
}
|
|
55
|
+
export var Feature;
|
|
56
|
+
(function (Feature) {
|
|
57
|
+
Feature["RECONCILIATION"] = "https://reconciliation-api.github.io/specs/latest/";
|
|
58
|
+
})(Feature || (Feature = {}));
|
|
43
59
|
//# sourceMappingURL=catalog.js.map
|
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;IAClB,YAAqB,QAAgC;QAAhC,aAAQ,GAAR,QAAQ,CAAwB;IAAG,CAAC;IAElD,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;CACF;AAED,MAAM,OAAO,OAAO;IAClB,YACW,GAAQ,EACR,IAAY,EACZ,aAAoB,EACpB,QAAwB,EACxB,aAA6B,EAC7B,aAAsB;QALtB,QAAG,GAAH,GAAG,CAAK;QACR,SAAI,GAAJ,IAAI,CAAQ;QACZ,kBAAa,GAAb,aAAa,CAAO;QACpB,aAAQ,GAAR,QAAQ,CAAgB;QACxB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,kBAAa,GAAb,aAAa,CAAS;IAC9B,CAAC;IAEG,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;IACvB,YACW,GAAQ,EACR,IAAY,EACZ,aAAqB;QAFrB,QAAG,GAAH,GAAG,CAAK;QACR,SAAI,GAAJ,IAAI,CAAQ;QACZ,kBAAa,GAAb,aAAa,CAAQ;IAC7B,CAAC;CACL;AAED,MAAM,OAAO,kBAAkB;IAC7B,YACW,GAAQ,EACR,QAAa,EACb,WAAmB,EACnB,WAAmB;
|
|
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;IAClB,YAAqB,QAAgC;QAAhC,aAAQ,GAAR,QAAQ,CAAwB;IAAG,CAAC;IAElD,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,CAAC,OAAgB;QACtD,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,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CACxC;aACF,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IAClB,YACW,GAAQ,EACR,IAAY,EACZ,aAAoB,EACpB,QAAwB,EACxB,aAA6B,EAC7B,aAAsB;QALtB,QAAG,GAAH,GAAG,CAAK;QACR,SAAI,GAAJ,IAAI,CAAQ;QACZ,kBAAa,GAAb,aAAa,CAAO;QACpB,aAAQ,GAAR,QAAQ,CAAgB;QACxB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,kBAAa,GAAb,aAAa,CAAS;IAC9B,CAAC;IAEG,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;IACvB,YACW,GAAQ,EACR,IAAY,EACZ,aAAqB;QAFrB,QAAG,GAAH,GAAG,CAAK;QACR,SAAI,GAAJ,IAAI,CAAQ;QACZ,kBAAa,GAAb,aAAa,CAAQ;IAC7B,CAAC;CACL;AAED,MAAM,OAAO,kBAAkB;IAC7B,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,OAAgB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAOD,MAAM,OAAO,GAAI,SAAQ,GAAG;CAAG;AAE/B,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,gFAAqE,CAAA;AACvE,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB"}
|
package/build/distributions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QueryEngine } from '@comunica/query-sparql';
|
|
2
2
|
import Pino from 'pino';
|
|
3
3
|
import { TermsResult } from './query';
|
|
4
4
|
import { QueryMode } from './search/query-mode';
|
|
@@ -22,7 +22,7 @@ export declare class DistributionsService {
|
|
|
22
22
|
constructor(options: {
|
|
23
23
|
logger: Pino.Logger;
|
|
24
24
|
catalog: Catalog;
|
|
25
|
-
comunica?:
|
|
25
|
+
comunica?: QueryEngine;
|
|
26
26
|
});
|
|
27
27
|
query(options: QueryOptions): Promise<TermsResult>;
|
|
28
28
|
queryAll(options: QueryAllOptions): Promise<TermsResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributions.d.ts","sourceRoot":"","sources":["../src/distributions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"distributions.d.ts","sourceRoot":"","sources":["../src/distributions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAEnD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAoB,WAAW,EAAC,MAAM,SAAS,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAE,GAAG,EAAC,MAAM,WAAW,CAAC;AAGvC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AASD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AASD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAc;gBAElB,OAAO,EAAE;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,WAAW,CAAC;KACxB;IAMK,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBlD,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAYjE"}
|
package/build/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export * from './terms';
|
|
|
5
5
|
export * from './search/query-mode';
|
|
6
6
|
export * from './distributions';
|
|
7
7
|
export * from './helpers/logger';
|
|
8
|
-
|
|
8
|
+
import { QueryEngine } from '@comunica/query-sparql';
|
|
9
|
+
export declare const comunica: QueryEngine;
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,QAAQ,aAAoB,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -5,6 +5,6 @@ export * from './terms';
|
|
|
5
5
|
export * from './search/query-mode';
|
|
6
6
|
export * from './distributions';
|
|
7
7
|
export * from './helpers/logger';
|
|
8
|
-
import {
|
|
9
|
-
export const comunica =
|
|
8
|
+
import { QueryEngine } from '@comunica/query-sparql';
|
|
9
|
+
export const comunica = new QueryEngine();
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
package/build/query.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ActorInitSparql } from '@comunica/actor-init-sparql';
|
|
2
|
-
import { Bindings } from '@comunica/bus-query-operation';
|
|
3
1
|
import Pino from 'pino';
|
|
2
|
+
import * as RDF from 'rdf-js';
|
|
4
3
|
import { Term } from './terms';
|
|
5
4
|
import { QueryMode } from './search/query-mode';
|
|
6
5
|
import { Dataset, Distribution, IRI } from './catalog';
|
|
6
|
+
import { QueryEngine } from '@comunica/query-sparql';
|
|
7
7
|
export declare type TermsResult = Terms | TimeoutError | ServerError;
|
|
8
8
|
export declare class Terms {
|
|
9
9
|
readonly distribution: Distribution;
|
|
@@ -25,12 +25,12 @@ export declare class QueryTermsService {
|
|
|
25
25
|
private readonly logger;
|
|
26
26
|
private readonly engine;
|
|
27
27
|
constructor(options?: {
|
|
28
|
-
comunica?:
|
|
28
|
+
comunica?: QueryEngine;
|
|
29
29
|
logger?: Pino.Logger;
|
|
30
30
|
});
|
|
31
|
-
protected getConfig(distribution: Distribution, bindings
|
|
31
|
+
protected getConfig(distribution: Distribution, bindings: Record<string, RDF.Term>): object;
|
|
32
32
|
search(searchQuery: string, queryMode: QueryMode, dataset: Dataset, distribution: Distribution, timeoutMs: number): Promise<TermsResult>;
|
|
33
33
|
lookup(iris: IRI[], distribution: Distribution, timeoutMs: number): Promise<TermsResult>;
|
|
34
|
-
run(query: string, distribution: Distribution, timeoutMs: number, bindings?:
|
|
34
|
+
run(query: string, distribution: Distribution, timeoutMs: number, bindings?: Record<string, RDF.Term>): Promise<TermsResult>;
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=query.d.ts.map
|
package/build/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAmB,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAgB,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAC,MAAM,WAAW,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAInD,oBAAY,WAAW,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;AAE7D,qBAAa,KAAK;IACJ,QAAQ,CAAC,YAAY,EAAE,YAAY;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;gBAAlD,YAAY,EAAE,YAAY,EAAW,KAAK,EAAE,IAAI,EAAE;CACxE;AAED,qBAAa,KAAK;IACJ,QAAQ,CAAC,YAAY,EAAE,YAAY;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAApD,YAAY,EAAE,YAAY,EAAW,OAAO,EAAE,MAAM;CAC1E;AACD,qBAAa,YAAa,SAAQ,KAAK;IACzB,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAA1B,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM;CAGnE;AACD,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,OAAO,GAAE;QAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;KAAM;IAKxE,SAAS,CAAC,SAAS,CACjB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GACjC,MAAM;IAcH,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM;IAmBb,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM;IAWjE,GAAG,CACP,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAM,GACtC,OAAO,CAAC,WAAW,CAAC;CA2CxB"}
|
package/build/query.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Bindings, } from '@comunica/bus-query-operation';
|
|
2
1
|
import * as Hoek from '@hapi/hoek';
|
|
3
2
|
import Joi from 'joi';
|
|
4
|
-
import factory from '@rdfjs/data-model';
|
|
5
3
|
import { LoggerPino } from './helpers/logger-pino';
|
|
6
4
|
import Pino from 'pino';
|
|
7
5
|
import PrettyMilliseconds from 'pretty-ms';
|
|
8
6
|
import { TermsTransformer } from './terms';
|
|
9
7
|
import { queryVariants } from './search/query-mode';
|
|
10
|
-
import {
|
|
8
|
+
import { QueryEngine } from '@comunica/query-sparql';
|
|
9
|
+
import { BindingsFactory } from '@comunica/bindings-factory';
|
|
10
|
+
import { DataFactory } from 'rdf-data-factory';
|
|
11
11
|
export class Terms {
|
|
12
12
|
constructor(distribution, terms) {
|
|
13
13
|
this.distribution = distribution;
|
|
@@ -30,10 +30,9 @@ export class ServerError extends Error {
|
|
|
30
30
|
}
|
|
31
31
|
export class QueryTermsService {
|
|
32
32
|
constructor(options = {}) {
|
|
33
|
-
this.engine = options.comunica ||
|
|
33
|
+
this.engine = options.comunica || new QueryEngine();
|
|
34
34
|
this.logger = options.logger || Pino();
|
|
35
35
|
}
|
|
36
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
36
|
getConfig(distribution, bindings) {
|
|
38
37
|
const logger = new LoggerPino({ logger: this.logger });
|
|
39
38
|
return {
|
|
@@ -44,21 +43,21 @@ export class QueryTermsService {
|
|
|
44
43
|
value: distribution.endpoint.toString(),
|
|
45
44
|
},
|
|
46
45
|
],
|
|
47
|
-
initialBindings: bindings,
|
|
46
|
+
initialBindings: bindingsFactory.fromRecord(bindings),
|
|
48
47
|
};
|
|
49
48
|
}
|
|
50
49
|
async search(searchQuery, queryMode, dataset, distribution, timeoutMs) {
|
|
51
50
|
const bindings = [...queryVariants(searchQuery, queryMode)].reduce((record, [k, v]) => {
|
|
52
|
-
record[k] =
|
|
51
|
+
record[k] = dataFactory.literal(v);
|
|
53
52
|
return record;
|
|
54
53
|
}, {});
|
|
55
|
-
bindings['
|
|
56
|
-
return this.run(distribution.searchQuery, distribution, timeoutMs,
|
|
54
|
+
bindings['datasetUri'] = dataFactory.namedNode(dataset.iri.toString());
|
|
55
|
+
return this.run(distribution.searchQuery, distribution, timeoutMs, bindings);
|
|
57
56
|
}
|
|
58
57
|
async lookup(iris, distribution, timeoutMs) {
|
|
59
58
|
return this.run(distribution.lookupQuery.replace('?uris', iris.map(iri => `<${iri}>`).join(' ')), distribution, timeoutMs);
|
|
60
59
|
}
|
|
61
|
-
async run(query, distribution, timeoutMs, bindings) {
|
|
60
|
+
async run(query, distribution, timeoutMs, bindings = {}) {
|
|
62
61
|
Joi.attempt(timeoutMs, Joi.number()
|
|
63
62
|
.integer()
|
|
64
63
|
.min(1)
|
|
@@ -66,17 +65,17 @@ export class QueryTermsService {
|
|
|
66
65
|
.default(parseInt(process.env.DEFAULT_QUERY_TIMEOUT) || 5000));
|
|
67
66
|
this.logger.info(`Querying "${distribution.endpoint}" with "${query}"...`);
|
|
68
67
|
const timer = new Hoek.Bench();
|
|
69
|
-
const
|
|
68
|
+
const quadStream = await this.engine.queryQuads(query, this.getConfig(distribution, bindings));
|
|
70
69
|
return guardTimeout(new Promise(resolve => {
|
|
71
70
|
const termsTransformer = new TermsTransformer();
|
|
72
|
-
|
|
71
|
+
quadStream.on('error', (error) => {
|
|
73
72
|
this.logger.error(`An error occurred when querying "${distribution.endpoint}": ${error}`);
|
|
74
73
|
resolve(new ServerError(distribution, error.message));
|
|
75
74
|
});
|
|
76
|
-
|
|
75
|
+
quadStream.on('data', (quad) => {
|
|
77
76
|
termsTransformer.fromQuad(quad);
|
|
78
77
|
});
|
|
79
|
-
|
|
78
|
+
quadStream.on('end', () => {
|
|
80
79
|
const terms = termsTransformer.asArray().sort(alphabeticallyByLabels);
|
|
81
80
|
this.logger.info(`Found ${terms.length} terms matching "${query}" in "${distribution.endpoint}" in ${PrettyMilliseconds(timer.elapsed())}`);
|
|
82
81
|
resolve(new Terms(distribution, terms));
|
|
@@ -100,4 +99,6 @@ function guardTimeout(promise, timeoutMs, timeoutError) {
|
|
|
100
99
|
new Promise(resolve => setTimeout(resolve.bind(null, timeoutError), timeoutMs)),
|
|
101
100
|
]);
|
|
102
101
|
}
|
|
102
|
+
const dataFactory = new DataFactory();
|
|
103
|
+
const bindingsFactory = new BindingsFactory(dataFactory);
|
|
103
104
|
//# sourceMappingURL=query.js.map
|
package/build/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,16 @@ export function queryVariants(query, type) {
|
|
|
8
8
|
switch (type) {
|
|
9
9
|
case QueryMode.RAW:
|
|
10
10
|
return new Map([
|
|
11
|
-
['
|
|
12
|
-
['
|
|
11
|
+
['query', query],
|
|
12
|
+
['virtuosoQuery', query],
|
|
13
13
|
]);
|
|
14
14
|
case QueryMode.OPTIMIZED:
|
|
15
15
|
return new Map([
|
|
16
|
-
['
|
|
17
|
-
['
|
|
16
|
+
['query', stringQuery(query)],
|
|
17
|
+
['virtuosoQuery', virtuosoQuery(stringQuery(query))],
|
|
18
18
|
]);
|
|
19
19
|
case QueryMode.DEPRECATED:
|
|
20
|
-
return new Map([['
|
|
20
|
+
return new Map([['query', query]]);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
const stringQuery = (query) => query.toLowerCase().replace(/\s+/g, ' ').trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-mode.js","sourceRoot":"","sources":["../../src/search/query-mode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;AAC3B,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,IAAe;IAC1D,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,GAAG,CAAC;gBACb,CAAC,
|
|
1
|
+
{"version":3,"file":"query-mode.js","sourceRoot":"","sources":["../../src/search/query-mode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;AAC3B,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,IAAe;IAC1D,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,GAAG,CAAC;gBACb,CAAC,OAAO,EAAE,KAAK,CAAC;gBAChB,CAAC,eAAe,EAAE,KAAK,CAAC;aACzB,CAAC,CAAC;QACL,KAAK,SAAS,CAAC,SAAS;YACtB,OAAO,IAAI,GAAG,CAAC;gBACb,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,eAAe,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;aACrD,CAAC,CAAC;QACL,KAAK,SAAS,CAAC,UAAU;YACvB,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACtC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACpC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAElD,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CACtC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,KAAK,GAAG,CAAC,UAAoB,EAAE,EAAE,CACrC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;AAEzE,MAAM,eAAe,GAAG,CAAC,UAAoB,EAAE,EAAE,CAC/C,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAE1C;;GAEG;AACH,MAAM,IAAI,GAAG,CAAC,UAAoB,EAAE,EAAE,CACpC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE;QACpE,OAAO,GAAG,aAAa,QAAQ,YAAY,EAAE,CAAC;KAC/C;IAED,OAAO,GAAG,aAAa,IAAI,YAAY,EAAE,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEL,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC9C,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-test.d.ts","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"server-test.d.ts","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAMR,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,WAAW,SAAU,MAAM,YAsGpC,CAAC;AAEL,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
package/build/server-test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Catalog, Dataset, IRI, Organization, SparqlDistribution } from './index';
|
|
1
|
+
import { Catalog, Dataset, Feature, IRI, Organization, SparqlDistribution, } from './index';
|
|
2
2
|
import { setup } from 'jest-dev-server';
|
|
3
3
|
import { dirname } from 'path';
|
|
4
4
|
import { fileURLToPath } from 'url';
|
|
@@ -14,7 +14,7 @@ export const testCatalog = (port) => new Catalog([
|
|
|
14
14
|
WHERE {
|
|
15
15
|
?s ?p ?o ;
|
|
16
16
|
?labelPredicate ?label .
|
|
17
|
-
VALUES ?labelPredicate { skos:prefLabel skos:altLabel }
|
|
17
|
+
VALUES ?labelPredicate { skos:prefLabel skos:altLabel skos:hiddenLabel }
|
|
18
18
|
FILTER (regex(?label, ?query, "i"))
|
|
19
19
|
}`, `
|
|
20
20
|
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
|
@@ -42,12 +42,12 @@ export const testCatalog = (port) => new Catalog([
|
|
|
42
42
|
?s skos:related ?related_uri.
|
|
43
43
|
?related_uri skos:prefLabel ?related_prefLabel.
|
|
44
44
|
}
|
|
45
|
-
}
|
|
45
|
+
}`, [Feature.RECONCILIATION]),
|
|
46
46
|
]),
|
|
47
47
|
new Dataset(new IRI('https://data.cultureelerfgoed.nl/term/id/cht'), 'Cultuurhistorische Thesaurus', [new IRI('https://data.cultureelerfgoed.nl/term/id/cht/')], [
|
|
48
48
|
new Organization(new IRI('https://www.cultureelerfgoed.nl'), 'Rijksdienst voor het Cultureel Erfgoed', 'RCE'),
|
|
49
49
|
], [
|
|
50
|
-
new SparqlDistribution(new IRI('https://example.com/distributions/endpoint-error'), new IRI('http://does-not-resolve'), 'CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }', 'CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }'),
|
|
50
|
+
new SparqlDistribution(new IRI('https://example.com/distributions/endpoint-error'), new IRI('http://does-not-resolve'), 'CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }', 'CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }', [Feature.RECONCILIATION]),
|
|
51
51
|
]),
|
|
52
52
|
new Dataset(new IRI('http://vocab.getty.edu/aat'), 'Art & Architecture Thesaurus', [new IRI('http://vocab.getty.edu/aat/')], [
|
|
53
53
|
new Organization(new IRI('http://www.getty.edu/research/'), 'Getty Research Institute', 'Getty'),
|
|
@@ -59,6 +59,7 @@ export async function startDistributionSparqlEndpoint(port) {
|
|
|
59
59
|
await setup({
|
|
60
60
|
command: `npx comunica-sparql-file-http ${dirname(fileURLToPath(import.meta.url))}/../test/fixtures/terms.ttl -p ${port}`,
|
|
61
61
|
port,
|
|
62
|
+
launchTimeout: 10000,
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
//# sourceMappingURL=server-test.js.map
|
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,
|
|
1
|
+
{"version":3,"file":"server-test.js","sourceRoot":"","sources":["../src/server-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,GAAG,EACH,YAAY,EACZ,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,IAAI,OAAO,CAAC;IACV,IAAI,OAAO,CACT,IAAI,GAAG,CAAC,gCAAgC,CAAC,EACzC,YAAY,EACZ,CAAC,IAAI,GAAG,CAAC,gCAAgC,CAAC,CAAC,EAC3C;QACE,IAAI,YAAY,CACd,IAAI,GAAG,CAAC,gBAAgB,CAAC,EACzB,mDAAmD,EACnD,KAAK,CACN;KACF,EACD;QACE,IAAI,kBAAkB,CACpB,IAAI,GAAG,CACL,8DAA8D,CAC/D,EACD,IAAI,GAAG,CAAC,oBAAoB,IAAI,SAAS,CAAC,EAC1C;;;;;;;;;;YAUE,EACF;;;;;;;;;;;;;;;;;;;;;;;;;;YA0BE,EACF,CAAC,OAAO,CAAC,cAAc,CAAC,CACzB;KACF,CACF;IACD,IAAI,OAAO,CACT,IAAI,GAAG,CAAC,8CAA8C,CAAC,EACvD,8BAA8B,EAC9B,CAAC,IAAI,GAAG,CAAC,+CAA+C,CAAC,CAAC,EAC1D;QACE,IAAI,YAAY,CACd,IAAI,GAAG,CAAC,iCAAiC,CAAC,EAC1C,wCAAwC,EACxC,KAAK,CACN;KACF,EACD;QACE,IAAI,kBAAkB,CACpB,IAAI,GAAG,CAAC,kDAAkD,CAAC,EAC3D,IAAI,GAAG,CAAC,yBAAyB,CAAC,EAClC,2CAA2C,EAC3C,2CAA2C,EAC3C,CAAC,OAAO,CAAC,cAAc,CAAC,CACzB;KACF,CACF;IACD,IAAI,OAAO,CACT,IAAI,GAAG,CAAC,4BAA4B,CAAC,EACrC,8BAA8B,EAC9B,CAAC,IAAI,GAAG,CAAC,6BAA6B,CAAC,CAAC,EACxC;QACE,IAAI,YAAY,CACd,IAAI,GAAG,CAAC,gCAAgC,CAAC,EACzC,0BAA0B,EAC1B,OAAO,CACR;KACF,EACD;QACE,IAAI,kBAAkB,CACpB,IAAI,GAAG,CAAC,2CAA2C,CAAC,EACpD,IAAI,GAAG,CAAC,6BAA6B,CAAC,EACtC,2CAA2C,EAC3C,2CAA2C,CAC5C;KACF,CACF;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,IAAY;IAEZ,MAAM,KAAK,CAAC;QACV,OAAO,EAAE,iCAAiC,OAAO,CAC/C,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/B,kCAAkC,IAAI,EAAE;QACzC,IAAI;QACJ,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netwerk-digitaal-erfgoed/network-of-terms-query",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -29,28 +29,25 @@
|
|
|
29
29
|
"keywords": [],
|
|
30
30
|
"description": "Engine for querying sources in the Network of Terms",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@comunica/
|
|
33
|
-
"@comunica/
|
|
34
|
-
"@comunica/
|
|
35
|
-
"@comunica/core": "^1.22.0",
|
|
32
|
+
"@comunica/bindings-factory": "^2.0.1",
|
|
33
|
+
"@comunica/data-factory": "^2.0.1",
|
|
34
|
+
"@comunica/query-sparql": "^2.0.6",
|
|
36
35
|
"@hapi/hoek": "^9.2.1",
|
|
37
36
|
"@rdfjs/data-model": "^2.0.0",
|
|
38
37
|
"joi": "^17.6.0",
|
|
39
38
|
"pino": "^7.8.0",
|
|
40
|
-
"pino-pretty": "^7.5.
|
|
39
|
+
"pino-pretty": "^7.5.3",
|
|
41
40
|
"pretty-ms": "^7.0.1",
|
|
41
|
+
"rdf-data-factory": "^1.1.0",
|
|
42
42
|
"rdf-js": "^4.0.2",
|
|
43
|
-
"rdf-parse": "^1.9.1",
|
|
44
43
|
"rdf-store-stream": "^1.3.0"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
|
-
"@comunica/
|
|
48
|
-
"@comunica/
|
|
49
|
-
"@comunica/actor-query-operation-service": "^1.22.3",
|
|
46
|
+
"@comunica/core": "^2.0.1",
|
|
47
|
+
"@comunica/query-sparql-file": "^2.0.6",
|
|
50
48
|
"@jest/globals": "^27.5.1",
|
|
51
49
|
"asynciterator": "^3.3.0",
|
|
52
|
-
"jest-dev-server": "^6.0.3"
|
|
53
|
-
"ts-jest": "^27.1.3"
|
|
50
|
+
"jest-dev-server": "^6.0.3"
|
|
54
51
|
},
|
|
55
52
|
"engines": {
|
|
56
53
|
"node": ">=16.0.0"
|