This feature will be _the_ feature for release 1.2: it requires significant code changes throughout the architecture, and an extension of the SeRQL query language.
The plan is to extend SAIL API statement methods with a 'context' parameter that takes a URI as argument. Sesame will be agnostic to the semantics of the context, and will simply use it as a statement grouping mechanism. Thus, provenance but also other features (like confidence or temporality) can be encoded through this feature.
Most of the coding work will consist of a generalization of the mechanisms already implemented in the VersioningSail and SecuritySail. The backend implementation is therefore not the main bottleneck, but rather, how to properly integrate this new feature in the different API layers.
We've decided to reschedule this for 1.3 and concentrate on query language extensions in the 1.2 release.
As per Jeen's comment above "... it requires significant code changes throughout the architecture, and an extension of the SeRQL query language" it would seem that one barrier is just resources committed to solving the problem.
This seems to be the most popular issue based on votes and my company (Ecosystems) also needs this functionality right now. We are currently in a position to donate at least 1 to 2 full time resources to help crack the problem.
I would like to use this comment to ask who else would be interested stakeholders and who else might want to help with solving this issue? I have sent an email note to Jeen as well but I'm guessing he's very busy and will get to it eventually. In the meantime, if I can identify all the interested parties we can get together via email to analyze the overall problem and propose a set of changes, post them here for verification, and then get just to implement them. If anyone else has had a headstart on what changes actually need to be done, please let us know here so that we can reduce duplication of efforts.
- Rahul Merwah
Given the amount of changes to APIs and code required for this feature, the release that includes this will be called "2.0".