I have a project requirement that the individuals in my model/ontology can be edited in an application.

Therefore, I have to have versioning and information on who made the changes, and that it would be possible to revert to any previous version of a set of triples.

How is this typically handled in the Semantic Web world? Are there some patterns that have proven to be very useful and practical?

Thanks, Alex

asked 04 Apr '11, 18:39

Genadinik's gravatar image

accept rate: 66%

You might want to look into Talis's changesets which allow you to describe diffs, or TimBL's article on diffs in RDF.

I used a slightly different approach for a project of mine: I wrote an ontology based on SIOC and the MusicBrainz editing and moderation system. Here each change a user performs creates an Edit. You can have a moderation system for approving or declining Edits (in the latter case their changes will not actually be applied). Versioning can then be done through named graphs: The main data in its current state (with all approved edits applied) is in one graph. The edits and the changes they describe are in other graphs. You could then roll back edits to undo changes on the main graph.

Since this is a complex system which shouldn't be implemented over and over again by everyone I hope that triple stores will provide something like that automatically in the future (maybe some already do).


answered 04 Apr '11, 20:09

Simon%20Reinhardt's gravatar image

Simon Reinhardt
accept rate: 22%

+1 re. a moderation system for edits

(04 Apr '11, 21:05) zazi zazi's gravatar image

Please have a look at the final report of the Provenance XG and track the deliverables of the Provenance Interchange WG.

Edit: re. change propagation, deltas etc. the Dataset Dynamics group (see also) might be interesting


answered 04 Apr '11, 19:26

zazi's gravatar image

accept rate: 13%

edited 04 Apr '11, 21:04

I store versioning as a property of the NAMED GRAPH. This would require you design an approach that affords you the level of granularity you need, it would probably not work that great if every assertion was in its own NAMED GRAPH. Since you are using Virtuoso you should be aware of their support for graph groups.



answered 04 Apr '11, 20:22

Ronald%20P.%20Reck's gravatar image

Ronald P. Reck
accept rate: 16%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 04 Apr '11, 18:39

Seen: 987 times

Last updated: 04 Apr '11, 21:04