diff --git a/library/options.ts b/library/options.ts index 7c453c7..7aec8ce 100644 --- a/library/options.ts +++ b/library/options.ts @@ -24,6 +24,7 @@ const defaultOptions = { engine: new QueryEngine(), take: 1000, logQuery: () => {}, + distinctConstruct: true, // Needed for Comunica to filter duplicate quads on CONSTRUCT queries }; let globalOptions: Options = {}; diff --git a/library/rdf.ts b/library/rdf.ts index 7e7d2a6..142c548 100644 --- a/library/rdf.ts +++ b/library/rdf.ts @@ -4,8 +4,6 @@ export type { RDF }; export { fromRdf, toRdf } from "npm:rdf-literal@^2.0.0"; -import { quadToStringQuad } from "npm:rdf-string@^2.0.0"; - import { DataFactory, DefaultGraph } from "npm:rdf-data-factory@^2.0.2"; export { DataFactory, DefaultGraph }; @@ -21,17 +19,8 @@ export type Graph = Map; export const quadsToGraph = (quadStream: RDF.ResultStream) => { return new Promise((resolve, reject) => { const graph: Graph = new Map(); - const included: Record = {}; quadStream.on("data", (quad) => { - const hash = Object.values(quadToStringQuad(quad)).join(" "); - - if (included[hash]) { - return; - } - - included[hash] = true; - const s = quad.subject.value; const p = quad.predicate.value; diff --git a/tests/test_deps.ts b/tests/test_deps.ts index 7f32aa5..c787a98 100644 --- a/tests/test_deps.ts +++ b/tests/test_deps.ts @@ -9,4 +9,4 @@ export { export { assert as assertTypeSafe, type Equals } from "npm:tsafe@^1.8.5"; -export { QueryEngine as Comunica } from "npm:@comunica/query-sparql-rdfjs@^4.1.0"; +export { QueryEngine as Comunica } from "npm:@comunica/query-sparql-rdfjs@^4.3.0";