- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Tue, 28 May 2002 07:59:18 -0400
- To: www-rdf-logic@w3.org
- Cc: connolly@w3.org, peter.crowther@networkinference.com
What is an RDF agent? Consider the oft-used web travel agent. It is not an RDF agent. How can it be? It is a travel agent. Its job is not to determine RDF entailments; its job is to sell tickets. The web travel agent, could, of course, accept as input RDF documents. It could even determine RDF entailment during the course of its activities. It is, however, more likely that it would instead employ some other agent or service to determine RDF entailment. What would this other agent or service do? First consider a slightly different agent or service - a service that determines whether one propositional formula follows from another using propositional logic. Well this service had better only answer yes if the second formula does indeed follow from the first in this formal system, and had better only answer no if the second formula does not follow from the first. (This leaves open whether there is a third answer, a don't-know answer. A complete propositional reasoning service had better never provide this answer, and had better always return.) An RDF entailment service should behave in exactly this manner. It should never respond that one RDF graph RDF entails another if it, indeed, does not. Also, it should never respond that one RDF graph RDF does not entail another if it, indeed, does. An RDFS entailment service should behave similarly, but, of course, with respect to RDFS entailment. Could there be any other RDF service that could be provided? Well, not really, at least not any services that are related to inferencing. The RDF M&S and RDFSS documents are being replaced, so they should not be used as definitions of RDF services. The test cases document is only test caes, and not a definition of any service. The primer is explicitly a non-normative document. The syntax specification only serves as as translation from RDF/XML to n-triples. The only possibile place to find definitions of RDF services is the new Schema document, but this document just covers the same ground as the RDF Model Theory document, with one exception. The only other possible RDF reasoning service is alluded to in the RDF Schema document. In this document it refers to rdfs:comment as providing a human-readable description of a resource. A reasoning service built from this sort of information would require the ability to understand the meaning of natural language, and is thus not a viable candidate for an RDF reasoning service. So the only RDF reasoning services described in the RDF documents are RDF entailment and RDFS entailment. How could one evaluate an agent or service that claims to be an RDF(S) agent or service? Consider an agent that claims to do zero-order predicate calculus reasoning. Suppose this agent is asked to determine whether P(a) P(b) ~Q(b) forall(x,implies(P(x),Q(x))) entails Q(a) and the agent answers that this is so. Is this agent a zero-order predicate calculus reasoner? Absolutely not. Its reasoning is unsound in zero-order predicate calculus. Anyone claiming that this agent is a zero-order predicate calculus reasoner is claiming an untruth. Now consider an agent that claims to be doing RDF reasoning. Suppose this agent is asked to determine whether the following RDF graph (where I have made the common abbreviation of using QNames as abbreviations for URIrefs) <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> . RDF entails <ex:John> <rdf:type> <ex:Person> . and the agent answers that this is so. Is this agent an RDF reasoner? Absolutely not. Its reasoning is unsound in RDF. Is there any other relationship like RDF entailment that this reasoner could be computing? There is none in the RDF documents (except for RDFS entailment, but that is RDFS, not RDF). Anyone claiming that this agent is an RDF reasoner is claiming an untruth. Similarly, consider an agent that claims to be doing RDFS reasoning. Suppose this agent is asked to determine whether the RDF graph <ex:best-friend> <rdf:type> <ont:UniqueProperty> . <ex:age> <rdf:type> <ont: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" . <ont:UniqueProperty> <rdfs:label> "UniqueProperty" . <ont:UniqueProperty> <rdfs:comment> "compare with maxCardinality=1, e.g., ..." . <ont:UniqueProperty> <rdfs:subClassOf> <rdf:Property> . RDFS entails <ex:margaret> <ex:age> "35" . and the agent answers that this is so. Is this agent an RDFS reasoner? Absolutely not. Its reasoning is unsound in RDFS. Is there any other relationship like RDFS entailment that this reasoner could be computing? There is none in the RDF documents (except, of course, RDF entailment). Anyone claiming that this agent is an RDFS reasoner is claiming an untruth. In summary any agent/system/person doing RDF or RDFS reasoning has to be computing either RDF or RDFS entailment, and these are now precisely defined. Any agent/system/person that is computing a relationship between RDF graphs that is not RDF entailment is not an RDF reasoner; any agent/system/person that is computing a relationship between RDFS graphs that is not RDFS entailment is not an RDFS reasoner. What then is the status of systems like CWM and Euler? Euler has a mode that claims to implement RDFS entailment, so it might be considered to provide an RDFS entailment service, as least for the n-triples syntax of RDF. However, this claim is a bit suspect because the RDFS service provided by Euler is described in the same way as Euler's OWL service, which is incomplete. CWM's relationship to RDF is even weaker, at least given the readily-available documentation on CWM, as CWM does not appear to have a mode that attempts to implement RDF or RDFS entailment. However, the documentation on both these systems is very limited, and it may be that they do indeed provide RDF or RDFS entailment. Peter F. Patel-Schneider Bell Labs Research
Received on Tuesday, 28 May 2002 07:59:34 UTC