From f6bde49e3e3eb4b18e0212d003e63762f41e2e2b Mon Sep 17 00:00:00 2001 From: Dmitry <121898072+bpmbpm@users.noreply.github.com> Date: Thu, 13 Mar 2025 21:25:59 +0300 Subject: [PATCH] Add files via upload --- test/comunica/sparql_file/sparql-file1.mjs | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/comunica/sparql_file/sparql-file1.mjs diff --git a/test/comunica/sparql_file/sparql-file1.mjs b/test/comunica/sparql_file/sparql-file1.mjs new file mode 100644 index 00000000..83824582 --- /dev/null +++ b/test/comunica/sparql_file/sparql-file1.mjs @@ -0,0 +1,44 @@ +// const QueryEngine = require('@comunica/query-sparql-file').QueryEngine; +import { QueryEngine } from '@comunica/query-sparql-file'; +const myEngine = new QueryEngine(); + +const bindingsStream = await myEngine.queryBindings(` + SELECT ?s ?p ?o WHERE { + ?s ?p . + ?s ?p ?o + } LIMIT 5`, { + 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) +// console.log(bindings[0].get('s').value); +// TypeError: Cannot read properties of undefined (reading 'get') + 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