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)

Tania Tudorache tudorache at
Tue Mar 17 11:54:42 PDT 2009

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 stored 
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 [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: 

More information about the protege-owl mailing list