-
Notifications
You must be signed in to change notification settings - Fork 572
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move Store API to work with identifiers, not graphs #409
Conversation
files which are already done aka "sixed" not commented. files that still need modification are commented out.
the types variable became an iterable and was exhausted on 2nd check in py3
3db8ed3
to
c1f1a14
Compare
All add/remove methods now raise an Exception if passed a graph. The Graph API works on Graph objects and will pack/unpack as required.
c1f1a14
to
da6837e
Compare
I've rebased this onto the six_2to3 branch, and it passes the tests now. |
but the PR is for master 😅 |
one can change the base branch of a PR (edit on top), i'll do this... |
8f35c01
to
08e5cb8
Compare
I've assigned this to Milestone 6.0.0 and have marked it critical as this and graph IDing issues in general are well known annoyances and need a general solution (i.e. for Graph, ConjunctiveGraph, QuotedGraph??, Dataset and Store). This PR needs deduplicating with PR #845. |
This PR is long since obsolete so I'm closing |
This is a long-time coming fix for #167.
There are two API layers in RDFLib, the Graph level and the Store level. The issue here is the handling of the fourth element of a quad, i.e. the context. Currently both layers use Graph objects to represent this fourth context element, but this leads to lots of trouble (see examples in #167).
This is an attempt to sort this out by having Graphs handled at the Graph API level, and have stores deal with the graph identifiers only. Hopefully, we can make this change transparent to end-users, but plugin developers will probably notice.
A list of changes:
This is not yet finished, but a PR helps me get an overview of what is left to fix.