From: "Jeremy Carroll" <jjc@hplb.hpl.hp.com>
Subject: DTTF: another summary
Date: Fri, 3 May 2002 10:45:34 +0100
> I believe we have three live proposals:
>
> - comprehensive entailments: Jeremy
Unfortunately, this proposal is fatally flawed.
In the empty KB, we can apply the kitchen sink comprehension rule
(forall (?v)
(=> (and (Type ?p Property)
(Type ?card NonNegativeInteger)
(Type ?min NonNegativeInteger)
(Type ?max NonNegativeInteger)
(Type ?c1 rdfs:Class)
(Type ?c2 rdfs:Class))
(exists (?r) (and (Type ?r Restriction)
(PropertyValue onProperty ?r ?p)
(PropertyValue minCardinality ?r ?min)
(PropertyValue maxCardinality ?r ?max)
(PropertyValue cardinality ?r ?card)
(PropertyValue hasClass ?r ?c1)
(PropertyValue toClass ?r ?c2) ) ) ) )
with ?p as rdf:type
?card as 0
?min as 0
?max as 0
?c1 as rdfs:Class
?c2 as rdfs:Resource
?v as rdf:type (?v is not used in the rule)
to obtain the following restriction (written in n-triples notation)
_:r rdf:type owl:Restriction .
_:r owl:onProperty rdf:type .
_:r owl:minCardinality 0 .
_:r owl:maxCardinality 0 .
_:r owl:cardinality 0 .
_:r owl:hasClass rdfs:Class .
_:r owl:toClass rdfs:Resource .
Now consider whether rdfs:Class is a member of this restriction.
Because _:r has both owl:onProperty and owl:toClass, an object belongs to it
exactly when all its rdf:type fillers belong to rdfs:Resource. But this is
true of all objects in all interpretations. Therefore rdfs:Class belongs
to _:r.
Because _:r has both owl:onProperty and owl:maxCardinality, an object
belongs to it exactly when it has at most 0 rdf:type fillers. But this is
not true of rdfs:Class, because rdfs:Class has rdfs:Class as an rdf:type.
Therefore rdfs:Class does not belong to _:r.
Therefore an empty knowledge base implies that some object both belongs and
does not belong to some class.
peter