- 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