Search Mailing List Archives
[protege-owl] Using ObjectHasSelf in Protege 4.0
tredmond at stanford.edu
Mon Aug 3 05:40:28 PDT 2009
You have run into one of the differences between owl 1.1 and owl 2.0.
Protege 4.0 has not quite incorporated all the latest owl 2.0
changes. If you look at the owl 1.1  and owl 2.0 
specifications, you will see that in owl 1.1 hasSelf is represented as
ObjectExistsSelf and in owl 2.0 hasSelf is represented as ObjectHasSelf.
In addition, in Protege 4, a hasSelf restriction can be added from the
user interface using the manchester owl syntax:
hasTopping some Self
There is a bleeding edge version of Protege 4.1 in svn which has
incorporated many of the owl 2.0 changes.
On Aug 2, 2009, at 11:26 PM, Jevon Wright wrote:
> I am trying to define an OWL ontology as follows: I have an Edge,
> that connects two nodes. I would like to add the restriction that
> Edge cannot connect the same Node together, i.e. Edge.source !=
> From the OWL mailing list it was suggested I use the ObjectHasSelf
> axiom. i.e.:
> SubClassOf(MyNode ObjectComplementOf(ObjectHasSelf(connectedTo)))
> However when I load this up in Protege 4.0 build 113, I get the
> following parsing error:
> org.coode.owl.functionalparser.ParseException: Encountered "(" at
> line 16, column 51.
> Was expecting one of:
> ")" ...
> ":" ...
> (Line 16)
> Replacing ObjectHasSelf with another term resolves this error. Could
> it be that the functional syntax parser does not have ObjectHaveSelf
> (from OWL 2.0) defined? "OWLFunctionalSyntaxParser.jj" does not have
> it defined.
> If the functional syntax parser cannot load this file, how else
> could I define this using Protege? Am I using the ObjectHasSelf
> axiom correctly?
> 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