W3C home > Mailing lists > Public > public-owl-wg@w3.org > February 2008

RE: ISSUE-68 (was Re: nonmon mapping and punning)

From: Michael Schneider <schneid@fzi.de>
Date: Tue, 26 Feb 2008 00:27:27 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A0751122@judith.fzi.de>
To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
Cc: "Jeremy Carroll" <jjc@hpl.hp.com>, <public-owl-wg@w3.org>
Hi Peter!

Thanks for your mail. I now see that I really did not understand Jeremy's concern w.r.t. ISSUE-68 in the last telco. 

When I correctly understand Jeremy, then the following variant of your example comes a bit closer to what Jeremy writes in his cited mail below.

In OWL-1.1-DL / Functional Syntax:

  * O1 has an object property p and a class c = objectatmost 5 p

  * O2 has a data property p and a class c = dataatmost 5 p

  * O3 imports O1 and O2

Mapping these three ontologies to RDF leads to:

  T(O1) = {
    p rdf:type owl:ObjectProperty .
    c rdf:type owl:Class .
    c owl:equivalentClass _:r1 .
    _:r1 rdf:type owl:Restriction .
    _:r1 owl:onProperty p .
    _:r1 owl:maxCardinality "5"^^xsd:nonNegativeInteger .    
  }

  T(O2) = {
    p rdf:type owl:DatatypeProperty .
    c rdf:type owl:Class .
    c owl:equivalentClass _:r2 .
    _:r2 rdf:type owl:Restriction .
    _:r2 owl:onProperty p .
    _:r2 owl:maxCardinality "5"^^xsd:nonNegativeInteger .    
  }

  T(O3) = {
    [] owl:import T(O1) .
    [] owl:import T(O2) .
  }

If T(O3) is read into a Jena OntModel (current version, not OWL-1.1 aware), and it is afterwards serialized back into a single RDF file, I think we receive the following:

  T(O*) = {
    p rdf:type owl:ObjectProperty .
    p rdf:type owl:DatatypeProperty .

    c rdf:type owl:Class .

    c owl:equivalentClass _:r1 .
    _:r1 rdf:type owl:Restriction .
    _:r1 owl:onProperty p .
    _:r1 owl:maxCardinality "5"^^xsd:nonNegativeInteger .    

    c owl:equivalentClass _:r2 .
    _:r2 rdf:type owl:Restriction .
    _:r2 owl:onProperty p .
    _:r2 owl:maxCardinality "5"^^xsd:nonNegativeInteger .
  }

AFAICS, The problem is now that the RDF graph T(O*) cannot be mapped back to Functional Syntax. There are /two/ different typing axioms for p, leading to OnlyOP(p) = false, and OnlyDP(p) = false. When I correctly understand the RDF-to-Func mapping described in [10], none of the mapping rules in table 6 can be applied.

So, in the case that it is desirable to make an RDF-merged ontology mappable to Functional Syntax, Jena will have to perform the necessary changes to the RDF graph, or to the original set of RDF graphs.

@Jeremy: Is it this what you mean?

Cheers,
Michael

[10] <http://www.w3.org/2007/OWL/wiki/Mapping_to_RDF_Graphs#Translation_from_RDF_Graphs_to_Functional-Style_Syntax>


