[redland-dev] Re: Querying for the right language (i18n)
Dave Beckett
dave at dajobe.org
Sat Jan 7 20:19:38 GMT 2006
Marinaio di terra wrote:
> Ok ok, I've found the answer
> http://www.w3.org/TR/rdf-sparql-query/#func-lang ...
>
> it's enough to make a query like this:
> PREFIX toy: <http://www.example.org/toy-schema.rdf#>
> SELECT ?bc
> WHERE {?x toy:color ?bc. FILTER(LANG(?bc) = "it")}
>
> But what if I'd like to retrieve, using the same query, even the non
> language-labelled informations? They say that 'It [LANG(arg)] returns
> "" if arg is a literal with no language tag.' but a query like the
> next one doesn't work:
I also just discovered that in the released rasqal, LANG() was broken.
I returns "-" for a literal with no language tag which was wrong.
>
> PREFIX toy: <http://www.example.org/toy-schema.rdf#>
> SELECT ?bc
> WHERE {?x toy:color ?bc. FILTER( (LANG(?bc) = "it") || LANG(?bc) = "")}
This should work in future.
> Am I making any mistake or is it a Redland gap/bug?
Bug!
Also I've just added the new SPARQL langMatches() function to rasqal CVS
which lets you do wildcards, although the current definition doesn't let
it match literals with no language present:
http://www.w3.org/TR/2005/WD-rdf-sparql-query-20051123/#func-langMatches
If that is a problem for you, maybe you could ask the DAWG about it.
Dave
More information about the redland-dev
mailing list