Re: shapes-ISSUE-198 (rdf:langString): rdf:langString not included in datatypes [SHACL Spec]

On 11/17/16 10:50 PM, Holger Knublauch wrote:
> Hi Karen,
> - RDF 1.1 *does* mention rdf:langString (see the NOTE in

Yes, and it says there:
"Language-tagged strings have the datatype IRI No datatype is 
formally defined for this IRI because the definition of datatypes does 
not accommodate language tags in the lexical space. The value space 
associated with this datatype IRI is the set of all pairs of strings and 
language tags."

So it treats it as an exception, and says that it is not defined as a 

SKOS also describes language strings as an exception, of sorts:
"Formally, a lexical label is an RDF plain literal [RDF-CONCEPTS]. An 
RDF plain literal is composed of a lexical form, which is a string of 
UNICODE characters, and an optional language tag, which is a string of 
characters conforming to the syntax defined by [BCP47]."

This says to me that RDF plain literals are NOT included in datatypes. 
xsd has xsd:string but that is not the same as the rdf literal.

I can't say that this is crystal clear to me, but language strings will 
be very important so I want it to be clear how they are handled in 
SHACL. We do have a use case (U21) that requires that SHACL can be used 
to validate SKOS vocabularies. I will try to find someone from the SKOS 
community who has more knowledge of this.


> - I see no need to explicitly enumerate all datatypes, because RDF 1.1
> itself allows arbitrary IRIs to be used, including user-defined
> datatypes. I don't see why rdf:langString would be special.
> - I noticed however that with our recent edit to the semantics of
> sh:datatype we have lost an important detail, namely that the definition
> of what is the datatype of a literal must follow the semantics of the
> datatype operator in SPARQL [1]. I have added this clarification:
> If you follow the SPARQL 1.1 link below, you will see that this
> explicitly mentions rdf:langString, so I think we are covered.
> Please let me know if this addresses your issue.
> Thanks,
> Holger
> [1]
> On 18/11/2016 8:34, RDF Data Shapes Working Group Issue Tracker wrote:
>> shapes-ISSUE-198 (rdf:langString): rdf:langString not included in
>> datatypes [SHACL Spec]
>> Raised by: Karen Coyle
>> On product: SHACL Spec
>> >From email of 31 October 2016:[2]
>>>> *Karen*
>>>> This checks the ^^xsd:X literals. sh:nodeKind checks for IRI, bnode,
>>>> or literal. There's one more type in RDF 1.1 [1] which is the
>>>> "language-tagged string". We have sh:uniqueLang and sh:languageIn, but
>>>> is there also a need to check that a literal is language-tagged?
>>> *Holger*
>>> Being language-tagged is already checked via sh:datatype rdf:langString.
>>> So I think that's handled OK.
>> OK, but the terminology entry for "datatype" cites RDF 1.1 concepts, and
>> rdf:langString doesn't appear in that document. It is defined in RDF
>> Schema 1.1, though.[1] Does that mean it should be listed specifically
>> with RDFS as its reference?
>> kc
>> [1]
>> [2]
>> ***Proposal***
>> Modify definition of datatypes in SHACL to include rdf:langString from
>> RDF schema. Also, is rdfs:Literal also needed?

Karen Coyle
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600

Received on Saturday, 19 November 2016 17:16:52 UTC