- From: Graham Klyne <GK@ninebynine.org>
- Date: Mon, 14 Apr 2003 12:49:49 +0100
- To: pat hayes <phayes@ai.uwf.edu>, herman.ter.horst@philips.com
- Cc: www-rdf-comments@w3.org
At 21:40 13/04/2003 -0500, pat hayes wrote:
>Herman, greetings. Your example (below) has sparked quite a lot of work. I
>think I now understand what is going on in it and how to handle it, so
>this is an attempt to summarize and explain.
>
>The key pattern is the following combination:
>
>type subproperty p .
>p domain d .
>
>Together, these support an inference path from any type assertion to
>another type assertion:
>
>a type b
>a p b (using rdfs6)
>a type d (using rdfs2)
>
>and hence, since a could be anything, support an entailment
>
>b subClass d
>
>which however is not inferrable at present. The 'natural' corresponding
>inference rule would be the one I mentioned:
>
>if [a type b .] entails [a type c .], then infer [b subclass c .]
>
>which is not a closure rule. Including this rule would be semantically
>elegant but computationally ugly, so Ive been trying to find a way to avoid it.
>
>(BTW, I now think I was wrong to worry that there was a corresponding case
>for subPropertyOf, as the inference path for the corresponding antecedent
>subproof would have to go from a P b to a Q b for any a and b, and I
>cannot see any such pathway which does not already involve an assertion of
>subPropertyOf, since there is no property corresponding to binary
>predication in the way that rdf:type does to unary predication.)
>
>The entailment you noted actually follows from a further observation, viz that
>
>a type Resource
>
>is always true for any a; so using the above reasoning gives
>
>Resource subClass d
>
>as an entailment of the two initial triples alone, with no further
>assumptions. And is in fact follows by the kind of semantic analysis that
>you performed, more directly. Now, this in turn can only be interpreted
>as saying that the class extension of d is the same as rdfs:Resource, an
>equation I had not previously thought possible to express in RDF (and
>which means I have to rewrite rule rdfs7, see below)
>
>However, this (unexpectedly strong) conclusion does mean, I think, that
>this entire phenomenon can be captured by a single special rule, viz:
>
>rdf:type rdfs:subPropertyOf xxx .
>xxx rdfs:domain yyy .
>entails
>rdfs:Resource rdfs:subClassOf yyy .
>
>and a modification to rdfs7a, viz:
>
>xxx rdf:type rdfs:Class .
>rdfs:Resource rdfs:subClassOf yyy .
>entails
>xxx rdfs:subClassOf yyy .
>
>(which covers the previous version since
>rdfs:Resource rdfs:subClassOf rdfs:Resource .
>follows trivially by rdfs 7b)
I don't think the modification to rdfs7a is needed, though I do agree the
new rule is. (I tried working with the simple fact [rdf:type rdfs:domain
rdfs:Resource .] but then realized that's not strong enough.)
So given:
rdf:type rdfs:subPropertyOf xxx .
xxx rdfs:domain yyy .
->
rdfs:Resource rdfs:subClassOf yyy .
and
[1] type subproperty p .
[2] p domain d .
[3] a type b
->
[4] Resource subClassOf d ([1],[2],above)
type range class (table 3.3)
b type class ([3], rdfs3)
[5] b subclass resource (rdfs7a)
b subclass d ([5],[4],rdfs8)
...
It is also possible to show d is a subclass of resource:
domain range class (table 3.3)
d type class ([2], rdfs3)
d subclass resource (rdfs7a)
...
I think your revised 7a can already be derived:
[6] xxx type Class
[7] Resource subClassOf yyy
->
[8] xxx subClass Resource ([6],rdfs7a)
xxx subClassOf yyy ([8],[7],rdfs8)
#g
-------------------
Graham Klyne
<GK@NineByNine.org>
PGP: 0FAA 69FF C083 000B A2E9 A131 01B9 1C7A DBCA CB5E
Received on Monday, 14 April 2003 08:26:59 UTC