- From: Marco Brandizi <marco.brandizi@gmail.com>
- Date: Wed, 12 Jul 2017 19:12:41 +0100
- To: Simon Spero <sesuncedu@gmail.com>
- Cc: Linked Data community <public-lod@w3.org>, semantic-web@w3.org
- Message-ID: <5aa7338b-2b02-75b4-5726-8de85c6706c6@gmail.com>
Hi Simon, thank you for your reply. I don't think the boxing option is so practical to use. I think I'll define my data property and I'll make redundant FIBO-compatible triples by means of SPARQL CONSTRUCTs (or Jena rules, or something like that). Marco. On 12/07/2017 18:55, Simon Spero wrote: > 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 > <mailto: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 > <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 > > -- ========================================================================= Marco Brandizi <marco.brandizi@gmail.com> http://www.marcobrandizi.info
Received on Wednesday, 12 July 2017 18:13:11 UTC