@netwerk-digitaal-erfgoed/network-of-terms-query 5.3.0 → 5.5.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 +6 -2
- package/build/catalog.d.ts.map +1 -1
- package/build/catalog.js +7 -1
- package/build/catalog.js.map +1 -1
- package/build/distributions.d.ts +7 -6
- package/build/distributions.d.ts.map +1 -1
- package/build/distributions.js +10 -9
- package/build/distributions.js.map +1 -1
- package/build/query.d.ts +14 -1
- package/build/query.d.ts.map +1 -1
- package/build/query.js +25 -4
- package/build/query.js.map +1 -1
- package/build/server-test.js +5 -5
- package/build/server-test.js.map +1 -1
- package/package.json +15 -16
package/build/catalog.d.ts
CHANGED
|
@@ -2,6 +2,9 @@ import { URL } from 'url';
|
|
|
2
2
|
export declare class Catalog {
|
|
3
3
|
readonly datasets: ReadonlyArray<Dataset>;
|
|
4
4
|
constructor(datasets: ReadonlyArray<Dataset>);
|
|
5
|
+
/**
|
|
6
|
+
* Get dataset by IRI, accepting distribution IRIs too for BC.
|
|
7
|
+
*/
|
|
5
8
|
getDatasetByIri(iri: IRI): Dataset | undefined;
|
|
6
9
|
getDatasetByDistributionIri(iri: IRI): Dataset | undefined;
|
|
7
10
|
getDatasetByTermIri(iri: IRI): Dataset | undefined;
|
|
@@ -14,11 +17,12 @@ export declare class Dataset {
|
|
|
14
17
|
readonly genres: IRI[];
|
|
15
18
|
readonly termsPrefixes: IRI[];
|
|
16
19
|
readonly mainEntityOfPage: string;
|
|
17
|
-
readonly inLanguage: string;
|
|
20
|
+
readonly inLanguage: string[];
|
|
18
21
|
readonly creators: [Organization];
|
|
19
22
|
readonly distributions: [Distribution];
|
|
20
23
|
readonly alternateName?: string | undefined;
|
|
21
|
-
constructor(iri: IRI, name: string, description: string, genres: IRI[], termsPrefixes: IRI[], mainEntityOfPage: string, inLanguage: string, creators: [Organization], distributions: [Distribution], alternateName?: string | undefined);
|
|
24
|
+
constructor(iri: IRI, name: string, description: string, genres: IRI[], termsPrefixes: IRI[], mainEntityOfPage: string, inLanguage: string[], creators: [Organization], distributions: [Distribution], alternateName?: string | undefined);
|
|
25
|
+
getSparqlDistribution(): Distribution | undefined;
|
|
22
26
|
getDistributionByIri(iri: IRI): Distribution | undefined;
|
|
23
27
|
}
|
|
24
28
|
export declare class Organization {
|
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;
|
|
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,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,qBAAa,OAAO;IAEhB,QAAQ,CAAC,GAAG,EAAE,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,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,CAAC,EAAE,MAAM;gBATtB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,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,CAAC,EAAE,MAAM,YAAA;IAG1B,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,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,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"}
|
package/build/catalog.js
CHANGED
|
@@ -4,8 +4,11 @@ export class Catalog {
|
|
|
4
4
|
constructor(datasets) {
|
|
5
5
|
this.datasets = datasets;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Get dataset by IRI, accepting distribution IRIs too for BC.
|
|
9
|
+
*/
|
|
7
10
|
getDatasetByIri(iri) {
|
|
8
|
-
return this.datasets.find(dataset => dataset.iri.toString() === iri.toString());
|
|
11
|
+
return (this.datasets.find(dataset => dataset.iri.toString() === iri.toString()) ?? this.getDatasetByDistributionIri(iri));
|
|
9
12
|
}
|
|
10
13
|
getDatasetByDistributionIri(iri) {
|
|
11
14
|
return this.datasets.find(dataset => dataset.getDistributionByIri(iri) !== undefined);
|
|
@@ -45,6 +48,9 @@ export class Dataset {
|
|
|
45
48
|
this.distributions = distributions;
|
|
46
49
|
this.alternateName = alternateName;
|
|
47
50
|
}
|
|
51
|
+
getSparqlDistribution() {
|
|
52
|
+
return this.distributions.find(distribution => distribution instanceof SparqlDistribution);
|
|
53
|
+
}
|
|
48
54
|
getDistributionByIri(iri) {
|
|
49
55
|
return this.distributions.find(distribution => distribution.iri.toString() === iri.toString());
|
|
50
56
|
}
|
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;IACG;IAArB,YAAqB,QAAgC;QAAhC,aAAQ,GAAR,QAAQ,CAAwB;IAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
package/build/distributions.d.ts
CHANGED
|
@@ -3,17 +3,17 @@ import Pino from 'pino';
|
|
|
3
3
|
import { TermsResponse } from './query.js';
|
|
4
4
|
import { QueryMode } from './search/query-mode.js';
|
|
5
5
|
import { Catalog, IRI } from './catalog.js';
|
|
6
|
-
|
|
7
|
-
source: IRI;
|
|
6
|
+
interface BaseQueryOptions {
|
|
8
7
|
query: string;
|
|
9
8
|
queryMode: QueryMode;
|
|
9
|
+
limit: number;
|
|
10
10
|
timeoutMs: number;
|
|
11
11
|
}
|
|
12
|
-
export interface
|
|
12
|
+
export interface QueryOptions extends BaseQueryOptions {
|
|
13
|
+
source: IRI;
|
|
14
|
+
}
|
|
15
|
+
export interface QueryAllOptions extends BaseQueryOptions {
|
|
13
16
|
sources: IRI[];
|
|
14
|
-
query: string;
|
|
15
|
-
queryMode: QueryMode;
|
|
16
|
-
timeoutMs: number;
|
|
17
17
|
}
|
|
18
18
|
export declare class DistributionsService {
|
|
19
19
|
private logger;
|
|
@@ -27,4 +27,5 @@ export declare class DistributionsService {
|
|
|
27
27
|
query(options: QueryOptions): Promise<TermsResponse>;
|
|
28
28
|
queryAll(options: QueryAllOptions): Promise<TermsResponse[]>;
|
|
29
29
|
}
|
|
30
|
+
export {};
|
|
30
31
|
//# sourceMappingURL=distributions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,aAAa,EAAC,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAE,GAAG,EAAC,MAAM,cAAc,CAAC;AAI1C,
|
|
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,aAAa,EAAC,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAE,GAAG,EAAC,MAAM,cAAc,CAAC;AAI1C,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,MAAM,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,OAAO,EAAE,GAAG,EAAE,CAAC;CAChB;AAiBD,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,aAAa,CAAC;IAsBpD,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAiBnE"}
|
package/build/distributions.js
CHANGED
|
@@ -2,17 +2,17 @@ import Joi from 'joi';
|
|
|
2
2
|
import { QueryTermsService } from './query.js';
|
|
3
3
|
import { comunica } from './index.js';
|
|
4
4
|
import { clientQueriesCounter } from './instrumentation.js';
|
|
5
|
-
const
|
|
6
|
-
source: Joi.object().required(),
|
|
5
|
+
const schemaBase = Joi.object({
|
|
7
6
|
query: Joi.string().required(),
|
|
8
7
|
queryMode: Joi.string().required(),
|
|
8
|
+
limit: Joi.number().integer(),
|
|
9
9
|
timeoutMs: Joi.number().integer(),
|
|
10
10
|
});
|
|
11
|
-
const
|
|
11
|
+
const schemaQuery = schemaBase.append({
|
|
12
|
+
source: Joi.object().required(),
|
|
13
|
+
});
|
|
14
|
+
const schemaQueryAll = schemaBase.append({
|
|
12
15
|
sources: Joi.array().items(Joi.object().required()).min(1).required(),
|
|
13
|
-
query: Joi.string().required(),
|
|
14
|
-
queryMode: Joi.string().required(),
|
|
15
|
-
timeoutMs: Joi.number().integer(),
|
|
16
16
|
});
|
|
17
17
|
export class DistributionsService {
|
|
18
18
|
logger;
|
|
@@ -26,16 +26,16 @@ export class DistributionsService {
|
|
|
26
26
|
async query(options) {
|
|
27
27
|
const args = Joi.attempt(options, schemaQuery);
|
|
28
28
|
this.logger.info(`Preparing to query source "${args.source}"...`);
|
|
29
|
-
const dataset =
|
|
29
|
+
const dataset = this.catalog.getDatasetByIri(args.source);
|
|
30
30
|
if (dataset === undefined) {
|
|
31
31
|
throw Error(`Source with URI "${args.source}" not found`);
|
|
32
32
|
}
|
|
33
|
-
const distribution = dataset.
|
|
33
|
+
const distribution = dataset.getSparqlDistribution();
|
|
34
34
|
const queryService = new QueryTermsService({
|
|
35
35
|
logger: this.logger,
|
|
36
36
|
comunica: this.comunica,
|
|
37
37
|
});
|
|
38
|
-
return queryService.search(args.query, args.queryMode, dataset, distribution, args.timeoutMs);
|
|
38
|
+
return queryService.search(args.query, args.queryMode, dataset, distribution, args.limit, args.timeoutMs);
|
|
39
39
|
}
|
|
40
40
|
async queryAll(options) {
|
|
41
41
|
const args = Joi.attempt(options, schemaQueryAll);
|
|
@@ -47,6 +47,7 @@ export class DistributionsService {
|
|
|
47
47
|
source,
|
|
48
48
|
query: args.query,
|
|
49
49
|
queryMode: args.queryMode,
|
|
50
|
+
limit: args.limit,
|
|
50
51
|
timeoutMs: args.timeoutMs,
|
|
51
52
|
}));
|
|
52
53
|
return Promise.all(requests);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributions.js","sourceRoot":"","sources":["../src/distributions.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,iBAAiB,EAAgB,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"distributions.js","sourceRoot":"","sources":["../src/distributions.ts"],"names":[],"mappings":"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"}
|
package/build/query.d.ts
CHANGED
|
@@ -33,7 +33,20 @@ export declare class QueryTermsService {
|
|
|
33
33
|
comunica?: QueryEngine;
|
|
34
34
|
logger?: Pino.Logger;
|
|
35
35
|
});
|
|
36
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Parameterize the SPARQL query’s limit in two ways:
|
|
38
|
+
* - as a pre-bound variable ?limit (for GraphDB’s luc:limit, Wikidata and text:query);
|
|
39
|
+
* - by replacing the #LIMIT# placeholder (for LIMIT 123).
|
|
40
|
+
*/
|
|
41
|
+
parameterizeLimit(args: {
|
|
42
|
+
query: string;
|
|
43
|
+
bindings: Record<string, RDF.Term>;
|
|
44
|
+
limit: number;
|
|
45
|
+
}): {
|
|
46
|
+
queryWithLimit: string;
|
|
47
|
+
bindingsWithLimit: Record<string, RDF.Term>;
|
|
48
|
+
};
|
|
49
|
+
search(searchQuery: string, queryMode: QueryMode, dataset: Dataset, distribution: Distribution, limit: number, timeoutMs: number): Promise<TermsResponse>;
|
|
37
50
|
lookup(iris: IRI[], distribution: Distribution, timeoutMs: number): Promise<TermsResponse>;
|
|
38
51
|
run(query: string, distribution: Distribution, timeoutMs: number, bindings?: Record<string, RDF.Term>): Promise<TermsResponse>;
|
|
39
52
|
}
|
package/build/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,cAAc,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAmB,MAAM,YAAY,CAAC;AAClD,OAAO,EAAC,SAAS,EAAgB,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAMnD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;AAE7D,qBAAa,aAAa;IAEtB,QAAQ,CAAC,MAAM,EAAE,WAAW;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM;gBADtB,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,MAAM;CAElC;AAED,qBAAa,KAAK;IAEd,QAAQ,CAAC,YAAY,EAAE,YAAY;IACnC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;gBADb,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,IAAI,EAAE;CAEzB;AAED,qBAAa,KAAK;IAEd,QAAQ,CAAC,YAAY,EAAE,YAAY;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM;gBADf,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM;CAE3B;AAED,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAA1B,YAAY,EAAE,YAAY,EACnC,SAAS,EAAE,MAAM;CAIpB;AAED,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;
|
|
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,cAAc,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAmB,MAAM,YAAY,CAAC;AAClD,OAAO,EAAC,SAAS,EAAgB,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAMnD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;AAE7D,qBAAa,aAAa;IAEtB,QAAQ,CAAC,MAAM,EAAE,WAAW;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM;gBADtB,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,MAAM;CAElC;AAED,qBAAa,KAAK;IAEd,QAAQ,CAAC,YAAY,EAAE,YAAY;IACnC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;gBADb,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,IAAI,EAAE;CAEzB;AAED,qBAAa,KAAK;IAEd,QAAQ,CAAC,YAAY,EAAE,YAAY;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM;gBADf,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM;CAE3B;AAED,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAA1B,YAAY,EAAE,YAAY,EACnC,SAAS,EAAE,MAAM;CAIpB;AAED,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;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;KACf,GAAG;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;KAAC;IAanE,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAyBnB,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,aAAa,CAAC;CA0F1B"}
|
package/build/query.js
CHANGED
|
@@ -6,7 +6,7 @@ import PrettyMilliseconds from 'pretty-ms';
|
|
|
6
6
|
import { TermsTransformer } from './terms.js';
|
|
7
7
|
import { queryVariants } from './search/query-mode.js';
|
|
8
8
|
import { QueryEngine } from '@comunica/query-sparql';
|
|
9
|
-
import { BindingsFactory } from '@comunica/bindings-factory';
|
|
9
|
+
import { BindingsFactory } from '@comunica/utils-bindings-factory';
|
|
10
10
|
import { DataFactory } from 'rdf-data-factory';
|
|
11
11
|
import { sourceQueriesHistogram } from './instrumentation.js';
|
|
12
12
|
import { config } from './config.js';
|
|
@@ -50,13 +50,34 @@ export class QueryTermsService {
|
|
|
50
50
|
this.engine = options.comunica || new QueryEngine();
|
|
51
51
|
this.logger = options.logger || Pino.pino();
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Parameterize the SPARQL query’s limit in two ways:
|
|
55
|
+
* - as a pre-bound variable ?limit (for GraphDB’s luc:limit, Wikidata and text:query);
|
|
56
|
+
* - by replacing the #LIMIT# placeholder (for LIMIT 123).
|
|
57
|
+
*/
|
|
58
|
+
parameterizeLimit(args) {
|
|
59
|
+
return {
|
|
60
|
+
queryWithLimit: args.query.replace('#LIMIT#', `LIMIT ${args.limit}`),
|
|
61
|
+
bindingsWithLimit: {
|
|
62
|
+
...args.bindings,
|
|
63
|
+
limit: dataFactory.literal(args.limit.toString(), dataFactory.namedNode('http://www.w3.org/2001/XMLSchema#integer')),
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
async search(searchQuery, queryMode, dataset, distribution, limit, timeoutMs) {
|
|
54
68
|
const bindings = [...queryVariants(searchQuery, queryMode)].reduce((record, [k, v]) => {
|
|
55
69
|
record[k] = dataFactory.literal(v);
|
|
56
70
|
return record;
|
|
57
71
|
}, {});
|
|
58
72
|
bindings['datasetUri'] = dataFactory.namedNode(dataset.iri.toString());
|
|
59
|
-
|
|
73
|
+
const { queryWithLimit, bindingsWithLimit } = this.parameterizeLimit({
|
|
74
|
+
query: distribution.searchQuery,
|
|
75
|
+
bindings,
|
|
76
|
+
limit,
|
|
77
|
+
});
|
|
78
|
+
return this.run(
|
|
79
|
+
// For plain SPARQL LIMIT (LIMIT 123) that cannot be pre-bound
|
|
80
|
+
queryWithLimit, distribution, timeoutMs, bindingsWithLimit);
|
|
60
81
|
}
|
|
61
82
|
async lookup(iris, distribution, timeoutMs) {
|
|
62
83
|
return this.run(distribution.lookupQuery.replace('?uris', iris.map(iri => `<${iri}>`).join(' ')), distribution, timeoutMs);
|
|
@@ -89,7 +110,7 @@ export class QueryTermsService {
|
|
|
89
110
|
quadStream.on('error', error => {
|
|
90
111
|
const elapsed = Math.round(timer.elapsed());
|
|
91
112
|
this.logger.error(`An error occurred when querying "${distribution.endpoint}": ${error} with %o`, error);
|
|
92
|
-
if ('
|
|
113
|
+
if (error.message.startsWith('Fetch timed out')) {
|
|
93
114
|
sourceQueriesHistogram.record(Math.round(timer.elapsed()), {
|
|
94
115
|
distribution: distribution.iri.toString(),
|
|
95
116
|
error: 'TimeoutError',
|
package/build/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,kBAAkB,MAAM,WAAW,CAAC;AAG3C,OAAO,EAAO,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAClD,OAAO,EAAY,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,eAAe,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/build/server-test.js
CHANGED
|
@@ -9,7 +9,7 @@ let servers;
|
|
|
9
9
|
export const testCatalog = (port) => new Catalog([
|
|
10
10
|
new Dataset(new IRI('https://data.rkd.nl/rkdartists'), 'RKDartists', 'Biografische gegevens van Nederlandse en buitenlandse kunstenaars van de middeleeuwen tot heden', [
|
|
11
11
|
new IRI('https://data.cultureelerfgoed.nl/termennetwerk/onderwerpen/Personen'),
|
|
12
|
-
], [new IRI('https://example.com/resources/')], 'https://example.com/rkdartists', 'nl', [
|
|
12
|
+
], [new IRI('https://example.com/resources/')], 'https://example.com/rkdartists', ['en', 'nl'], [
|
|
13
13
|
new Organization(new IRI('https://rkd.nl'), 'RKD – Nederlands Instituut voor Kunstgeschiedenis', 'RKD'),
|
|
14
14
|
], [
|
|
15
15
|
new SparqlDistribution(new IRI('https://data.netwerkdigitaalerfgoed.nl/rkd/rkdartists/sparql'), new IRI(`http://localhost:${port}/sparql`), `
|
|
@@ -27,7 +27,7 @@ export const testCatalog = (port) => new Catalog([
|
|
|
27
27
|
?match skos:prefLabel ?match_label .
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
LIMIT
|
|
30
|
+
#LIMIT#`, `
|
|
31
31
|
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
|
32
32
|
CONSTRUCT {
|
|
33
33
|
?s ?p ?o ;
|
|
@@ -60,7 +60,7 @@ export const testCatalog = (port) => new Catalog([
|
|
|
60
60
|
], 'RKD'),
|
|
61
61
|
new Dataset(new IRI('https://data.cultureelerfgoed.nl/term/id/cht'), 'Cultuurhistorische Thesaurus', 'Onderwerpen voor het beschrijven van cultureel erfgoed', [
|
|
62
62
|
new IRI('https://data.cultureelerfgoed.nl/termennetwerk/onderwerpen/Abstracte-begrippen'),
|
|
63
|
-
], [new IRI('https://data.cultureelerfgoed.nl/term/id/cht/')], 'https://example.com/cht', 'nl', [
|
|
63
|
+
], [new IRI('https://data.cultureelerfgoed.nl/term/id/cht/')], 'https://example.com/cht', ['nl'], [
|
|
64
64
|
new Organization(new IRI('https://www.cultureelerfgoed.nl'), 'Rijksdienst voor het Cultureel Erfgoed', 'RCE'),
|
|
65
65
|
], [
|
|
66
66
|
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 }', [
|
|
@@ -69,14 +69,14 @@ export const testCatalog = (port) => new Catalog([
|
|
|
69
69
|
]),
|
|
70
70
|
new Dataset(new IRI('http://vocab.getty.edu/aat'), 'Art & Architecture Thesaurus', 'Onderwerpen voor het beschrijven van architectuur-, kunst- en cultuurhistorische collecties', [
|
|
71
71
|
new IRI('https://data.cultureelerfgoed.nl/termennetwerk/onderwerpen/Abstracte-begrippen'),
|
|
72
|
-
], [new IRI('http://vocab.getty.edu/aat/')], 'https://example.com/aat', 'nl', [
|
|
72
|
+
], [new IRI('http://vocab.getty.edu/aat/')], 'https://example.com/aat', ['nl'], [
|
|
73
73
|
new Organization(new IRI('http://www.getty.edu/research/'), 'Getty Research Institute', 'Getty'),
|
|
74
74
|
], [
|
|
75
75
|
new SparqlDistribution(new IRI('https://example.com/distributions/timeout'), new IRI('https://httpbin.org/delay/3'), 'CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }', 'CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }'),
|
|
76
76
|
]),
|
|
77
77
|
new Dataset(new IRI('http://data.beeldengeluid.nl/gtaa/Persoonsnamen'), 'GTAA: persoonsnamen', 'Personen voor het beschrijven van audiovisueel materiaal', [
|
|
78
78
|
new IRI('https://data.cultureelerfgoed.nl/termennetwerk/onderwerpen/Abstracte-begrippen'),
|
|
79
|
-
], [new IRI('http://data.beeldengeluid.nl/gtaa/')], 'https://example.com/gtaa', 'nl', [
|
|
79
|
+
], [new IRI('http://data.beeldengeluid.nl/gtaa/')], 'https://example.com/gtaa', ['nl'], [
|
|
80
80
|
new Organization(new IRI('https://www.beeldengeluid.nl/'), 'Nederlands Instituut voor Beeld en Geluid', 'Beeld en Geluid'),
|
|
81
81
|
], [
|
|
82
82
|
new SparqlDistribution(new IRI('https://data.beeldengeluid.nl/id/datadownload/0026'), new IRI('https://username:password@gtaa.apis.beeldengeluid.nl/sparql'), 'CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }', 'CONSTRUCT { ?s ?p ?o } WHERE { ?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,YAAY,EACZ,iGAAiG,EACjG;QACE,IAAI,GAAG,CACL,qEAAqE,CACtE;KACF,EACD,CAAC,IAAI,GAAG,CAAC,gCAAgC,CAAC,CAAC,EAC3C,gCAAgC,EAChC,IAAI,
|
|
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": "5.
|
|
3
|
+
"version": "5.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -29,31 +29,30 @@
|
|
|
29
29
|
"keywords": [],
|
|
30
30
|
"description": "Engine for querying sources in the Network of Terms",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@comunica/
|
|
33
|
-
"@comunica/
|
|
34
|
-
"@
|
|
35
|
-
"@hapi/hoek": "^11.0.4",
|
|
32
|
+
"@comunica/query-sparql": "^4.0.2",
|
|
33
|
+
"@comunica/utils-bindings-factory": "^4.0.2",
|
|
34
|
+
"@hapi/hoek": "^11.0.7",
|
|
36
35
|
"@opentelemetry/api": "^1.9.0",
|
|
37
|
-
"@opentelemetry/exporter-metrics-otlp-proto": "0.
|
|
38
|
-
"@opentelemetry/resources": "1.
|
|
39
|
-
"@opentelemetry/sdk-metrics": "1.
|
|
40
|
-
"@opentelemetry/semantic-conventions": "1.
|
|
36
|
+
"@opentelemetry/exporter-metrics-otlp-proto": "0.55.0",
|
|
37
|
+
"@opentelemetry/resources": "1.28.0",
|
|
38
|
+
"@opentelemetry/sdk-metrics": "1.28.0",
|
|
39
|
+
"@opentelemetry/semantic-conventions": "1.28.0",
|
|
41
40
|
"@rdfjs/data-model": "^2.0.2",
|
|
42
41
|
"env-schema": "^6.0.0",
|
|
43
42
|
"joi": "^17.13.3",
|
|
44
|
-
"pino": "^9.
|
|
45
|
-
"pino-pretty": "^11.2.
|
|
46
|
-
"pretty-ms": "^9.
|
|
43
|
+
"pino": "^9.4.0",
|
|
44
|
+
"pino-pretty": "^11.2.2",
|
|
45
|
+
"pretty-ms": "^9.2.0",
|
|
47
46
|
"rdf-data-factory": "^1.1.2",
|
|
48
47
|
"rdf-store-stream": "^2.0.1"
|
|
49
48
|
},
|
|
50
49
|
"devDependencies": {
|
|
51
|
-
"@comunica/query-sparql-file": "^
|
|
52
|
-
"@comunica/types": "^
|
|
50
|
+
"@comunica/query-sparql-file": "^4.0.2",
|
|
51
|
+
"@comunica/types": "^4.0.2",
|
|
53
52
|
"@jest/globals": "^29.6.2",
|
|
54
53
|
"asynciterator": "^3.9.0",
|
|
55
|
-
"jest-dev-server": "10.
|
|
56
|
-
"spawnd": "^10.
|
|
54
|
+
"jest-dev-server": "10.1.4",
|
|
55
|
+
"spawnd": "^10.1.1"
|
|
57
56
|
},
|
|
58
57
|
"engines": {
|
|
59
58
|
"node": ">=16.15.0"
|