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    

[p4-feedback] strange effects of the order of Prefix statements

Tom Kramer kramer at nist.gov
Wed Nov 13 14:54:04 PST 2013


Hello Protege Support -

I have built a few related sets of OWL files (using OWL functional-style 
syntax) in which one ontology file *include*s another. I build them 
outside of Protege and then use Protege to check them. I find that for 
Protege to produce the results I expect, it is necessary to have a 
*Prefix* statement for each ontology that is directly or indirectly 
*include*d. That seems slightly odd to me, since *include* statements 
are needed only for directly *include*d ontologies. But I can live with 
that.

What seems unreasonable is that the order in which *Prefix* statments 
are given is significant. As long as the including ontology *Prefix* is 
given before the included ontology *Prefix*, I get the results I expect, 
but if the order is switched, the "class hierarchy" tab in Protege lists 
most classes twice.

I find nothing about the order of Prefix declarations in 
http://www.w3.org/TR/owl2-syntax/ or in
http://protegewiki.stanford.edu/wiki/Protege4NamingAndRendering#Prefixes...
Googling "protege prefix order" produced nothing useful.

Here is a snippet from the geometryInstances2.owl file.

***********************************************************************
Prefix(:=<http://www.nist.gov/el/ontologies/geometryInstances2.owl#>)
Prefix(:=<http://www.nist.gov/el/ontologies/topTypeClasses.owl#>)
Prefix(:=<http://www.nist.gov/el/ontologies/mostTypesClasses.owl#>)

Ontology(<http://www.nist.gov/el/ontologies/geometryInstances2.owl>
Import(<file:topTypeClasses.owl>)

************************************************************************

The geometryInstances2.owl ontology includes topTypeClasses.owl, which 
includes mostTypesClasses.owl. These are very simple ontologies. All 
told, there are 6 classes. Each class is defined in only one file.

When the *Prefix* statements are in the order shown above, Protege 
produces the class hierarchy diagram I expect; each class appears once. 
If the order of the last two *Prefix* statements is switched, Protege 
produces a class hierarchy diagram in which most classes appear twice.

Is this a Protege feature or a Protege bug? If it is a feature, what 
does it do that is useful? If it is a bug, please fix it.

Thanks. I will be happy to send you the files, if that would be helpful.

Tom Kramer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/p4-feedback/attachments/20131113/dfcab04c/attachment.html>


More information about the p4-feedback mailing list