>-----Original Message-----
>From: public-owl-wg-request@w3.org 
>[mailto:public-owl-wg-request@w3.org] On Behalf Of Peter F. 
>Patel-Schneider
>Sent: Thursday, February 21, 2008 1:55 AM
>To: public-owl-wg@w3.org
>Cc: jjc@hpl.hp.com
>Subject: ISSUE-68 (was Re: nonmon mapping and punning)
>
>
>I dug out this exchange between Jeremy and myself, which didn't get
>attached to ISSUE-68.  This is, I think, the problem that Jeremy is
>raising.
>
>Consider two ontologies:
>
>O1 has an object property p and a class c = objectatmost 5 p
>O2 has an object property p and a class c = objectatmost 5 p
>   plus a data property p and a class c1 = dataatmost 5 p
>
>The translation of O1 into triples (modulo declarations) is something
>like:
>
>   p rdf:type owl:ObjectProperty .
>   c rdf:type owl:Class .
>   c owl:equivalentClass _:r1 .
>   _:r1 rdf:type owl:Restriction .
>   _:r1 owl:onProperty p .
>   _:r1 owl:maxCardinality "5"^^xsd:nonNegativeInteger .
>
>The translation of O2 is something like:
>
>    p rdf:type owl:ObjectProperty .
>    c rdf:type owl:Class .
>    c owl:equivalentClass _:r1 .
>    _:r1 rdf:type owl11:ObjectRestriction .
>    _:r1 owl:onProperty p .
>    _:r1 owl:maxCardinality "5"^^xsd:nonNegativeInteger .
>
>    p rdf:type owl:DataProperty .
>    c1 rdf:type owl:Class .
>    c1 owl:equivalentClass _:r2 .
>    _:r2 rdf:type owl11:DataRestriction .
>    _:r2 owl:onProperty p .
>    _:r2 owl:maxCardinality "5"^^xsd:nonNegativeInteger .
>
>Note that the translation of O2 is not a superset of the translation of
>O1 even though O2 is a superset of O1.  Note also that it is a
>combination of property-property punning, backwards compatability, and
>minimality that causes the issue.
>
>Peter F. Patel-Schneider
>
>
>
>
>From: Jeremy Carroll <jjc@hpl.hp.com>
>Subject: Re: nonmon mapping and punning
>Date: Wed, 23 Jan 2008 17:44:37 +0000
>
>> Peter F. Patel-Schneider wrote:
>> 
>> > When would a triple-based implementation have to modify "a 
>triple in
>> > response to adding a triple"?  Which design principle does this
>> violate,
>> > and where did it come from?
>> > 
>> 
>> 
>> If I have understood correctly, the following sequence of 
>operations, at
>> an API level, would result in this situation. I'll express 
>it as a merge
>> of two ontologies, in order to answer your second question 
>about design
>> principle.
>> 
>> 
>> A program manipulates an API, such as the Jena Ontology API
>> 
>> http://jena.sourceforge.net/ontology/index.html
>> 
>> It creates an ontology and adds an object property p to it, 
>and adds a
>> maxCardinality restriction on p. This ontology is then 
>written out to a
>> file.
>> 
>> If I understand correctly the RDF/XML corresponding to the
>> maxCardinality restriction should have type owl:Restriction
>> 
>> It then creates a second ontology and adds a data property, 
>also called
>> p to it, and adds a minCardinality restriction on p. This second
>> ontology is then written out to a second file.
>> 
>> If I understand correctly the RDF/XML corresponding to the
>> minCardinality restriction should have type owl:Restriction
>> 
>> It then creates a third ontology, being the union of the first two,
>> corresponding to the RDF merge operation.
>> 
>> If this is written out to a third file, in a way that 
>conforms with OWL
>> 1.1 DL, then
>> 
>> If I understand correctly the RDF/XML corresponding to the
>> maxCardinality restriction should have type owl:ObjectRestriction
>> 
>> and
>> the minCardinality restriction should have type owl:DataRestriction.
>> 
>> 
>> This has involved the deletion of two triples with predicate rdf:type
>> and object owl:Restriction.
>> 
>> Our expectations for merge are found in RDF Semantics, for example,
>> 
>> http://www.w3.org/TR/rdf-mt/#mergelem
>> [[
>> Merging lemma. The merge of a set S of RDF graphs is 
>entailed by S, and
>> entails every member of S.
>> 
>> This means that a set of graphs can be treated as equivalent to its
>> merge
>> ]]
>> 
>> Jeremy
>
>

--
Dipl.-Inform. Michael Schneider
FZI Forschungszentrum Informatik Karlsruhe
Abtl. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: Michael.Schneider@fzi.de
Web  : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555

FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts
Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus


Received on Monday, 25 February 2008 23:27:49 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 25 February 2008 23:27:51 GMT