SenShaMart/test/N3/index.js
2022-11-22 13:30:19 +11:00

49 lines
No EOL
1.4 KiB
JavaScript

const N3 = require('n3');
const newEngine = require('@comunica/actor-init-sparql-rdfjs').newEngine;
const jsonld = require('jsonld');
const N3Store = require('n3').Store;
const DataFactory = require('n3').DataFactory;
const myEngine = newEngine();
const parser = new N3.Parser();
const store = new N3Store();
const doc = {
"http://schema.org/name": "Manu Sporny",
"http://schema.org/url": {"@id": "http://manu.sporny.org/"},
"http://schema.org/image": {"@id": "http://manu.sporny.org/images/manu.png"}
};
jsonld.toRDF(doc, {format: 'application/n-quads'}, (err, nquads) => {
// nquads is a string of N-Quads
//console.log(nquads);
parser.parse(
nquads,
(error, quad, prefixes) => {
if (quad)
//console.log(quad);
store.addQuad(quad);
else
console.log(store);
const start = async function (a,b){
const result = await myEngine.query('SELECT * { ?s ?p <http://manu.sporny.org/>. ?s ?p ?o} LIMIT 100',
{ sources: [ { value: store } ] });
//result.bindingsStream.on('data', (data) => {
// Each data object contains a mapping from variables to RDFJS terms.
console.log(result);
// console.log(data.get('?p'));
// console.log(data.get('?o'));
// });
};
start();
});
});