The Cannes Entailment [was: Coming to grips with the entailment put forth by Jeremy]

Folks,

You will see I suggest a new name for Jeremy's entailment [1].  And before 
Jeremy gets in, I did consider calling it the Cannot entailment.  Beware 
more puns ahead.

Several months after the Cannes f2f we have not agreed on a solution to 
this issue that the working group has agreed is a problem.  We have by 
default been steering a course which would result in publishing a Datatypes 
WD with this problem unresolved, seeking feedback from the community as to 
whether they see this as a real obstacle.

In the light of recent discussions on datatyping, I think we need to 
consider this explicitly.

I'm aware of the following options (details below) for dealing with this 
problem:

   o ask the community if its really a problem and they say no.
   o the know fix (ho ho)
   o the rule fix
   o the syntax fix
   o the abandon hope fix

Given the difficulties we have in agreeing anything about datatypes, and 
the large amount of work we have done and not yet shared with the 
community, I suggest we ask the community by publishing a WD, explicitly 
seeking feedback on this issue and possibly listing the various options we 
have identified.

The know fix
============

In the know fix, we assume that the knowledge that

   <jenny> <age> "10" .

really means

   <jenny> <age> _:a .
   _:a <xsd:decimal> "10" .

is defined elsewhere.  Perhaps an application just 'knows' that this is the 
case.  Perhaps there are some rules defined outside of RDF for expressing 
this.  However, its done, we take the view that if you want to do this sort 
of thing, you do it extra-rdf.


The Rule Fix
============

We build a rule mechanism, as in the know fix, into RDF.  I think Jos has 
claimed that he has proved something similar, if not the same as this, 
works.  No one I have suggested this to has like it, usually for different 
reasons.

   <jenny> <ageA> "10" .
   <ageA> <rdfd:datatype> <integer> .
   <ageA> <rdfd:valueProp> <ageB> .

entails:

   <jenny> <ageB> _:a .
   _:a <integer> "10".


The Syntax Fix
==============

This fix is based on the idea that viewing the problem as an entailment 
problem is incorrect.  The real problem is syntactic.  It arises solely 
from the fact that folks are currently used to writing in rdf/xml:

   <rdf:Descrption rdf:about="#jenny">
     <age>10</age>
   </rdf:Description>

and it is suggested that they expect the age property to represent the 
number not the numeral.

The suggestion therefore, is to fix this in the syntax.  If instead the 
author writes:

   <rdf:Description rdf:about="#jenny">
     <age xsi:type="xsd:decimal">10</age>
   </rdf:Description>

this should be equivalent to the following n-triples:

   <jenny> <age> _:a .
   _:a <xsd:decimal> "10" .

Could the xsi:type property be inserted by an XML Schema or a DTD?


The Abandon Hope Fix
====================

To those who say I am showing a lack of neutrality in the choice of name, I 
reply that I am, perhaps mistakenly, using a name that I believe will be 
considered appropriate by many WG members.

If it is decided that the community cannot live without a solution to this 
problem, and none of the other solutions are acceptable, then we reconsider 
the tradeoffs that got us to this point.

I strongly suggest we do not abandon hope until after we have sought 
community feedback on the current proposal.

Brian

[1] http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Feb/0635.html
Thanks to Patrick for digging out the reference

Received on Sunday, 28 April 2002 12:22:12 UTC