- From: Chris Purcell <cjp39@cam.ac.uk>
- Date: Tue, 5 Apr 2005 13:20:19 +0100
- To: Jeremy Wong üÜûòÕá <50263336@student.cityu.edu.hk>
- Cc: semantic-web@w3.org
> <#A> rdf:type <#X> .
> <#B> rdf:type <#X> , <#Y> .
> <#C> rdf:type <#X> , <#Z> .
>
> =>
>
> <#X> rdfs:subClassOf <#Y> , <#Z> .
X = { A, B, C }, Y = { B } and Z = { C }. X is not a subclass of either
Y or Z, but the other way around.
----
Assuming you had said
<#Y>, <#Z> rdfs:subClassOf <#X>
I would still have to disagree with you. From the RDF Concepts and
Abstract Syntax document:
To facilitate operation at Internet scale, RDF is an open-world
framework that
allows anyone to make statements about any resource.
In general, it is not assumed that complete information about any
resource is
available.
Your conclusion is that, because every instance of Y **that you know
of** is also an instance of X, that this holds in general. However, the
following statement could also hold:
<#D> rdf:type <#Z>
On the face of it, using the same reasoning, we now "know" that Z is
*not* a subclass of X. But adding yet another statement,
<#D> rdf:type <#X>,
restores our "conclusion".
In essence,
<#Y> rdfs:subClassOf <#X>
states that Y will always be a subclass of X, regardless of what
additional information we learn, and we therefore cannot deduce it from
a few instances of the use of X and Y.
Chris
Received on Tuesday, 5 April 2005 12:20:24 UTC