Versioning in Stardog 7

According to the current Stardog documentation, Stardog 7 beta does not support the Versioning feature.

Is this just temporary during this beta phase or is this going to be dropped in Stardog 7.0.0?

Hi Ruben, versioning will be deprecated as of version 7.0.0

Hi Stephen!

Thanks for the reply. Could you state this more clearly in the documentation?
We were hoping, that this was temporary and limited to the current beta, not a feature deprecation/drop.
Others might have the same question.

Thanks in advance!

Any particular reason for dropping the feature?

Let me provide some details. The versioning support as it exists today (index the absolute diff for each commit) cannot be supported with the new backend and the lock-free snapshot isolation semantics that is coming in Stardog 7.

What we are planning to do instead is a different kind of versioning support that will actually go beyond a single timeline in the database history that is often referred as bitemporal modeling [1]. This will allow users to query the database as it existed in a state at a past timepoint easily. We hope we can support a diff function similar to the current versioning service by running queries over two different timepoints. So in this approach the diffs will be computed on-the-fly instead of at commit time and might be slower but querying previous states (and changing the previous states) will be possible.

Unfortunately, bitmeporal query support will not make the first Stardog 7 GA release so there won't be any form of versioning support for a while.

Best,
Evren

[1] https://en.wikipedia.org/wiki/Bitemporal_Modeling

Awesome. I can't wait. I was thinking recently that what I'd really like is some sort of "pull request" like feature. Creating a clean data set takes a lot of work and it can really help to have a lot of eyes on the problem, especially when fixing mistakes but there isn't really a good way to do that right now. It would be nice if you could somehow make an update that would be sent to the db owner to approve to apply. I'm not quite sure how you'd determine if it would apply cleanly but maybe use the PATHS feature to calculate the distance between new triples and any previously added triples or something like that?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.