On Jan 24, 2015 8:47 AM, "Dimitris Kontokostas" < [email protected]> 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
