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] Unfathomable error message!

Timothy Redmond tredmond at stanford.edu
Thu Apr 1 20:09:53 PDT 2010


The error message is not easy to read and this issue has been reported 
to the developers.  The issue is that the *is_classified_as* object 
property is marked as both functional and transitive.  This is not 
allowed by the OWL 2 specification.  This constraint may seem arbitrary 
but it is needed to be able to perform complete reasoning on the OWL 
language.  I hope to build a plugin at some point that will help users 
avoid and understand these types of issues.

It turns out that if you turn off either the functional or the 
transitive constraint on *is_classified_as* then the ontology will 
classify.  The error message is a bit hard to read because it involves a 
class expression

    ObjectMaxCardinality(1 InverseOf(<http://people.bath.ac.uk/ensjfvv/BioTRI2.owl#is_classified_as>) owl:Thing)
       

that does not appear in the ontology and which the reasoner generated 
internally.

To see that functional and transitive object properties are not allowed 
you would need to understand section 11 of the owl 2 syntax description 
[1].  There are three steps.  First they have a definition of a 
composite property:

    An object property expression OPE is /composite/ in the set of
    axioms /Ax/ if

        * OPE is equal to /owl:topObjectProperty/ or
          /owl:bottomObjectProperty/, or
        * /Ax/ contains an axiom of the form
              o SubObjectPropertyOf( ObjectPropertyChain( OPE_1 ...
                OPE_n ) OPE ) with n > 1, or
              o SubObjectPropertyOf( ObjectPropertyChain( OPE_1 ...
                OPE_n ) INV(OPE) ) with n > 1, or
              o TransitiveObjectProperty( OPE ), or
              o TransitiveObjectProperty( INV(OPE) ).

Your property, *is_classified_as,* is then composite because it is a 
TransitiveObjectProperty.

Second, they then use this to define a simple property.  Essentially a 
simple property is something that is not equivalent to or a super 
property of a composite property.  But there are many ways of saying 
similar things in OWL so the explanation needs to be a bit more involved 
than that. But you don't have to worry about this part because your 
property,* is_classified_as* is already composite and therefore not simple.

Third they give the following requirement:

    Each class expression and each axiom in /Ax/ of type from the
    following two lists contains only simple object properties.

        * ObjectMinCardinality, ObjectMaxCardinality,
          ObjectExactCardinality, and ObjectHasSelf .
        * FunctionalObjectProperty, InverseFunctionalObjectProperty,
          IrreflexiveObjectProperty, AsymmetricObjectProperty, and
          DisjointObjectProperties.

Since * is_classified_as* is not simple it cannot appear in a 
FunctionalObjectProperty axiom.

-Timothy

[1] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Global_Restrictions_on_Axioms_in_OWL_2_DL


On 04/01/2010 09:39 AM, Julian Vincent wrote:
> Thanks for the answer, which I still do not understand!!
> However, here is the ontology:
>
>    
>
>
>
>
> Many thanks
>
> Julian Vincent
>
>
> On 1 Apr 2010, at 14:37, Timothy Redmond wrote:
>
>    
>> On 04/01/2010 04:23 AM, Julian Vincent wrote:
>>      
>>> When I try to classify  my OWL ontology in Protege 4.1 using HermiT 1.2.2  (as provided) I get a Reasoner Error:
>>>
>>> IllegalArgumentException: Non simple property 'ObjectMaxCardinality (1<http//people.bath.ac.uk/ensjfvv/BioTRI2.owl£is_classified_as>owl:Thing}' or its inverse appear in asymmetricity axiom
>>>
>>>        
>> I agree this is a bit difficult to read.  But it is clearly talking about the use of non-simple properties in axioms which is discussed in the w3c specification at [1].  This is over-simplified but basically a simple property is a property that is not (directly or indirectly) a super-property of a property chain.  Note that transitive properties are included because if p is transitive then
>>
>>      p o p \SubPropertyOf p
>>
>> These constraints are needed in the OWL 2 language to keep it decidable.  I figure that at some point in the future Protege 4 will have more support for identifying issues with non-simple properties as they appear.
>>
>> What I think the error message means is that the property means is that the object property:
>>
>>       http//people.bath.ac.uk/ensjfvv/BioTRI2.owl#is_classified_as
>>
>> is not "simple" and therefore cannot be used in the max cardinality assertion:
>>
>>       ObjectMaxCardinality (1<http//people.bath.ac.uk/ensjfvv/BioTRI2.owl£is_classified_as>owl:Thing).
>>
>> If you send the ontology (on the group or out-of-line) I can give you more details.
>>
>> -Timothy
>>
>> [1] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Property_Hierarchy_and_Simple_Object_Property_Expressions
>>
>>      
>>> The web address is my intranet site, the £-sign should be a 'hash' (but I've not found it . . . ).  What is the error message saying?  How do I respond to it?
>>>
>>> Thanks
>>>
>>> Julian Vincent
>>>
>>>
>>>
>>> _______________________________________________
>>> p4-feedback mailing list
>>> p4-feedback at lists.stanford.edu
>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>>        
>> _______________________________________________
>> p4-feedback mailing list
>> p4-feedback at lists.stanford.edu
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>      
>    
>
>
> _______________________________________________
> p4-feedback mailing list
> p4-feedback at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>    

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/p4-feedback/attachments/20100401/664475e2/attachment.html>


More information about the p4-feedback mailing list