- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Fri, 30 Mar 2007 12:03:07 +0100
- To: Lee Feigenbaum <feigenbl@us.ibm.com>
- CC: public-rdf-dawg@w3.org
Lee Feigenbaum wrote: > These are responses to the substantive parts of Olivier's comments. Andy > or Eric, when you respond to the editorial matters, please include these > comments. Will do. > > (Andy, you might in particular want to take a look at the response to the > RDFTerm-equal function. While I know the group has discussed this in the > past, I can't find a specific URL to a discussion or decision that I could > refer to.) Thanks for pointing this out. > > Lee > > Olivier Corby wrote on 03/28/2007 10:51:19 AM: > >> Hi, >> >> Here are some comments on current SPARQL WD. > > ... > >> 4.2.3 RDF Collections ... >> 5.2.2 Scope of Filters ... >> 9.3 DISTINCT ... >> 11.4.10 RDFterm-equal >> >> RDFterm-equal produces a type error if the arguments are both literal > but >> are not the same RDF term. >> >> >> So, following the current draft : >> >> 'Jules'@en = 'Jim'@en >> >> produces a type error because they are not the same RDF term. >> >> It is the same with != < <= > >= >> ]] > > By design, SPARQL does not define semantics for comparing plain literals > with language tags, as you've noted. Note that query writers can compare > literals themselves: > > !langMatches(lang(?a), lang(?b)) || !(str(?a) = str(?b)) langMatches is asymmetric in its arguments: langMatches("en-us", "en") is true so the full equality test needs to be something like: langMatches(lang(?a), lang(?b)) && langMatches(lang(?b), lang(?a)) && (str(?a) = str(?b)) > > The Working Group has not been motivated in the past to define the > comparison operators on plain literals with language tags. Section 11.3.1 > Operator Extensibility licenses SPARQL language extensions that add rows > to the operator table, such that implementations may support comparing > plain literals with language tags. > > I hope that this addresses this concern; please let us know if not, and > the Working Group will weigh changes to the operator table versus the > schedule risks of publishing a new Last Call draft. relating to this general area: Olivier also said: > [[regex could operate on xsd:string as well as simple literal.]] That is a legal extension because regex("foo"^^xsd:string,...) is a dispatch type error so an implementation can add it if it wishes. ARQ does this in normal mode and not in strict mode. Andy -- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England
Received on Friday, 30 March 2007 11:03:32 UTC