- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Mon, 24 May 2010 08:27:29 +0100
- To: Lee Feigenbaum <lee@thefigtrees.net>
- CC: Bob DuCharme <bob@snee.com>, public-sparql-dev@w3.org
fn:concat concentates strings but that does not mean it'll produce
strings with a language tag.
fn:concat("abc","@en") -> "abc@en"
is a plain string that just happens to end in the characters "@en".
SPARQL 1.1 does introduce some constructors for RDF terms: one of them
is STRLANG to make a string with language tag:
STRLANG("abc","en") -> "abc"@en
Andy
On 23/05/2010 11:40 PM, Lee Feigenbaum wrote:
> In SPARQL 1.1 you'll be able to do this with a subquery, though it's not
> as succinct:
>
> PREFIX anrecs: <http://www.snee.com/ns/analystRatings#>
> PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
> CONSTRUCT {
> ?company anrecs:company ?coNameWithLanguageTag .
> }
> WHERE {
> {
> SELECT (fn:concat(?coName,"@en") AS ?coNameWithLanguageTag) WHERE {
> ?company anrecs:company ?coName .
> }
> }
>
> (fn:concat is not currently defined by SPARQL -- I expect a
> concatenation function like this will be defined and (as in this
> example) imported from XPath.)
>
> Lee
>
> On 5/23/2010 6:11 PM, Bob DuCharme wrote:
>> Does anyone have any suggestions about how a SPARQL CONSTRUCT query
>> might add language tags without using extensions? The query below works
>> with ARQ, but it uses the Jena extension LET and the concat() function:
>>
>> PREFIX anrecs: <http://www.snee.com/ns/analystRatings#>
>> PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
>> CONSTRUCT {
>> ?company anrecs:company ?coNameWithLanguageTag .
>> }
>> WHERE {
>> ?company anrecs:company ?coName .
>> LET (?coNameWithLanguageTag := fn:concat(?coName,"@en")) .
>> }
>>
>> thanks,
>>
>> Bob
>>
>>
>
Received on Monday, 24 May 2010 07:27:52 UTC