Summary: I don't yet see any particular problems. Note: I also don't see that this is only related to cardinalities, as related issues arise with things like ObjectPropertyAssertion(eg:p eg:a eg:a) ClassAssertion(eg:a DataAllValuesFrom(eg:p xsd:integer)) (The mention of cardinalities had lead me to think that the issue had something to do with a punned name counting as more than one domain element, but I now see that this is not the case.) peter From: Jeremy Carroll <jjc@hpl.hp.com> Subject: Cardinality Restrictions and Punning Date: Thu, 20 Dec 2007 13:56:08 +0000 > Hmmm, this is tricky, harder than I thought. > > Some examples. I'm struggling as to the discussion. > > > Example 1: > Consistent: > [punning on eg:p] > > eg:a rdf:type owl:Thing . > eg:a eg:p eg:a . > eg:p rdf:type owl:ObjectProperty . > eg:p rdf:type owl:DataProperty . > _:r rdf:type owl:DataRestriction . > _:r owl:maxCardinality "0"^^xsd:int . > _:r owl:onProperty eg:p . > eg:a rdf:type _:r . I.e., ObjectPropertyAssertion(eg:p eg:a eg:a) ClassAssertion(eg:a DataMaxCardinality(0 eg:p)) > Example 2: > Inconsistent. > > eg:a rdf:type owl:Thing . > eg:a eg:p eg:a . > eg:p rdf:type owl:ObjectProperty . > eg:p rdf:type owl:DataProperty . > _:r rdf:type owl:ObjectRestriction . > _:r owl:maxCardinality "0"^^xsd:int . > _:r owl:onProperty eg:p . > eg:a rdf:type _:r . I.e., (more or less) ObjectPropertyAssertion(eg:p eg:a eg:a) ClassAssertion(eg:a ObjectMaxCardinality(0 eg:p)) + something like EquivalentDataProperties(eg:p eg:p) > Example 3 - not in OWL 1.1 DL, because mapping rules don't apply. > Who knows whether this is consistent or not, and how we would go about > an OWL Full semantics. I think it should be inconsistent in OWL Full. > > eg:a rdf:type owl:Thing . > eg:a eg:p eg:a . > eg:p rdf:type owl:ObjectProperty . > eg:p rdf:type owl:DataProperty . > _:r rdf:type owl:Restriction . > _:r owl:maxCardinality "0"^^xsd:int . > _:r owl:onProperty eg:p . > eg:a rdf:type _:r . I.e., (more less than more) ObjectPropertyAssertion(eg:p eg:a eg:a) ClassAssertion(eg:a MaxCardinality(0 eg:p)) + something like EquivalentDataProperties(eg:p eg:p) > Example 4 > Inconsistent > > eg:a rdf:type owl:Thing . > eg:a eg:p eg:a . > eg:p rdf:type owl:ObjectProperty . > _:r rdf:type owl:Restriction . > _:r owl:maxCardinality "0"^^xsd:int . > _:r owl:onProperty eg:p . > eg:a rdf:type _:r . I.e., ObjectPropertyAssertion(eg:p eg:a eg:a) ClassAssertion(eg:a MaxCardinality(0 eg:p)) > Example 5 > Consistent > > eg:a rdf:type owl:Thing . > eg:p rdf:type owl:DataProperty . > _:r rdf:type owl:Restriction . > _:r owl:maxCardinality "0"^^xsd:int . > _:r owl:onProperty eg:p . > eg:a rdf:type _:r . I.e., (more or less) ClassAssertion(eg:a DataMaxCardinality(0 eg:p)) > Summary: > > 1 vs 2 the object restriction is inconsistent, data restriction is > consistent, *in the DL semantics*. One triple differs between the two. * [added] * > > 1,2 vs 3 if we don't specify object restriction or data restriction, > using owl:Restriction with punning declarations, then we are outside the > scope of OWL 1.1 DL, but OWL 1.1 Full semantics needs to say something Same as in OWL Full? > 3 vs 4 > 4 is inconsistent in OWL 1.1 DL, becuase the restriction is read as an > ObjectRestriction *again in the DL semantics*. 3 adds more triples, * [added] * > and so must also be inconsistent > in OWL 1.1 Full. > > 3 vs 5 > 5 is 3 without two triples, but is consistent. One possible way forward (which I'm not yet championing): In OWL 1.1 Full, there is no distinction between object and data properties. The class extension of both owl:ObjectProperty and owl:DataProperty is the same as that of rdfs:Property. Note that this does produce observable differences between OWL 1.1 DL and OWL 1.1 Full, but only related to punning object and data properties.Received on Thursday, 20 December 2007 16:21:19 UTC
This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:41:41 UTC