pietercolpaert / hardf

Low level PHP library for RDF1.1 based on N3.js
https://packagist.org/packages/pietercolpaert/hardf
MIT License
36 stars 7 forks source link

Roadmap for hardf? #13

Closed k00ni closed 7 years ago

k00ni commented 7 years ago

I would like to know what roadmap for hardf you have?

In my opinion, you are currently the only RDF parsing and serialization solution, which is not only up to date, but works with PHP 7.x and is actively maintained. EasyRdf, some kind of a state-of-the-art RDF lib for PHP, is currently only in maintenance mode. Same for ARC2 and Erfurt, but with problems e.g. running in PHP 7.

I am asking, because i would like to use your library extensively for our Saft library. Saft in a nutshell: integration layer to enable the usage of different RDF libraries. We currently support ARC2, EasyRdf and Erfurt to some extend, but none fully. Using Saft, you can parse a file with EasyRdf and store the triples into a ARC2 backend, for instance.

pietercolpaert commented 7 years ago

This library will keep the current set of functionalities: parsing N3 and parsing and serialising trig, turtle, n-triples and n-quads. We may add support in the future for an in memory store that would be able to solve basic graph patterns. This would be as well based on the N3.js codebase of Ruben Verborgh.

For features like jsonld and rdf/xml parsing, querying sparql back-ends, etc. I'm looking towards higher level libraries, like saft to combine different other low level rdf packages (just like the jsonld library for php) into an easier developer friendly library.

Does that answer your question?

k00ni commented 7 years ago

Yes, thanks! Sorry for coming back so late.

We may add support in the future for an in memory store that would be able to solve basic graph patterns. This would be as well based on the N3.js codebase of Ruben Verborgh.

Could you describe that a little bit further please? Do you also plan to persist the data, for instance in a MySQL store like ARC2 does?

I'm looking towards higher level libraries, like saft to combine different other low level rdf packages (just like the jsonld library for php) into an easier developer friendly library.

Nice to hear. Is Saft a good fit for you already? Which requirements do you have for a "developer friendly library"?

pietercolpaert commented 7 years ago

We are not planning to persist data. This library is intended to be a full clone of the code of N3.js

I used EasyRDF in the past (did not use Saft yet), but this library is way too slow, contains no streaming support and the feature set in order to select triples from an EasyRDF_Graph feels incomplete. So if you could measure that your library is faster, can parse and process files in chunks, and have a similar in memory querying like N3.js, I’d be very keen on using Saft for all my future projects!