Question: replacing language codes in a SPARQL BIND statement?

Dear all,

this is a general technical question, albeit one specific to working with  
multilinguality issues in multiple lemon/ontolex dictionaries, hence I'm  
asking here in the first place.

Imagine the following situation: I use the Russian DBnary (provided in a  
slightly extended variant of the old lemon) and an ontolex dictionary for  
Chalkan (with Russian glosses). Both provided by third parties, and I do  
not want to manipulate the data prior to querying. Now, I want to use  
DBnary to retrieve an English gloss for the Chalkan words in a single  
SPARQL query.

If both dictionaries use the same xml:lang representation, this works  
rather well (I skip the query for reasons of brevity): I bind the Russian  
gloss from the Chalkan dictionary to variable ?ru and start searching  
DBnary for a data property that assigns ?ru as literal.

It is more complicated, though, if both files use different language  
codes, e.g., ISO-639-3 (rus) and ISO-639-2 (ru) for Russian, or if a  
language code with region sub-tag is used (e.g., ru-RU). Is there any way  
to use, say, BIND to bind the string value of ?ru to a new variable which  
uses ISO-639-2 codes instead of the original ISO-639-3 (resp.  
ISO-639-2+ISO-3166) code?

At the moment, I see only one way to solve this problem, i.e., using  
FILTER, str() and a string comparison of both variables. This should be  
fairly inefficient, though, as I presume the FILTER is applied only after  
all potential bindings for both variables for Russian terms have been  
determined.

Am I overlooking anything?

Best,
Christian
-- 
Prof. Dr. Christian Chiarcos
Applied Computational Linguistics
Johann Wolfgang Goethe Universität Frankfurt a. M.
60054 Frankfurt am Main, Germany

office: Robert-Mayer-Str. 10, #401b
mail: chiarcos@informatik.uni-frankfurt.de
web: http://acoli.cs.uni-frankfurt.de
tel: +49-(0)69-798-22463
fax: +49-(0)69-798-28931

Received on Monday, 14 March 2016 20:15:18 UTC