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: Sergey Melnik <melnik@db.stanford.edu>
Date: Tue, 01 Oct 2002 10:24:41 +0200
Message-ID: <3D995BC9.6000809@db.stanford.edu>
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 EDT

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