- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 20 Feb 2008 19:55:19 -0500 (EST)
- To: public-owl-wg@w3.org
- Cc: jjc@hpl.hp.com
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
Received on Thursday, 21 February 2008 01:02:38 UTC