On Jan 24, 2015 8:47 AM, "Dimitris Kontokostas" <
kontokostas@informatik.uni-leipzig.de> wrote:
> If/When we move to WebProtege, the wiki will probably be in sync but only
in read mode and as far as I can tell, WebProtege keeps versioning.
Web Protege tracks changes, and generates a new revision for each change.
It doesn't have all of the bells, whistles, hoovers and horns of git, svn,
or mercurial, but it has a better ability to handle refactorings like
entity renamings, which cause a lot more ripples in a generic VCS.
It is possible to add listeners for changes, which can do some of the
things that you could do in commit hooks, including vetoing changes. I'm
not sure what the easy way to configure this is, but the hard way isn't too
hard.
One missing feature (I think) is that it is not possible to modify a change
before it is committed.
The Binary OWL format allows changes to be appended.
See:
Horridge, Matthew, Timothy Redmond, Tania Tudorache, and Mark A. Musen.
"Binary OWL." In *OWLED*. 2013.
http://ceur-ws.org/Vol-1080/owled2013_12.pdf
Binary owl repository:
https://github.com/matthewhorridge/binaryowl
Change logging in Web Protege:
https://github.com/protegeproject/webprotege/blob/master/src/main/java/edu/stanford/bmir/protege/web/server/owlapi/change/
On a related note, the OWLAPI has been working towards generating more VCS
friendly ontology files (there are a few places (mostly annotations) which
aren't currently sorted on output. Formats like the Manchester and
Functional syntaxes give fairly readable diffs when using github or other
visual diff tools.
(FSS currently doesn't pretty-print axioms, which is cheating a little).
Chris Mungall discusses some OWL vs. VCS issues here:
https://douroucouli.wordpress.com/2014/03/30/the-perils-of-managing-owl-in-a-version-control-system/
Simon