ldkit 2.5.0 → 2.5.2

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 +1 @@
1
- {"version":3,"file":"query_builder.d.ts","sourceRoot":"","sources":["../../../src/library/lens/query_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAe,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAM5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAYzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAkB;gBAEzB,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO;IAMpD,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;IA4FhB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAW5C,QAAQ,CACN,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAsBhB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAyBjE,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY;IAchD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;IAK9B,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,SAAU,GAAG,EAAE,YAOxB;IAEF,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;CAU/B"}
1
+ {"version":3,"file":"query_builder.d.ts","sourceRoot":"","sources":["../../../src/library/lens/query_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAe,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAM5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAYzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAkB;gBAEzB,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO;IAMpD,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;IA4FhB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAY5C,QAAQ,CACN,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAsBhB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAyBjE,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY;IAchD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;IAK9B,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,SAAU,GAAG,EAAE,YAOxB;IAEF,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;CAU/B"}
@@ -115,7 +115,8 @@ export class QueryBuilder {
115
115
  const innerQuery = max === undefined
116
116
  ? quads
117
117
  : SELECT `?iri`.WHERE `${quads}`.LIMIT(max);
118
- return SELECT `(count(?iri) as ?count)`.WHERE `${innerQuery}`.build();
118
+ return SELECT `(COUNT(DISTINCT ?iri) as ?count)`.WHERE `${innerQuery}`
119
+ .build();
119
120
  }
120
121
  getQuery(where, limit, offset) {
121
122
  const selectSubQuery = SELECT.DISTINCT `
@@ -1 +1 @@
1
- {"version":3,"file":"update_helper.d.ts","sourceRoot":"","sources":["../../../src/library/lens/update_helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,UAAU,EAAE,WAAW,EAAE,CAAM;gBAG7C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,mBAAmB,SAAI;IAQlB,OAAO,CAAC,MAAM,EAAE,MAAM;IAM7B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,MAAM;CASf"}
1
+ {"version":3,"file":"update_helper.d.ts","sourceRoot":"","sources":["../../../src/library/lens/update_helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,UAAU,EAAE,WAAW,EAAE,CAAM;gBAG7C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,mBAAmB,SAAI;IAQlB,OAAO,CAAC,MAAM,EAAE,MAAM;IAM7B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,MAAM;CASf"}
@@ -62,7 +62,7 @@ export class UpdateHelper {
62
62
  return;
63
63
  }
64
64
  if (property["@array"]) {
65
- this.processArrayProperty(entity, propertyName, value);
65
+ this.processArrayProperty(entity, propertyName, value, property);
66
66
  }
67
67
  else {
68
68
  this.processSingleProperty(entity, propertyName, value, property);
@@ -92,23 +92,28 @@ export class UpdateHelper {
92
92
  const quadsToInsert = this.encode(insertPattern);
93
93
  this.insertQuads.push(...quadsToInsert);
94
94
  }
95
- processArrayProperty(entity, propertyName, propertyValue) {
95
+ processArrayProperty(entity, propertyName, propertyValue, property) {
96
96
  const config = this.parseArrayUpdateConfig(propertyValue);
97
97
  if (config.$set) {
98
- this.processArraySet(entity, propertyName, config.$set);
98
+ this.processArraySet(entity, propertyName, config.$set, property);
99
99
  }
100
100
  else {
101
101
  this.processArrayAddRemove(entity, propertyName, config.$add, config.$remove);
102
102
  }
103
103
  }
104
- processArraySet(entity, propertyName, propertyValue) {
104
+ processArraySet(entity, propertyName, propertyValue, property) {
105
105
  const deletePattern = {
106
106
  $id: entity.$id,
107
107
  [propertyName]: null,
108
108
  };
109
109
  const quadsToDelete = this.encode(deletePattern);
110
110
  this.deleteQuads.push(...quadsToDelete);
111
- this.whereQuads.push(...quadsToDelete);
111
+ if (property["@optional"]) {
112
+ this.whereQuads.push(OPTIONAL `${quadsToDelete}`);
113
+ }
114
+ else {
115
+ this.whereQuads.push(...quadsToDelete);
116
+ }
112
117
  const insertPattern = {
113
118
  $id: entity.$id,
114
119
  [propertyName]: propertyValue,
@@ -45,9 +45,10 @@ export declare function resolveOptions(options?: Options): {
45
45
  queryFormat?: import("@rdfjs/types").QueryFormat;
46
46
  baseIRI?: string;
47
47
  queryTimestamp?: Date;
48
- sources?: [import("@comunica/types").QuerySourceUnidentified, ...import("@comunica/types").QuerySourceUnidentified[]] | undefined;
48
+ sources?: ([import("@comunica/types").QuerySourceUnidentified, ...import("@comunica/types").QuerySourceUnidentified[]] & import("@comunica/types").QuerySourceUnidentified[]) | undefined;
49
49
  destination?: import("@comunica/types").IDataDestination;
50
50
  initialBindings?: import("@rdfjs/types").Bindings;
51
+ fileBaseIRI?: string;
51
52
  log?: import("@comunica/types").Logger;
52
53
  datetime?: Date;
53
54
  httpProxyHandler?: import("@comunica/types").IProxyHandler;
@@ -66,7 +67,7 @@ export declare function resolveOptions(options?: Options): {
66
67
  extensionFunctions?: Record<string, (args: import("@rdfjs/types").Term[]) => Promise<import("@rdfjs/types").Term>>;
67
68
  explain?: import("@comunica/types").QueryExplainMode;
68
69
  recoverBrokenLinks?: boolean;
69
- distinctConstruct: boolean;
70
+ distinctConstruct?: boolean;
70
71
  };
71
72
  export declare function resolveQueryContext(options: Options): QueryContext;
72
73
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/library/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAW1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEvD;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,OAAY;YAzCzC,YAAY;eACV,MAAM;UACV,MAAM;cACF,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CnC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAclE"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/library/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAU1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEvD;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,OAAY;YAxCzC,YAAY;eACV,MAAM;UACV,MAAM;cACF,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CnC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAclE"}
@@ -3,7 +3,6 @@ const defaultOptions = {
3
3
  engine: new QueryEngine(),
4
4
  take: 1000,
5
5
  logQuery: () => { },
6
- distinctConstruct: true, // Needed for Comunica to filter duplicate quads on CONSTRUCT queries
7
6
  };
8
7
  let globalOptions = {};
9
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rdf.d.ts","sourceRoot":"","sources":["../../src/library/rdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rdf.d.ts","sourceRoot":"","sources":["../../src/library/rdf.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  export { fromRdf, toRdf } from "rdf-literal";
2
+ import { quadToStringQuad } from "rdf-string";
2
3
  import { DataFactory, DefaultGraph } from "rdf-data-factory";
3
4
  export { DataFactory, DefaultGraph };
4
5
  export * as N3 from "n3";
5
6
  export const quadsToGraph = (quadStream) => {
6
7
  return new Promise((resolve, reject) => {
7
8
  const graph = new Map();
9
+ const included = {};
8
10
  quadStream.on("data", (quad) => {
11
+ const hash = Object.values(quadToStringQuad(quad)).join(" ");
12
+ if (included[hash]) {
13
+ return;
14
+ }
15
+ included[hash] = true;
9
16
  const s = quad.subject.value;
10
17
  const p = quad.predicate.value;
11
18
  const predicateMap = graph.get(s) || graph.set(s, new Map()).get(s);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ldkit",
3
- "version": "2.5.0",
3
+ "version": "2.5.2",
4
4
  "description": "LDkit, a Linked Data query toolkit for TypeScript developers",
5
5
  "keywords": [
6
6
  "linked data",
@@ -53,6 +53,7 @@
53
53
  "n3": "^1",
54
54
  "rdf-data-factory": "^2",
55
55
  "rdf-literal": "^2",
56
+ "rdf-string": "^2",
56
57
  "readable-from-web": "^1"
57
58
  },
58
59
  "_generatedBy": "dnt@dev"
@@ -1 +1 @@
1
- {"version":3,"file":"query_builder.d.ts","sourceRoot":"","sources":["../../../src/library/lens/query_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAe,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAM5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAYzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAkB;gBAEzB,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO;IAMpD,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;IA4FhB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAW5C,QAAQ,CACN,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAsBhB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAyBjE,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY;IAchD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;IAK9B,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,SAAU,GAAG,EAAE,YAOxB;IAEF,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;CAU/B"}
1
+ {"version":3,"file":"query_builder.d.ts","sourceRoot":"","sources":["../../../src/library/lens/query_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAe,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAM5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAYzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAkB;gBAEzB,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO;IAMpD,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;IA4FhB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM;IAY5C,QAAQ,CACN,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAsBhB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAyBjE,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY;IAchD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;IAK9B,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,SAAU,GAAG,EAAE,YAOxB;IAEF,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;CAU/B"}
@@ -118,7 +118,8 @@ class QueryBuilder {
118
118
  const innerQuery = max === undefined
119
119
  ? quads
120
120
  : (0, mod_js_2.SELECT) `?iri`.WHERE `${quads}`.LIMIT(max);
121
- return (0, mod_js_2.SELECT) `(count(?iri) as ?count)`.WHERE `${innerQuery}`.build();
121
+ return (0, mod_js_2.SELECT) `(COUNT(DISTINCT ?iri) as ?count)`.WHERE `${innerQuery}`
122
+ .build();
122
123
  }
123
124
  getQuery(where, limit, offset) {
124
125
  const selectSubQuery = mod_js_2.SELECT.DISTINCT `
@@ -1 +1 @@
1
- {"version":3,"file":"update_helper.d.ts","sourceRoot":"","sources":["../../../src/library/lens/update_helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,UAAU,EAAE,WAAW,EAAE,CAAM;gBAG7C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,mBAAmB,SAAI;IAQlB,OAAO,CAAC,MAAM,EAAE,MAAM;IAM7B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,MAAM;CASf"}
1
+ {"version":3,"file":"update_helper.d.ts","sourceRoot":"","sources":["../../../src/library/lens/update_helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAM;IAC7C,SAAgB,UAAU,EAAE,WAAW,EAAE,CAAM;gBAG7C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,mBAAmB,SAAI;IAQlB,OAAO,CAAC,MAAM,EAAE,MAAM;IAM7B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,MAAM;CASf"}
@@ -65,7 +65,7 @@ class UpdateHelper {
65
65
  return;
66
66
  }
67
67
  if (property["@array"]) {
68
- this.processArrayProperty(entity, propertyName, value);
68
+ this.processArrayProperty(entity, propertyName, value, property);
69
69
  }
70
70
  else {
71
71
  this.processSingleProperty(entity, propertyName, value, property);
@@ -95,23 +95,28 @@ class UpdateHelper {
95
95
  const quadsToInsert = this.encode(insertPattern);
96
96
  this.insertQuads.push(...quadsToInsert);
97
97
  }
98
- processArrayProperty(entity, propertyName, propertyValue) {
98
+ processArrayProperty(entity, propertyName, propertyValue, property) {
99
99
  const config = this.parseArrayUpdateConfig(propertyValue);
100
100
  if (config.$set) {
101
- this.processArraySet(entity, propertyName, config.$set);
101
+ this.processArraySet(entity, propertyName, config.$set, property);
102
102
  }
103
103
  else {
104
104
  this.processArrayAddRemove(entity, propertyName, config.$add, config.$remove);
105
105
  }
106
106
  }
107
- processArraySet(entity, propertyName, propertyValue) {
107
+ processArraySet(entity, propertyName, propertyValue, property) {
108
108
  const deletePattern = {
109
109
  $id: entity.$id,
110
110
  [propertyName]: null,
111
111
  };
112
112
  const quadsToDelete = this.encode(deletePattern);
113
113
  this.deleteQuads.push(...quadsToDelete);
114
- this.whereQuads.push(...quadsToDelete);
114
+ if (property["@optional"]) {
115
+ this.whereQuads.push((0, mod_js_1.OPTIONAL) `${quadsToDelete}`);
116
+ }
117
+ else {
118
+ this.whereQuads.push(...quadsToDelete);
119
+ }
115
120
  const insertPattern = {
116
121
  $id: entity.$id,
117
122
  [propertyName]: propertyValue,
@@ -45,9 +45,10 @@ export declare function resolveOptions(options?: Options): {
45
45
  queryFormat?: import("@rdfjs/types").QueryFormat;
46
46
  baseIRI?: string;
47
47
  queryTimestamp?: Date;
48
- sources?: [import("@comunica/types").QuerySourceUnidentified, ...import("@comunica/types").QuerySourceUnidentified[]] | undefined;
48
+ sources?: ([import("@comunica/types").QuerySourceUnidentified, ...import("@comunica/types").QuerySourceUnidentified[]] & import("@comunica/types").QuerySourceUnidentified[]) | undefined;
49
49
  destination?: import("@comunica/types").IDataDestination;
50
50
  initialBindings?: import("@rdfjs/types").Bindings;
51
+ fileBaseIRI?: string;
51
52
  log?: import("@comunica/types").Logger;
52
53
  datetime?: Date;
53
54
  httpProxyHandler?: import("@comunica/types").IProxyHandler;
@@ -66,7 +67,7 @@ export declare function resolveOptions(options?: Options): {
66
67
  extensionFunctions?: Record<string, (args: import("@rdfjs/types").Term[]) => Promise<import("@rdfjs/types").Term>>;
67
68
  explain?: import("@comunica/types").QueryExplainMode;
68
69
  recoverBrokenLinks?: boolean;
69
- distinctConstruct: boolean;
70
+ distinctConstruct?: boolean;
70
71
  };
71
72
  export declare function resolveQueryContext(options: Options): QueryContext;
72
73
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/library/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAW1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEvD;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,OAAY;YAzCzC,YAAY;eACV,MAAM;UACV,MAAM;cACF,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CnC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAclE"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/library/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAU1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEvD;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,OAAY;YAxCzC,YAAY;eACV,MAAM;UACV,MAAM;cACF,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CnC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAclE"}
@@ -8,7 +8,6 @@ const defaultOptions = {
8
8
  engine: new mod_js_1.QueryEngine(),
9
9
  take: 1000,
10
10
  logQuery: () => { },
11
- distinctConstruct: true, // Needed for Comunica to filter duplicate quads on CONSTRUCT queries
12
11
  };
13
12
  let globalOptions = {};
14
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rdf.d.ts","sourceRoot":"","sources":["../../src/library/rdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rdf.d.ts","sourceRoot":"","sources":["../../src/library/rdf.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ exports.QuadFactory = exports.BindingsFactory = exports.ReadOnlyBindings = expor
27
27
  var rdf_literal_1 = require("rdf-literal");
28
28
  Object.defineProperty(exports, "fromRdf", { enumerable: true, get: function () { return rdf_literal_1.fromRdf; } });
29
29
  Object.defineProperty(exports, "toRdf", { enumerable: true, get: function () { return rdf_literal_1.toRdf; } });
30
+ const rdf_string_1 = require("rdf-string");
30
31
  const rdf_data_factory_1 = require("rdf-data-factory");
31
32
  Object.defineProperty(exports, "DataFactory", { enumerable: true, get: function () { return rdf_data_factory_1.DataFactory; } });
32
33
  Object.defineProperty(exports, "DefaultGraph", { enumerable: true, get: function () { return rdf_data_factory_1.DefaultGraph; } });
@@ -34,7 +35,13 @@ exports.N3 = __importStar(require("n3"));
34
35
  const quadsToGraph = (quadStream) => {
35
36
  return new Promise((resolve, reject) => {
36
37
  const graph = new Map();
38
+ const included = {};
37
39
  quadStream.on("data", (quad) => {
40
+ const hash = Object.values((0, rdf_string_1.quadToStringQuad)(quad)).join(" ");
41
+ if (included[hash]) {
42
+ return;
43
+ }
44
+ included[hash] = true;
38
45
  const s = quad.subject.value;
39
46
  const p = quad.predicate.value;
40
47
  const predicateMap = graph.get(s) || graph.set(s, new Map()).get(s);