quadstorejs / quadstore

A LevelDB-backed graph database for JS runtimes (Node.js, Deno, browsers, ...) supporting SPARQL queries and the RDF/JS interface.
https://github.com/quadstorejs/quadstore
MIT License
203 stars 14 forks source link

Fixed link to node-quadstore-sparql #75

Closed retog closed 4 years ago

jacoscaz commented 4 years ago

Apologies for delay in getting back to you @retog, busy times. Thank you for this fix! I am working on a fairly big upheaval of quadstore's internals in feature/experimental-indexing. I might close this PR but rest assured I will pull in your changes nonetheless. Are you currently using quadstore?

retog commented 4 years ago

Hi @jacoscaz, unfortunately I found out that quadstore doesn't yet support SPARQL-Update-Statements so I can't use it in my application.

jacoscaz commented 4 years ago

Hello @retog . We're slowly working our way towards that. I don't (yet) have a date in which that might released but it's definitely coming.

retog commented 4 years ago

Hi @jacoscaz, I'm very much looking forward to it. Even a pre-release of a subset would be very welcome.

jacoscaz commented 4 years ago

Hey @retog . Keep an eye on the devel branch. As of today, we've roughly got configurable indexes working and we're now drafting an internal query engine. Once that is done, we should be able to use https://www.npmjs.com/package/sparqljs to provide a SPARQL interface without having to go through Comunica. Not that the latter is bad, on the contrary - it's one terrific piece of software - but we're aiming for something a little closer to the metal.

jacoscaz commented 4 years ago

@retog following up on my previous message, I've started working on native SPARQL support, which is happening (for the time being) in the feature/sparql-and-complex-searches branch. It's still early days stuff but work is progressing nicely. So far we got simple SELECT and update (INSERT DATA, DELETE DATA, INSERT/DELETE WHERE) working but most of the effort has gone into creating the scaffolding for that. I've also tidied up the repo WRT issues, projects, milestones and whatnot. Feel free to comment and suggest features.

retog commented 4 years ago

Hi @jacoscaz , I tried using that branch but with it I now get the error:

Error: Cannot find module 'babelify' from '...\node_modules\p-iteration    at ...\node_modules\resolve\lib\async.js:97:35

Also, I'n not really sure how to use it, should I still use together with quadstore-sparql@6.0.0?

jacoscaz commented 4 years ago

@retog that's an unexpected error. I will look into this. And no, this branch does away with quadstore-sparql and brings native support for SPARQL (and a bunch of other things) within quadstore itself. I will ping you again when things are more stable. If you let me know the feature set you're interested in, I will ping you once I am reasonably confident that those features are available and somewhat stable.

retog commented 4 years ago

@jacoscaz simple SELECT queries and INSERT statement would already allow me to implement a first version of my project. Let me know if there's something that might work.

jacoscaz commented 4 years ago

Hello @retog . With the latest commits we've merged in some recent work regarding typescript, complex searches and SPARQL queries in our main development branch (devel). Tests are passing, although we need a lot more of those. We do have preliminary, experimental support for both simple SELECT and INSERT queries. As per my previous comment, quadstore-sparql is not needed anymore, although we're a long way from replicating the core feature set that Comunica (and therefore quadstore-sparql) came with (such as formatting results to RDF-y media types).

jacoscaz commented 4 years ago

I will close this PR and our focus is moving away from quadstore-sparql itself. Please do feel free to open other issues and PRs according to your needs and testing!

jacoscaz commented 4 years ago

Hello @retog! Just FYI, version 7.0.1-alpha.3 is now on NPM under the alpha tag, including foundational support for:

jacoscaz commented 4 years ago

Version 7.0.1-alpha.5 is now on NPM, including the last bit of functionality that was missing which is a foundational degree of filter optimization (we push them down to the persistence level). API stability has improved considerably, including TS typings.