need to determine what RDF is

[This is a repackaged version of part of a mail message that I previously
sent, with new text explicitly bringing forward the important points that I
feel need to be addressed by the W3C RDFCore Working Group.]


There is currently a debate on just what the Resource Description Framework
(RDF) is.  The fuel fanning this debate is partly an implicit definition of
the Resource Description Framework held by some people and partly
deficiencies and vaguenesses in the RDF documents, even the new Working
Drafts.  Ordinarily it would not be the job of the W3C RDFCore Working
Group to consider the former portion of this fuel, but the people holding
it include prominent members of the W3C RDFCore Working Group, which, I
believe means that the W3C RDFCore Working Group has an urgent task to
clarify the RDF documents to either support or explicitly deny this
implicit definition of the RDF.

As this definition is implicit, I would have severe difficulties in
describing it.  Moreover, as what I have learned of this implicit
definition is completely counter to what I believe the RDF has to be, I
would have even more difficulties in giving an evenhanded description of
the implicit definition.

However, I can propose a definition of RDF(S) (RDF(S) is used here as a
shorthand for ``RDF or RDF Schema, respectively'') that I feel is
completely counter to this implicit definition.  My definition is that
RDF(S) is what is defined in the RDF(S) documents, whatever they end up
being, and nothing more.

So, an agent (a piece of software, a system, a person, ...) that is
determining entailments, or performing deductions, or making inferences, or
drawing conclusions, can label these entailments, or deductions, or
inferences, or conclusions as being RDF(S) only if they are indeed RDF(S)
entailments, as defined in the RDF Model Theory document.  An agent can be
correctly described to be determining RDF(S) entailment (or performing
RDF(S) deductions, or making RDF(S) inferences, or drawing RDF(S)
conclusions, or doing RDF(S), or ...) only if its behaviour can be viewed
as determining (or generating) correct (i.e., both sound and complete)
RDF(S) entailments as defined in the RDF Model Theory document.

This definition of RDF(S) means that an agent that takes into account
meanings that are not expressible in RDF(S) or not expressed in RDF(S) and
uses these meanings in determining entailment is not performing RDF(S)
entailment.  If the W3C RDFCore Working Group decides that accept this
definition of RDF(S), then I feel that it should modify the wording
associated with rdfs:comment (and similar wording) to indicate that
information not expressed in RDF documents is not part of RDF.


I give several examples to show some consequences of this definition.
The examples use the n-triples notation, with the common addition of QNames
as abbreviations for URI references.

Suppose an agent is given

  <ex:Student> <rdfs:subClassOf> <ex:Person> .
  <ex:John> <rdf:type> <ex:Student> .
  <rdfs:subClassOf> <rdf:type> <rdf:Property> .
  <rdfs:subClassOf> <rdfs:domain> <rdfs:Class> .
  <rdfs:subClassOf> <rdfs:range> <rdfs:Class> .
  <rdfs:Class> <rdf:type> <rdfs:Class> .

and responds that it entails

  <ex:John> <rdf:type> <ex:Person> .

This agent is not an RDF reasoner (is not doing RDF).  Its reasoning is
unsound in RDF.  The agent may be an RDFS reasoner, but it is not doing
RDF.

Suppose that an agent is given

  <ex:best-friend> <rdf:type> <daml:UniqueProperty> .
  <ex:age> <rdf:type> <daml:UniqueProperty> .
  <ex:bob> <ex:best-friend> <ex:margaret> .
  <ex:bob> <ex:best-friend> <ex:peggy> .
  <ex:peggy> <ex:age> "35" .
  <ex:margaret> <ex:best-friend> <ex:susan> .
  <ex:margaret> <ex:best-friend> <ex:jane> .
  <ex:susan> <ex:age> "43" .
  <ex:jane> <ex:age> "55" .
  <daml:UniqueProperty> <rdfs:label> "UniqueProperty" .
  <daml:UniqueProperty> <rdfs:comment> "compare with maxCardinality=1, e.g., ..." .
  <daml:UniqueProperty> <rdfs:subClassOf> <rdf:Property> .

and responds that it entails

  <ex:margaret> <ex:age> "35" .

This agent is neither an RDF reasoner nor an RDF Schema reasoner.  Its
reasoning is unsound in both RDF and RDF Schema.




Peter F. Patel-Schneider

Received on Thursday, 30 May 2002 09:00:03 UTC