You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Bardo Nelgen <ma...@bnnperformances.de> on 2020/01/26 11:17:22 UTC
Launguage type in SPARQL
Hi everyone,
just ran into a more general question.
When using the following construct in SPARQL:
langMatches(lang(?I18nString),?language)
Why MUST ?language be a simple string and MUST NOT be of type
xsd:language according to
https://www.w3.org/TR/rdf11-concepts/#h3_xsd-datatypes (which may by
somebe perceivedas the natural type for a language definition) ?
As always, thanks for any hint.
Best,
Bardo
Re: Launguage type in SPARQL
Posted by Andy Seaborne <an...@apache.org>.
The language tag itself is part of RDF syntax and not an RDF literal.
"foo"@en is an rdf:langString with language component the characters
'e'-'n' defined by BCP47.
https://www.w3.org/TR/rdf11-concepts/#section-Graph-Literal
Or
Because that is how it works in XML. xml:lang="fr"
Because that is what BCP47 defines - strings.
Andy
c.f. xsd:anyURI.
On 26/01/2020 11:17, Bardo Nelgen wrote:
>
> Hi everyone,
>
> just ran into a more general question.
>
> When using the following construct in SPARQL:
>
> langMatches(lang(?I18nString),?language)
>
> Why MUST ?language be a simple string and MUST NOT be of type
> xsd:language according to
> https://www.w3.org/TR/rdf11-concepts/#h3_xsd-datatypes (which may by
> somebe perceivedas the natural type for a language definition) ?
>
> As always, thanks for any hint.
>
> Best,
> Bardo
>
>