Re: A review of rdf:text from a SPARQL perspective (1st draft)

On 22 Apr 2009, at 17:20, Seaborne, Andy wrote:

> (This is my first cut at a review to expose it to the WG as early as  
> possible).
> == Short version
> * Impacts SPARQL because SPARQL queries the graph, not the  
> serialized form.
> * May be able to accommodate through modified BGP matching  
> extensions but it is a change.
> * Various functions (STR, DATATYPE, LANG) may change if rdf:text  
> exposed.
> * SPARQL Query Results XML Format needs further consideration.
> == Background
> (For the SPARQL-WG)
> Publication:
> Editors' version:
> References to locations in a document refer to the wiki version of  
> 14/April which I understand to be the LC text.
> This is a review of specification.  There have been discussions  
> about intent but this is about the LC text.
> rdf:text is a REC track document from RIF and OWL2.  It aims to give  
> a uniform way to handling plain RDF literals (with and without  
> language tags) as a value space which is comprised of the union of  
> pairs
>  (lexical form)
>  (lexical form, langTag)
> where langTag can't be the empty string.  Done this way, the value  
> space of xsd:string is a subset of rdf:text.  The lexical space of  
> xsd:string is not a subset of the lexical space of rdf:text.
> To do this, the design is to introduce a datatype for plain  
> literals, rdf:text, in the RDF namespace.  (An alternative would be  
> to map from the existing serializations direct to the value space  
> model.)
> xsd:string "foo" is "foo@"^^rdf:text
> Simple literal "foo" is "foo@"^^rdf:text
> Plain literal with language tag "foo"@en is "foo@en"^^rdf:text
> The LC document explicitly states that rdf:text must not appear in  
> RDF graphs serializations.  (sec 1, end of para 2; last para of  
> section 4) This helps compatibility and means that existing tools do  
> not have be upgraded but does not address the case of SPARQL.
> == Overview
> There are some SPARQL-specific issues that arise that are not  
> addressed in the document.  The rdf:text only refers to "graph  
> exchange" when saying that rdf:text must not appear in RDF graphs  
> serializations but that does not apply to SPARQL directly.
> Because rdf:text document says nothing about SPARQL operations and  
> it's not clear to me whether changes to existing SPARQL queries are  
> being assumed.  At one time, they were.

My reading of section 4 is that it would change SPARQL query results  
for processors that implement rdf:text, and not for ones that don't.  
That seems like a barrier to interoperability.

> Note: In RDF, a literal has either a language tag or a datatype but  
> not both. rdf:text changes this assumption so deployed code or  
> SPARQL implementations that rely on this invariant may break.

That is a big concern for me, and would cause significant back- 
compatibility issues.

- Steve

Steve Harris
Garlik Limited, 2 Sheen Road, Richmond, TW9 1AE, UK
+44(0)20 8973 2465
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10  

Received on Thursday, 23 April 2009 09:42:24 UTC