W3C home > Mailing lists > Public > semantic-web@w3.org > July 2017

Re: OWL-2 property chain with a data property

From: Simon Spero <sesuncedu@gmail.com>
Date: Wed, 12 Jul 2017 13:55:06 -0400
Message-ID: <CADE8KM7KB263-f6FVc--UEYUB6ZmH0PFAc0VoFTWm0+cB4Zfqw@mail.gmail.com>
To: Marco Brandizi <marco.brandizi@gmail.com>
Cc: Linked Data community <public-lod@w3.org>, semantic-web@w3.org
OWL 2 role chains are only allowed for object properties; there is no
syntactic way to use a data property in a role chain. There was some
discussion about whether it would be safe to provide for role chains that
terminated in a data property, but I believe that the issue was not

Protégé uses the OWLAPI to parse ontology document into axioms, and by
default, parsing is done using several generations of error recovery
hackery is used to attempt to repair documents that are not strictly legal.
The resultant ontology is not OWL-DL because it  has something that is both
an Object and a Data  property (illegal punning). It is legal OWL 2 "full"
, but that is not supported by reasoners, and indeed cannot strictly be
parsed  from RDF - in this case, adding a HasKey axiom using the property
would generate an ambiguous rdf document.

You might be able to do what you want if you "box" the data value and
define a new object property for use in the role chain.


On Jul 12, 2017 1:04 PM, "Marco Brandizi" <marco.brandizi@gmail.com> wrote:

> Hi all,
> I haven't clear the issue in the subject. I have this situation:
> class *fibo_bft:Percentage* (http://www.omg.org/spec/EDMC-
> FIBO/FND/Utilities/BusinessFacingTypes.rdf)
>   having the data property *fibo_bft:hasPercentageValue*
> I'd like to simplify it in my own ontology:
> new object property: *my:has-percentage*, range: fibo_bft:Percentage
> new datatype property: *my:has-percentage-value*
>   as equivalent to: my:has-percentage o fibo_bft:hasPercentageValue
> I've tried to define the axiom above in Protegé 5.2:
> - I cannot define a datatype property as subproperty of a chain axiom
> - but I can do it for object properties
> So, I defined the the above manually, by editing the ontology .owl file:
>     <owl:DatatypeProperty rdf:about="http://www.example.
> com/terms#has-percentage-value"
> <http://www.example.com/terms#has-percentage-value>>
>         <owl:propertyChainAxiom rdf:parseType="Collection">
>             <rdf:Description rdf:about="http://www.example.
> com/terms#has-percentage" <http://www.example.com/terms#has-percentage>/>
>             <rdf:Description rdf:about="http://www.omg.org/
> spec/EDMC-FIBO/FND/Utilities/BusinessFacingTypes/hasPercentageValue"
> <http://www.omg.org/spec/EDMC-FIBO/FND/Utilities/BusinessFacingTypes/hasPercentageValue>
> />
>         </owl:propertyChainAxiom>
>     </owl:DatatypeProperty>
>  but, when I reload it in Protegé, my:has-percentage-value is both a data
> property and an object property.
> Question: is *owl:propertyChainAxiom* available for object property only,
> or is this a bug in Protegé?
> Thanks in advance,
> Marco
Received on Wednesday, 12 July 2017 17:55:35 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:56 UTC