- From: Ivan Herman <ivan@w3.org>
- Date: Fri, 25 Aug 2006 11:14:07 +0200
- To: Alan Wu <alan.wu@oracle.com>
- CC: semantic-web@w3.org
- Message-ID: <44EEBF5F.9070106@w3.org>
Although I do not know Pellet very well (I am sure others who do can give a more detailed answer), I guess the main issue is that reification is not really part of the core Semantics of RDF(S) either. Ie, if you use reification by defining a "statement" using the object, subject, etc, rdf predicates, it does *not* mean that the corresponding triple will be part of the triple store under RDFS entailement. I guess that, as a consequence, pellet does not know anything about the rdf:object etc, predicates... Ivan Alan Wu wrote: > Hi, > > Here is a simple question I have in mind. Is reification allowed in OWL-DL? > > My understanding is that it is not allowed. After all, is rdf:object an > owl:DatatypeProperty > or owl:ObjectProperty? Neither I guess. > > I also tried the following experiment using Pellet 1.3 (beta2). Input is > the following NTriple file > (migrated from the example in RDF primer). > > ------------- start of Input ------------ > <exproducts:triple12345> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement> . > <exproducts:triple12345> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject> > <exproducts:item10245> . > <exproducts:triple12345> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate> <exterms:weight> . > <exproducts:triple12345> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#object> > "2.4"^^<http://www.w3.org/2001/XMLSchema#decimal> . > <exproducts:triple456> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#subject> > <exproducts:item10245> . > <exproducts:triple456> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate> <exterms:linkTo> . > <exproducts:triple456> > <http://www.w3.org/1999/02/22-rdf-syntax-ns#object> <exproducts:item888> . > ------------- end of Input ------------ > > Pellet complains it is not in OWL DL. However it suggests by adding > something, it should be DL. > --------------- start of Pellet output -------------- > OWL Species: *Full* > DL Expressivity: AL(D) > Consistent: Yes > Time: 1379 ms (Loading: 1262 Preprocessing: 0 Species Validation: 101 > Consistency: 16 ) > > Non OWL-DL features used: > Multiple Types: Resource rdf:object is defined as a DatatypeProperty but > used with values that are OWL individuals > Untyped Class: Assuming rdf:Statement is a class > Untyped Individual: Assuming exproducts:triple456 is an individual > Untyped Individual: Assuming exterms:weight is an individual > Untyped Individual: Assuming exproducts:item10245 is an individual > Untyped Individual: Assuming exterms:linkTo is an individual > Untyped Property: Assuming rdf:object is an datatype property > Untyped Property: Assuming rdf:predicate is an object property > Untyped Property: Assuming rdf:subject is an object property > > Add the following statements to make this document OWL DL > <rdf:RDF > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > xmlns:owl="http://www.w3.org/2002/07/owl#" > > <rdf:Description > rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#object"> > <rdf:type > rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> > </rdf:Description> > <rdf:Description > rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#subject"> > <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> > </rdf:Description> > <rdf:Description rdf:about="exterms:linkTo"> > <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> > </rdf:Description> > <rdf:Description rdf:about="exproducts:triple456"> > <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> > </rdf:Description> > <rdf:Description > rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate"> > <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> > </rdf:Description> > <rdf:Description rdf:about="exterms:weight"> > <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> > </rdf:Description> > <rdf:Description rdf:about="exproducts:item10245"> > <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> > </rdf:Description> > <rdf:Description > rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"> > <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> > </rdf:Description> > </rdf:RDF> > --------------- end of Pellet output -------------- > > > > After converting the above XML serialization to NTriple and add those > ntriples into the > original file, and use Pellet again, I got > > --------------- start of Pellet output -------------- > WARN [main] (OWLLoader.java:1054) - Ignoring object value used with > DatatypeProperty: exproducts:triple456 @rdf:object exproducts:item888 > Input file: > file:/net/stagf07/scratch/alwu/pellet/pellet-1.3-beta2/zhe/reification.combined > *OWL Species: Full* > DL Expressivity: AL(D) > Consistent: Yes > Time: 1432 ms (Loading: 1309 Preprocessing: 0 Species Validation: 107 > Consistency: 16 ) > > Non OWL-DL features used: > Multiple Types: Resource rdf:object is defined as a DatatypeProperty but > used with values that are OWL individuals > > Add the following statements to make this document OWL DL > *This ontology cannot be converted to OWL DL*. > .--------------- endof Pellet output -------------- > > Thanks in advance for your reply. > > Zhe (Alan) Wu > Oracle > -- Ivan Herman, W3C Semantic Web Activity Lead URL: http://www.w3.org/People/Ivan/ PGP Key: http://www.cwi.nl/%7Eivan/AboutMe/pgpkey.html FOAF: http://www.ivan-herman.net/foaf.rdf#Me
Received on Friday, 25 August 2006 09:14:22 UTC