RDFLib V6 and V7 #2395
Replies: 5 comments 14 replies
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I have reconsider this a bit. I think this is too ambitious and likely to fail. I think the right answer is just to not worry so much about breaking changes and just try do it as gradually as possible. The downside of this is that we will likely be releasing new major versions every time, but at least we can start fixing some of the interface bugs we have. |
Beta Was this translation helpful? Give feedback.
-
Two thoughts (as someone who occasionally maintains an old codebase based originally on much older versions of RDFlib, and applies RDF updates infrequently and in large jumps):
|
Beta Was this translation helpful? Give feedback.
-
After #2406, I thought I'd revisit gromgull's PR #409 (a basic first step towards reworking Dataset) and investigate the ramifications. I posted the resulting PR #2438. Unhappily, some tests are failing. If anyone wishes to review the original work, gromgull's branch is forked from 661a289 - for convenience: here's the comparison |
Beta Was this translation helpful? Give feedback.
-
RDFLib has many open issues and known problems. My strategy for maintenance has been to try and fix as many of them without breaking the API, as breaking the API a little bit in each release is not really reasonable for our users, and if we take that strategy it seems we should rather abandon semantic versioning.
But there are some issues that are rather controversial to fix for V6. Many of them related to Datasets, but there are others also, most of these should show up in these searches:
I was of the opinion that the majority of Dataset issues can be fixed with with the V6 API, but there seems to be disagreement on what the V6 API means, and they seem irreconcilable. Two key examples are:
Dataset
s andConjunctiveGraph
s with non-default graphs without raising any errors #2393These are really quite critical. If we can't handle Datasets correctly, we are not compliant with RDF 1.1 - and if we can't become compliant with RDF 1.1 because the expected behaviour is that we don't support RDF 1.1 - the only sane thing to do is to focus all energy on V7.
I think the right strategy for V7 should be to design a good API that fixes as many problems as we can with the current API and then implement it. I know @gjhiggins has started on some work towards redesign, but there has been little discussion on this and there is no published design.
I don't think trying to fix problems in V6 is productive any more, so I think the responsible thing is to abandon it and start with a new API. If anyone disagrees, please let me know. We should be realistic about V7 though, I think it will take at least a year to get there, if not more, as there are very few people working on it. And once it is released, most people who use RDFLib will have to rewrite their software. We could write a compatibility layer for V6 to use the new API, but I don't think there will be time for that.
CC: @RDFLib/core @RDFLib/core-reviewers
Beta Was this translation helpful? Give feedback.
All reactions