- From: Sergey Melnik <melnik@db.stanford.edu>
- Date: Tue, 01 Oct 2002 10:24:41 +0200
- To: Dan Connolly <connolly@w3.org>
- CC: Frank Manola <fmanola@mitre.org>, Brian McBride <bwm@hplb.hpl.hp.com>, Patrick Stickler <patrick.stickler@nokia.com>, w3c-rdfcore-wg@w3.org, Eric Miller <em@w3.org>
Dan Connolly wrote: > On Mon, 2002-09-30 at 11:17, Sergey Melnik wrote: > >>Summary: it seems that tidy/untidy is an implementation detail... >> > [...] > >>My conjecture is that there is no way to distinguish whether an >>application deploys tidy or untidy semantics. >> >>Therefore, it's an >>implementation detail, which matters only for defining a standard, >>W3C-blessed RDF API, and is irrelevant for the spec we are working on. >> > > False; here's the test case: > > ============ > consider a similar example: > > <rdf:Description rdf:about="Jenny"> > <foo:age>10</foo:age> > </rdf:Description> > <rdf:Description rdf:about="Film"> > <foo:title>10</foo:title> > </rdf:Description> > > Though the title of the film and the age of Jenny are both written as an > [...] > > The formal definition of this question is whether, given the second of > the > RDF fragments above, entails (implies) the following (expressed in > n-triples): > > <jenny> foo:age _:l . > <film> foo:title _:l . > ============ > > -- Semantics of non-datatyped literals: Rationale (version 1) > From: Brian McBride (bwm@hplb.hpl.hp.com) > Date: Mon, Sep 30 2002 > http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Sep/0364.html > > > We have several pieces of code that one can test using this > test case (cwm, euler, some graph matching code that > Jan uses, Jena, others?). The WG owes the community a > clear yes/no answer to whether that entailment holds. The above example does not disprove the conjecture. How would you want to test whether the entailment holds or not in a particular given black-box application? Recall that the only means you have is exchanging RDF/XML documents with the application. Let me construct a "tough" case. Imagine an application that takes two documents as input and returns "true" or "false" (encoded in RDF), depending whether the first document entails the second one. Now, for each application that uses tidy (or untidy) interpretation of untyped literals, there exist a corresponding untidy (or tidy) implementation that behaves equivalently. The above difficulty is similar to the one inherent in the Turing test: imaging asking the subject of the test, "Are you really a human?". A machine can just as well answer, "Yes, of course, how can you doubt, pal?" Our problem is that the entailment capability is *not* part of RDF spec. If it were, then we could define formally what the result of entailment should be, applied to graphs. However, we do not require each and every RDF application to support entailment (thanks God). Recall that entailment is a syntactic procedure, more precisely, a binary relation that holds between syntactic sentences (graphs, in our case). Defining entailment (in terms of logical inference) is comparable to defining the semantics of a query language, like SQL. At this point of time, we do not force every RDF application to support a specific query language (which we could use to test tidiness)... Sergey
Received on Tuesday, 1 October 2002 04:25:03 UTC