Re: ISSUE-137 (including XML includes)

Hi Peter,

Thanks for the summary of the problem, which addresses my
understanding of the issue. The idea of having an inclusion mechanism
in addition to imports seems like a reasonable idea and I would
support such a move in general. However the proposal to link it to XML
raises issues - there are different serializations of RDF and it is
preferable to have a solution that is independent of a particular
serialization, as others have pointed out in different discussions
earlier in the working group. In addition the use of the general power
of XInclude and XPointer seems like substantially more than what is
needed here, and may impose implementation burden as the technology is
not afaik, not widely deployed.

I wonder if there might be a way to use a similar mechanism but
independent of the particular RDF serialization. For example, could it
make sense to have an directive (ontology property in OWL)
owl:includesRDF and specify it's behavior only as part of the RDF
parsing?

-Alan

On Wed, Sep 10, 2008 at 4:42 PM, Peter F. Patel-Schneider
<pfps@research.bell-labs.com> wrote:
> 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 Friday, 12 September 2008 10:12:35 UTC