- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 10 Sep 2008 16:42:33 -0400 (EDT)
- To: alanruttenberg@gmail.com
- Cc: public-owl-wg@w3.org
I take issue 137 to be concerned with the following problem. Given an existing RDF document (which would be in RDF/XML) that isn't valid OWL DL (probably because it doesn't appropriately declare properties), how can use it in an OWL DL ontology. For example, suppose the document at http://example.com/ex1/ is: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:ex="http://example.com/ex1/#" /> <rdf:Property rdf:about="http://example.com/ex1/#p" /> <rdfs:Class rdf:about="http://example.com/ex1/#c" /> <ex:c rdf:about="http://example.com/ex1#i1" > <ex:p> <ex:c rdf:about=http://example.com/ex1#i2" /> </ex:p> </ex:c> </rdf:RDF> In OWL 1, this could be done by having another RDF/XML document that imported the above one and provided the missing declarations, perhaps something like: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ex="http://example.com/ex1/#" /> <owl:Ontology rdf:about=""> <owl:imports> <owl:Ontology rdf:about="http://example.com/ex1/" /> </owl:imports> </owl:Ontology> <owl:ObjectProperty rdf:about="http://example.com/ex1/#p" /> <owl:Class rdf:about="http://example.com/ex1/#c" /> </rdf:RDF> This worked in OWL 1 because the merge graph of the imports closure was formed before recognition was attempted. Currently the latter document is OWL 2 DL, because there are no OWL declarations in the first document to mess up parsing the second document. Determining the axiom closure of this ontology is currently problematic, as this would require parsing the first document, and that document is not OWL 2 DL. A way to proceed is to instead use XML includes, i.e., to "fix up" non-OWL DL documents, include them in another document, as in <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:ex="http://example.com/ex1/#" /> <owl:Ontology rdf:about="" /> <xi:include href="http://example.com/ex1/" pointer="[[something that grabs all the children of the rdf:RDF element]]"> <owl:ObjectProperty rdf:about="http://example.com/ex1/#p" /> <owl:Class rdf:about="http://example.com/ex1/#c" /> </rdf:RDF> This seems to me to clear up the vast majority of cases that are going to appear in practice. peter
Received on Wednesday, 10 September 2008 20:43:15 UTC