- From: Simon Spero <sesuncedu@gmail.com>
- Date: Wed, 12 Jul 2017 13:55:06 -0400
- To: Marco Brandizi <marco.brandizi@gmail.com>
- Cc: Linked Data community <public-lod@w3.org>, semantic-web@w3.org
- Message-ID: <CADE8KM7KB263-f6FVc--UEYUB6ZmH0PFAc0VoFTWm0+cB4Zfqw@mail.gmail.com>
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 pursued. 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. Simon 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