Oxigraph for JavaScript ======================= [![npm](https://img.shields.io/npm/v/oxigraph)](https://www.npmjs.com/package/oxigraph) [![actions status](https://github.com/oxigraph/oxigraph/workflows/build/badge.svg)](https://github.com/oxigraph/oxigraph/actions) [![Gitter](https://badges.gitter.im/oxigraph/community.svg)](https://gitter.im/oxigraph/community) This package provides a JavaScript API on top of [Oxigraph](https://crates.io/crates/oxigraph), compiled with WebAssembly. Oxigraph is a graph database written in Rust implementing the [SPARQL](https://www.w3.org/TR/sparql11-overview/) standard. Oxigraph for JavaScript is a work in progress and currently offers a simple in-memory store with [SPARQL 1.1 Query](https://www.w3.org/TR/sparql11-query/) and [SPARQL 1.1 Update](https://www.w3.org/TR/sparql11-update/) capabilities. The store is also able to load RDF serialized in [Turtle](https://www.w3.org/TR/turtle/), [TriG](https://www.w3.org/TR/trig/), [N-Triples](https://www.w3.org/TR/n-triples/), [N-Quads](https://www.w3.org/TR/n-quads/) and [RDF/XML](https://www.w3.org/TR/rdf-syntax-grammar/). It is distributed using a [a NPM package](https://www.npmjs.com/package/oxigraph) that should work with Node.JS 12+ and modern web browsers compatible with WebAssembly. To install: ```bash npm install oxigraph ``` To load with Node.JS: ```js const oxigraph = require('oxigraph'); ``` or with ES modules: ```js import oxigraph from './node_modules/oxigraph/node.js'; ``` To load on an HTML web page (for [WebPack 5](https://webpack.js.org/) remove the ` ``` ## Node.JS Example Insert the triple ` "example"` and log the name of `` in SPARQL: ```js const oxigraph = require('oxigraph'); const store = new oxigraph.Store(); const ex = oxigraph.namedNode("http://example/"); const schemaName = oxigraph.namedNode("http://schema.org/name"); store.add(oxigraph.triple(ex, schemaName, oxigraph.literal("example"))); for (const binding of store.query("SELECT ?name WHERE { ?name }")) { console.log(binding.get("name").value); } ``` ## Web Example Insert the triple ` "example"` and log the name of `` in SPARQL: ```html ``` This example works with WebPack too if you remove the `