W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > October 2002

Re: On equivalence of tidy/untidy (was: Re: Reopening tidy/untidy decision)

From: Dan Connolly <connolly@w3.org>
Date: 03 Oct 2002 08:49:38 -0500
To: Sergey Melnik <melnik@db.stanford.edu>
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>
Message-Id: <1033652978.13755.605.camel@dirk>

On Tue, 2002-10-01 at 03:24, Sergey Melnik wrote:
> 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.

Er... yes, it does. It *is* 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.

No; every tidy implementation says "true" the above test, and
every untidy implementation says "false".

> 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. 

Yes, it is. Read the model theory spec and the test cases spec.

http://www.w3.org/TR/rdf-mt/#entail
http://www.w3.org/TR/rdf-testcases/#tc_org

>     If it were, then we could define formally what the result of 
> entailment should be, applied to graphs.

We have done so.

> However, we do not require each 
> and every RDF application to support entailment (thanks God).

No, but we have defined which entailments can be justified
from the spec and which haven't.

(we haven't required RDF applications to do *anything*. Our
specs don't define "RDF applications" at all; only documents
and certain relationships between them.)

> 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)...

Even though we don't require it, the facility is visible from
a number of implementations, and we intend that those implementations
be interoperable.

> 
> Sergey
-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 3 October 2002 09:50:52 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:52:21 EDT