Re: ISSUE-68

I'm following up in a separate message to remove a potential solution
from the statement of the issue.

This particular instance of the issue could be resolved by making
allowing multiple typing triples and making them optional in some cases.

Change 1 - Transformation of ObjectMinCardinality(n op c)

	_:x rdf:type RESTRICTION[op]
 	_:x rdf:type owl:Restriction . [optional]
 	_:x rdf:type owl:owl11Restriction . [optional]
 	_:x owl:minCardinality "n"^^xsd:nonNegativeInteger
 	_:x owl:onProperty T(op)
 	_:x owl11:onClass T(c)	_:x 

Change 2:

RESTRICTION[op] expands to owl:Restriction if OnlyOP(op) = true, and to
owl11:ObjectRestriction otherwise;

So in the case of property punning the owl:owl11Restriction is required
otherwise owl:Restriction is.  Tools can operate in a slightly different
mode, always emitting the owl:Restriction triple and emitting the
owl11:ObjectRestriction under punning.

peter




From: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
Subject: ISSUE-68 (was Re: nonmon mapping and punning)
Date: Wed, 20 Feb 2008 19:55:19 -0500 (EST)

> 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

Received on Thursday, 21 February 2008 01:16:47 UTC