W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2007

[OWLWG-COMMENT] Re: Cardinality Restrictions and Punning

From: Michael Schneider <schneid@fzi.de>
Date: Fri, 21 Dec 2007 10:50:14 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A05A5F63@judith.fzi.de>
To: "Jeremy Carroll" <jjc@hpl.hp.com>
Cc: "Owl Dev" <public-owl-dev@w3.org>

[public comment to OWL-1.1 WG discussion]

Hi Jeremy!

Jeremy Carroll wrote on Thu, 20 Dec 2007
in <http://lists.w3.org/Archives/Public/public-owl-wg/2007Dec/0239.html>:

> 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 .

While you do not explain what your mail is about, I believe that you are
searching for an example which shows problems or dangers resulting from the
interplay between data/object property punning, cardinality restrictions,
and OWL-DL vs. OWL-Full semantics. Is it this what you are looking for?

If yes, then the following example RDF graph {(R1*)} might be of interest to
you, because it is a consistent ontology in OWL-1.1-DL, but it is
*inconsistent* in OWL-1.0-Full.

Of course, the RDF compatible semantics for OWL-1.1 will have to be
constructed in a way that the graph {(R1*)} becomes consistent. Otherwise I
would not be willing to say that OWL-1.1-Full is in any way "compatible"
with OWL-1.1-DL. Whether and how this can be achieved will be an interesting
question.

Here is the example graph, which is just a slightly modified version of your
"Example 1" above:

  (R11) eg:a rdf:type owl:Thing .
  (R12) eg:b rdf:type owl:Thing .
  (R13) eg:a eg:p eg:b .
  (R14) eg:p rdf:type owl:ObjectProperty .
  (R15) eg:p rdf:type owl:DataProperty .
  (R16) _:r rdf:type owl:DataRestriction .
  (R17) _:r owl:maxCardinality "0"^^xsd:int .
  (R18) _:r owl:onProperty eg:p .
  (R19) eg:a rdf:type _:r .

The differences are that we now have an additional individual 'eg:b' defined
in (R12), and (R13) is not a loop triple anymore.

This graph can be translated into the following Functional Syntax ontology:

  (F11) Declaration(Individual(eg:a))
  (F12) Declaration(Individual(eg:b))
  (F13) ObjectPropertyAssertion(eg:p eg:a eg:b)
  (F14) Declaration(ObjectProperty(eg:p))
  (F15) Declaration(DataProperty(eg:p))
  (F16) ClassAssertion(eg:a DataMaxCardinality(0 eg:p))

>From this one can see that the ontology is *consistent* w.r.t. OWL-1.1-DL
semantics including property punning. This is the case, because (F13) refers
to to eg:b as an /Individual/, so eg:p is an /Object/Property in (F13). But
the cardinality restriction in (F16) refers to eg:p as a /Data/Property,
which may be different from the ObjectProperty eg:p.

Here is the reasoning why graph {(R1*)} is an *inconsistent* ontology in
OWL-1.0-Full. To see this, let's go through the graph step by step.

1.) Sub graph G_14 := {(R11)..(R14)} is obviously *consistent* in
OWL-1.0-Full. 

2.) (R15) tells us that property eg:p is a owl:DataProperty. There is no
conflict with (R14), because in OWL-1.0-Full we have

    owl:DataProperty rdfs:subClassOf owl:ObjectProperty

Further, we learn from (R15) and (R13) that the URIref 'eg:b' denotes a data
value, which means 

    eg:b rdf:type rdfs:Literal

Again, there is no conflict with (R12), because in OWL-Full we have

    rdfs:Literal rdfs:subClassOf rdfs:Resource

and

    rdfs:Resource owl:equivalentClass owl:Thing

Thus, the sub graph G_15 := {(R11)..(R15)} is *consistent*.

3.) The sub graph {(R16),(R17),(R18)} specifies a "<=0"-DataCardinality
restriction on property eg:p. This is ok, because eg:p is a DataProperty
according to (R15). Thus, sub graph G_18 := {(R11)..(R18)} is *consistent*.

4.) From triple (R19) and the "<=0"-cardinality restriction on property eg:p
we learn that the following triple does *not* exist in this ontology:

  eg:a eg:p eg:b 	# does *not* exist

But this directly contradicts (R13). Thus, the complete graph {(R1*)} is
*inconsistent* in OWL-1.0-Full.


Cheers,
Michael

> 
> 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 .
> 
> 
> 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 .
> 
> 
> 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 .
> 
> 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 .
> 
> 
> 
> Summary:
> 
> 1 vs 2 the object restriction is inconsistent, data restriction is 
> consistent. One triple differs between the two.
> 
> 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
> 
> 3 vs 4
> 4 is inconsistent in OWL 1.1 DL, becuase the restriction is read as an 
> ObjectRestriction. 3 adds more triples, and so must also be inconsistent 
> in OWL 1.1 Full.
> 
> 3 vs 5
> 5 is 3 without two triples, but is consistent.
> 

--
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 Friday, 21 December 2007 09:50:28 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:55 GMT