Open afs opened 1 year ago
PR #153 includes the grammar changes for rdf:dirLangString
.
I want to bring to your attention a minor yet notable inconsistency in the naming conventions used since RDF 1.1. This version introduced rdf:langString
, replacing the previous rdf:LangString
, which breaks the convention of naming classes and datatypes with capital letters. Furthermore, the recently introduced rdf:dirLangString
also starts with a lowercase letter, reinforcing this inconsistency.
While the naming of rdf:dirLangString
at least aligns with the style of rdf:langString
, the overall approach seems to deviate from the previously established conventions. This lack of uniformity in capitalization could lead to confusion among users and developers working with RDF, who typically expect such naming conventions to be more consistent.
I think @domel's point qualifies as a bug.
rdf:LangString
should not have been replaced by rdf:langString
.
This change should be reverted (restoring rdf:LangString
), and rdf:dirLangString
should be replaced by rdf:DirLangString
.
RDF Vocab defines rdf:langString
.
@TallTed rdf:langString
was proposed in RDF 1.1 and defined in vocab. So the situation is hopeless if we want to maintain backward compatibility.
This version introduced rdf:langString, replacing the previous rdf:LangString I'm not sure what "This version" is referring to.
RDF 1.2 is not replacing anything from RDF 1.1.
previously established conventions
In RDF 1.1, there is rdf:HTML
and rdf:XMLLiteral
but the uppercase there is from the underlying name.
It's xsd:integer
and xsd:dateTime
. XSD dataypes are called out in RDF 1.1. So what convention there might be is quite weak.
There are no syntaxes where you can use datatype rdf:langString
or rdf:dirLangString
, it's just for internal use. Normalizing to use these two variants instead of rdf:LangString
or rdf:DirLangString
should be a transparent change, and is necessary to fix an inconsistency. The fact that in RDF/SPARQL 1.1 no one noticed that it was capitalized is evidence that it doesn't matter to implementaitons.
Where was rdf:LangString
previously defined?
There are no syntaxes where you can use datatype rdf:langString or rdf:dirLangString, it's just for internal use.
That may be true for RDF syntaxes, but it's not true in general. rdf:langString
is returned by the DATATYPE
function. Changing it would break queries.
Can someone help me find there the previous spec uses rdf:LangString
? SPARQL Query Language for RDF doesn't mention it, and SPARQL 1.1 Query methods rdf:langString
. I don't see any reference to rdf:LangString
.
There's also this information box in 17.4.2.7:
The SPARQL Working Group is using rdf:langString based on the latest Working Drafts of the RDF Working Group. This usage should be considered experimental (and non-normative) until/unless rdf:langString becomes part of an updated RDF Recommendation.
See RDF concepts.
See https://github.com/w3c/rdf-star-wg/wiki/Text-Direction-Proposal