W3C home > Mailing lists > Public > public-rdf-dawg-comments@w3.org > December 2005

[OK?] Re: SPARQL: language tag issues

From: Eric Prud'hommeaux <eric@w3.org>
Date: Mon, 12 Dec 2005 11:15:35 -0500
To: Bjoern Hoehrmann <derhoermi@gmx.net>
Cc: public-rdf-dawg-comments@w3.org
Message-ID: <20051212161535.GO17752@w3.org>

On Tue, Nov 22, 2005 at 04:19:20PM +0100, Bjoern Hoehrmann wrote:
> * Eric Prud'hommeaux wrote:
> >however, consistency is always nice. I'll propose
> >"In SPARQL, a language-range of "*" matches any language-tag string
> >and matches """ (maybe "the empty string"?)
> >to the DAWG.
> I think I'm happy either way, the current behavior makes some sense if
> you care about only those things that have language information (though
> language tags like "und" might complicate that) while the above would
> make sense if you don't care about the language at all but hardcode the
> langmatches() for simplicity (say, the query is composed through a UI
> where some 'any language' select box entry translates to '*'). It would
> be good to give an example for both use cases in the document.

Good advice: added example to editor's draft:

@prefix dc:       <http://purl.org/dc/elements/1.1/> .

_:a  dc:title         "That Seventies Show"@en .
_:a  dc:title         "Cette Série des Années Soixante-dix"@fr .
_:a  dc:title         "Cette Série des Années Septante"@fr-BE .
_:b  dc:title         "Il Buono, il Bruto, il Cattivo" .

This query uses langMatches and lang (described in section to find the French titles for the show known in English as "That Seventies Show":

PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?title
 WHERE { ?x dc:title  "That Seventies Show"@en ;
            dc:title  ?title .
         FILTER langMatches( lang(?title), "FR" ) }

Query result:
"Cette Série des Années Soixante-dix"@fr
"Cette Série des Années Septante"@fr-BE

The idiom langMatches( lang( ?v ), "*" ) will not match literals without a language tag as lang( ?v ) will return an empty string, so

PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?title
 WHERE { ?x dc:title  ?title .
         FILTER langMatches( lang(?title), * ) }

will report all of the titles with a language tag:
"That Seventies Show"@en
"Cette Série des Années Soixante-dix"@fr
"Cette Série des Années Septante"@fr-BE


office: +81.466.49.1170 W3C, Keio Research Institute at SFC,
                        Shonan Fujisawa Campus, Keio University,
                        5322 Endo, Fujisawa, Kanagawa 252-8520
        +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell:   +81.90.6533.3882

Feel free to forward this message to any list for any purpose other than
email address distribution.

Received on Monday, 12 December 2005 16:15:51 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:01:22 UTC