Search Mailing List Archives
[protege-owl] Unique cannonical serialization (using Subversion or some such)
tudorache at stanford.edu
Tue Mar 17 17:31:02 PDT 2009
Alan Ruttenberg wrote:
> Hi Tanya,
> While I agree with the general sentiment, I don't agree that text
> diffs won't be useful. In fact in many cases they will be. I think
> that by default, protege should try as hard as it can to have a stable
> rendering of the ontology, and this isn't *that* hard to do. There
> isn't any good reason, as far as I can tell, for the current
> situation, in which even ontologies that are not changed at all are
> serialized in a different order each time.
Agreed. Protege 3.x uses Jena for the default serialization and we used
it as a kind of black box. We cannot really control the writing out part
except for the types of serializations (RDF/XML, RDF/XML Abbrev - this
is what we use, etc.). If there is some configuration in Jena to make it
output in a more predictable way, we are happy to integrate that into
Protege for a patch release.
> Regarding the prompt plugin, I just tried it and was put off by the
> fact that I couldn't point it at an OWL file - it only takes pprjs and
> I didn't have one for our previous release.
You are right. This is a reminiscent of old days. If you do have a pprj
file for the owl file, it will work fine. If this is an impediment, we
might change this in a future patch release. The change is trivial.
> I'm aware of the experimental serialization method. It's a reasonable
> start. If it's past being experimental, then I suggest removing the
> label and making it the default serialization. If it is still
> experimental, then it would be good to know how much it can be trusted
> currently and when it can be expected to be stable enough to use for
Our fault. It's not experimental anymore, we just forgot to remove the
> Past that, what would be very helpful would be for the NCBO to put out
> a command line tool OWL diff tool that can be configured for uses with
> svn (via --diff-cmd) and instructions for how to set it up. There is a
> significant clientel for tools that play nice on the command line.
I'll pass this to the NCBO folks. I think they plan to, or already have
web services for retrieving the structural diff between 2 ontology
versions stored in BioPortal.
Thanks for the feedback,
> On Tue, Mar 17, 2009 at 2:54 PM, Tania Tudorache
> <tudorache at stanford.edu <mailto:tudorache at stanford.edu>> wrote:
> Hi Eric,
> I don't think it is a good idea relying on a particular serialization,
> but I understand your set up. Protege 3.x IS using Jena to write
> out the
> OWL file, that is why it is different each time, so writing your own
> serialization using Jena won't help :)
> Instead, you can use the native writer which you can configure
> from OWL
> menu -> Preferences -> Experimental native writer. If you will also
> enable the 'Sort resources alphabetically' checkbox, then the output
> will be repeatable across different Protege work sessions.
> There have been several emails on the list about using OWL files
> in SVN. You should be able to find them in the archive. Main
> problem is
> that a text-based diff of an RDF serialization of OWL will not be
> useful, as the same OWL axiom can be expressed and serialized in
> different ways (e.g. rdfs:subclass of A -> B, B-> A; and A
> owl:equivalentClass B, etc.)
> So, a text diff will not give the users what they want. There are
> several structural diff tools that you could use that will give a much
> better result. PromptDiff is one of them, is already integrated in
> Protege, and is also used in another project in a production setting.
> So, a combination of SVN with PromptDiff (or another OWL diff tool)
> would work.
> There are other alternatives:
> 1. Rather than using Protege 3.x, you should use Protege 4 which uses
> the OWL-API and has a much nicer and user-friendly serialization
> of OWL.
> It also has support for OWL 2 features that Protege 3.x does not. It
> also supports the rendering of an OWL ontology in different
> formats that
> might be more "SVN friendly".
> 2. Protege 3.x already has support for collaborative ontology
> development that is integrated in the tool. You can take a look at
> Collaborative Protege 
> 3. There is a web-based repository tool that might be interesting that
> works with protege as a backend for OWL and RDF. It keeps track of
> changes, dumps them as RDF files, and has many other nice features
> (visualization, annotation, search, etc.). The tool is open source and
> is domain-independent. You can see an example of the tool here,
> BioPortal .
> : http://protegewiki.stanford.edu/index.php/Collaborative_Protege
> : http://bioportal.bioontology.org/
> Eric Peterson wrote:
> > Hi folks; (I misposted this as a followup)
> > I'm having a hard time collaborating Protege-wise with my
> cohorts. We
> > are a Subversion shop, but due to the fact the Protege serializes
> > vastly differently for small changes, we can't diff and merge
> > conflicting versions of our OWL files.
> > I don't think I could sell the use of Protege's collaboration tools,
> > but would value suggestions for solving this problem.
> > I'm considering writing my own serialization plugin for Protege
> > Jena.
> > Thanks!
> > -Eric Peterson
> > _______________________________________________
> > protege-owl mailing list
> > protege-owl at lists.stanford.edu
> <mailto:protege-owl at lists.stanford.edu>
> > https://mailman.stanford.edu/mailman/listinfo/protege-owl
> > Instructions for unsubscribing:
> protege-owl mailing list
> protege-owl at lists.stanford.edu <mailto:protege-owl at lists.stanford.edu>
> Instructions for unsubscribing:
> protege-owl mailing list
> protege-owl at lists.stanford.edu
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
More information about the protege-owl