From SPARQL Working Group
Jump to: navigation, search


> Let me address your answer from two perspectives:
> 1) Clearly the spec is inconsistent in the way that it sometimes treats plain literals as equivalent to literals typed as xsd:string, and sometimes doesn't. Saying that this is the way it is defined in the specification is true, but not helpful. Keeping the specification logically consistent makes learning and understanding the language easier.

What part do you believe is inconsistent? The spec does not treat plain literals as equivalent to literals typed as xsd:string. It does specifies that the DATATYPE() function should return xsd:string for simple literals, but simple literals and literals typed as xsd:string are always distinct terms.

> 2) We all know that the datatype() function has been changed in SPARQL 1.1 to reflect the expected reality of RDF 1.1 typing. However the job is half finished - if ORDER BY remains unchanged, then there exists a way to tell the difference between plain literals and literals typed as xsd:string. This is not just inconsistent - it's also not forwards compatible with the way that RDF 1.1 is expected to change.

This difference is necessary as SPARQL (both 1.0 and 1.1) are defined in terms of RDF ("RDF 1.0"). The SPARQL working group isn't in a position to define the language based on assumptions about what RDF 1.1 may end up defining.

> Clearly the two logical solutions to this problem are to undo the changes to the datatype() function, or to also make changes to ORDER BY. Either way changes are necessary.
> Personally, I would prefer ORDER BY to be updated to sort plain literals in the same way as xsd:string literals.

Again, I'd like to know specificaly what you think is inconsistent that necessitates this change. While the updates to the DATATYPE function in SPARQL 1.1 are forward looking, they do not change the reality of SPARQL being defined in terms of the existing RDF spec, and are consistent with respect to that spec. Moreover, the SPARQL working group's charter requires that the group not make backwards incompatible changes to the language (which changes to the ORDER BY semantics would be). Future standarization from the RDF working group may impact SPARQL 1.1 as currently specified, but that is beyond the scope of what the SPARQL working group can address.

thanks, gregory williams