SQL delimited vs regular identifiers

I have several comments/questions about this note in section 5 of the R2RML
draft [1]

"Note that in R2RML, column name specified as an RDF plain
literal<http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-plain-literal>or
within curly braces, is considered a delimited SQL identifier."

1) My reading of this is that a column or table name in an R2RML mapping,
like:

rr:column "age"

would be interpreted as a delimited identifier: "age", as opposed to a
regular (un-quoted) identifier: age

For the case where SQL identifiers in the database are regular identifiers,
this has the effect of making the identifiers used in the mapping case
sensitive by default (since a regular identifier of AGE in the database
would not match a delimited identifier of "age" from the mapping). In my
experience most SQL identifiers are regular identifiers and users are
accustomed to entering identifiers in a case in-sensitive manner. So it
seems to me that it would be more useful if R2RML supported case
in-sensitive identifier usage by default. This could be accomplished by
interpreting RDF plain literals as regular identifiers.

2) It is not clear to me how this matches the resolution identified in
"ISSUE-35:
Case sensitivity of SQL identifiers
http://www.w3.org/2001/sw/rdb2rdf/track/issues/35" [2]

3) As far as I can tell this approach is not documented in the normative
parts of the spec.

4) Why does it call out "column name[s]", why not other SQL identifiers
embedded in R2RML?

5) How are users to enter a regular identifier as a SQL identifier in R2RML?

6) Per the normative part of the spec, is the user expected to be able to
enter a delimited identifier as:

rr:column "\"age\""


7) The grammar of the note needs some work.

I admit these are slippery ideas, so perhaps I am not analyzing it all
correctly.

-David

[1] http://www.w3.org/2001/sw/rdb2rdf/r2rml/#logical-tables
[2] http://www.w3.org/2001/sw/rdb2rdf/track/issues/35

Received on Thursday, 13 October 2011 16:30:47 UTC