diff --git a/test/comunica/sparql_file/file.ttl b/test/comunica/sparql_file/file.ttl new file mode 100644 index 00000000..2afbb546 --- /dev/null +++ b/test/comunica/sparql_file/file.ttl @@ -0,0 +1,6 @@ +@prefix ex: . + +ex:subject1 ex:predicate1 ex:object1 . +ex:subject2 ex:predicate2 ex:object2 . +ex:subject3 ex:predicate3 ex:object3 . +ex:subject4 ex:predicate4 ex:object4 . \ No newline at end of file diff --git a/test/comunica/sparql_file/sparql-file1_no.js b/test/comunica/sparql_file/sparql-file1_no.js new file mode 100644 index 00000000..e59d7390 --- /dev/null +++ b/test/comunica/sparql_file/sparql-file1_no.js @@ -0,0 +1,39 @@ +const QueryEngine = require('@comunica/query-sparql-file').QueryEngine; +const myEngine = new QueryEngine(); + +const bindingsStream = await myEngine.queryBindings(` + SELECT ?s ?p ?o WHERE { + ?s ?p . + ?s ?p ?o + } LIMIT 100`, { + sources: ['http://fragments.dbpedia.org/2015/en'], +}); + +// Consume results as a stream (best performance) +bindingsStream.on('data', (binding) => { + console.log(binding.toString()); // Quick way to print bindings for testing + + console.log(binding.has('s')); // Will be true + + // Obtaining values + console.log(binding.get('s').value); + console.log(binding.get('s').termType); + console.log(binding.get('p').value); + console.log(binding.get('o').value); +}); +bindingsStream.on('end', () => { + // The data-listener will not be called anymore once we get here. +}); +bindingsStream.on('error', (error) => { + console.error(error); +}); + +// Consume results as async iterable (easier) +for await (const binding of bindingsStream) { + console.log(binding.toString()); +} + +// Consume results as an array (easier) +const bindings = await bindingsStream.toArray(); +console.log(bindings[0].get('s').value); +console.log(bindings[0].get('s').termType); \ No newline at end of file