Skip to content

RDF/JS Compatibility #62

@tpluscode

Description

@tpluscode

Is your feature request related to a problem? Please describe.

I do not find any mention of RDF/JS spec in the docs. It would be really useful if the query engine was usable with any RDF/JS DatasetCore. It's a shame that the library uses its own abstraction of the RDF model.

Describe the solution you'd like

Ideally, the usage would be something like

import { PlanBuilder } from 'sparql-engine'
// or any other RDF/JS compatible factory
import $rdf from 'rdf-ext'

const dataset = $rdf.dataset()

// the rest unchanged
const builder = new PlanBuilder(dataset)
const iterator = builder.build(query)

Describe alternatives you've considered

An adapter would also be an option like below, but I think that given the incompatibility of the graph and triple models this would not make a great solution

import { PlanBuilder, RdfjsDatasetAdapter } from 'sparql-engine'
import $rdf from 'rdf-ext'

const dataset = $rdf.dataset()
const builder = new PlanBuilder(new RdfjsDatasetAdapter(dataset))

Additional context

RDF/JS is a de-facto standard, driven by community, and widely supported. N3 is compatible, graph.js is compatible, comunica is compatible. I think it beneficiary to also use RDF/JS as the underlying model for sparql-engine

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions