Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Unique cannonical serialization (using Subversion or some such)

Eric Peterson epeterson at
Wed Mar 18 10:24:26 PDT 2009

Thanks for your reply.  Comments below.


		From: protege-owl-bounces at on behalf of Tania Tudorache
		Sent: Tue 3/17/2009 2:54 PM
		To: User support for the Protege-OWL editor
		Subject: Re: [protege-owl] Unique cannonical serialization (using Subversion or some such)

		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 :)



I was envisioning a rewriting of their writer - rather than just a usage of the writer.

		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.

I tried this and had about 1700 diffs resulting from about 30 additive edits on my part and a handful on my colleagues part.  But maybe you didn't mean that this was sufficient for a total solution.

		There have been several emails on the list about using OWL files stored
		in SVN. 

Before my original post I started in the FAQ and than spent 15 minutes searching the archive with no luck.  So I very much appreciate your specific answers.

		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.)

I've assumed that if there was someone contrived some cannonical OWL serialization, text diffing and merging could work well.  I'm simply wanting to do concurrent editing and easy merging of files.


		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.

I'm assuming that PromptDiff does not semi-automate the merging of files like subversion does, and that it therefore doen't help achieve my particular goals.

		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".

This worked!  The number of diffs dropped to about 80 and I was able to quickly merge them using Subversions interface.

Thanks again!


		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 [1]
		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 [2].
		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 using
		> Jena.
		> Thanks!
		> -Eric Peterson
		> ------------------------------------------------------------------------
		> _______________________________________________
		> protege-owl mailing list
		> protege-owl at
		> Instructions for unsubscribing:
		protege-owl mailing list
		protege-owl at
		Instructions for unsubscribing:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the protege-owl mailing list