Re: RDF *already* supports literal subjects - a thought experiment

On Fri, 2010-07-09 at 15:00 -0500, Pat Hayes wrote:
> On Jul 9, 2010, at 12:54 PM, Graham Klyne wrote:
> 
> > It has already been suggested that data: URIs provide a way to  
> > implement
> > subjects-as-literals in RDF.  I thought it might be worth fleshing  
> > this out a
> > little to see where it leads...
> >
> > ...
> >
> > A data: URI (http://tools.ietf.org/html/rfc2397) has the following  
> > general form:
> >
> >  data:[<mediatype>][;base64],<data>
> >
> > For representing literals (which are, after all, sequences of  
> > characters), we
> > can probably disregard the [;base64] option.
> >
> > To distinguish data: as literals, I would suggest introducing a new  
> > MIME type, say:
> >
> >  application/rdf-literal [;datatype=uri] [;language=<lang-code>]
> >
> > where datatype= indicates a typed literal, and language may be  
> > present for
> > non-typed literals.
> >
> > (%-escaping would be applied as necessary for the data: URI to  
> > conform to URI syntax.  I won't worry with the details in this  
> > message.)
> >
> > Thus, we can have:
> >
> >  data:application/rdf-literal,Hello%20world
> >
> > intended to denote the same thing in RDF as the plain literal "Hello  
> > world", or:
> >
> >  data:application/rdf-literal;language=fr,Bonjour%20monde
> >
> > to denote the same as "Bonjour monde"@fr (using Turtle notation here  
> > for the
> > literal), or:
> >
> > data:aplication/rdf-literal;datatype="http://www.w3.org/2001/XMLSchema#integer 
> > ",10
> >
> > to denote the same as "10"^^<http://www.w3.org/2001/ 
> > XMLSchema#integer>, or the
> > integer 10.
> >
> > ...
> 
> Hi Graham
> 
> > So far, all this should lead to intended-literals in subject  
> > position that can
> > be read by any existing RDF/XML consuming application.
> >
> > What I'm less sure about is fixing the semantics:  as it stands, the  
> > RDF
> > semantics is expressed in terms of allowing arbitrary  
> > interpretations --
> > mappings to things in the domain of discourse -- for all URI nodes  
> > in a graph.
> > Would it be unreasonable or problematic to say that, for this  
> > particular form of
> > URI, the  denotation is fixed by the same general rules that govern  
> > the
> > denotation of literals?
> 
> 
> No, but it would be a semantic extension to RDF, so the folk who have  
> invested so much into implementing RDF as of 2004 will not support it.  
> So if this is standardized, their engines will not work properly  
> without changing some code. So they will not be happy, for the same  
> reasons they are not happy with the current suggestion.  LIke most  
> such suggestions along these lines, it will produce problems of its  
> own, the most obvious being that we would then have two syntactically  
> distinct but semantically equivalent ways to write every literal in  
> the places where literals are permitted, requiring engines to check  
> for all these different forms all the time (in fact, to check *every*  
> URI in any RDF just in case it is a hidden literal.)  In the case of  
> plain literals, we would actually have four such ways to write them  
> instead of the two we have now.
> 
> Although its ingenious, I think this is laying land-mines for future  
> developers.

Still, it might be a good way to grandfather old systems and old
syntaxes, at some point.   The duplication could be avoided just by
saying don't do that.  (That is: never serialize as a data-uri-literal
when you can syntactically use a real literal instead.)  

I've added it to
http://www.w3.org/2001/sw/wiki/Literals_as_Subjects#Proposals

Others should feel free to clean that up more, and add other proposals.
If they're more than a few lines, please use a link to the details.

    -- Sandro

Received on Sunday, 11 July 2010 17:02:49 UTC