Conversation
|
@mwatts15 @adamhadani it would be good to get your feedback on this since you maintained https://github.com/RDFLib/rdflib-sqlalchemy and the functionality here overlaps slightly with that. I would be open to integrating https://github.com/RDFLib/rdflib-sqlalchemy into RDFLib, provided it is done with an optional extra. But even if we do that, it may still be good to have something that works with a more or less stock python's sqlite3. CC: @RDFLib/core-reviewers |
Only in the general terms of providing a back-end persistence for RDFLib graphs. Other than implementing the Store API, there's little in common between rdflib-sqlalchemy's approach and this, based as it is on a key-value model for SQLite that then uses lightly-adapted version of Drew Pertulla's Tokyo Cabinet adaptation of the SleepyCat key-value RDFLib Store implementation (described in more detail in the aged-but-still-pertinent RDFExtras docs). In contrast, rdflib-sqlalchemy is a SQL-based approach that uses AbstractSQLStore, a subsequent distillation of Chimezie's original 2006 FOPLRelationalModel (again described in the RDFExtras docs)
Ah, rdflib-sqlalchemy is pinned to the 1.X versions of SQLAlchemy ( Adam Ever-Hadani is now Senior VP, Ai & Product at Globality and hasn't been involved in rdflib-sqlalchemy since 2016. Mark is also in the process of disengaging: “Currently, rdflib-sqlalchemy is in maintenance mode. That means the current maintainer (@mwatts15) will do what he can to keep the package working for existing use-cases, but new features will not be added and newer versions of SQLAlchemy will not be supported”
A Python-native RDFLib Store has been on the wishlist for several years, this PR is informed and motivated by the subsequent discussion for the extant PR that has a key-value implementation based on |
|
On reflection, I realise that I have failed to recognise the degree of maintenance burden that RDFLib currently imposes and this PR could instead be fairly trivially published separately as a standard RDFLIb plugin. So I'm minded to close this PR and republish it elsewhere - comments? |
I don't think you should, I will review this as soon as I have time (probably next week) and I don't think this is unreasonable to include, I think it is quite essential behaviour. |
|
It makes at least as much sense as BerkeleyDB, and much easier to use for users. |
Okay and, importantly --- as and when it is convenient for you --- a native-Python RDFLib Store has been on the wishlist for years, there is 0 urgency here, this can sit for a while. (And apologies for the lack of prior discussion) |
|
PRs to V6 is closed until further notice. See this for more details: |
We will be open for PRs again once this is resolved: |
|
@gjhiggins you should not close this, if you are unsure better to keep it in draft, I think we need this in, I just have not had time to look at it yet. |
|
The closure is just a byproduct of some local admin/re-org |
Add SQLite implementation of an RDFLib Store to provide native Python persistence. Existing API is respected.
(ftr: motivated by ncar's assertion)
./examplesfor new features if PR is accepted.CHANGELOG.md) if PR is accepted.so maintainers can fix minor issues and keep the PR up to date.