good morning,

> On 2016-04-14, at 11:11, Mikael Pesonen <mikael.peso...@lingsoft.fi> wrote:
> 
> 
> Hi,
> 
> im matching strings in different graphs and this should do the trick:

a more complete statement of your intent would help, but going by the query 
text, it appears that your goal is to retrieve all skos:prefLabels values from 
the <http://www.lingsoft.fi/somegraph> graph and, for those which also have a 
similar label in any graph, to augment the solution(s) with the respective 
graph name and label value.

if that is the intent, the first query cannot succeed: as another response 
noted, ?prefLabel is unbound in the optional clause.

the second query demonstrates that the semantics of an optional operator 
accomplishes some of your intent, as it correlates the values where the 
correspondence is based on term identity.

if you intend to relax that constraint, you will need to either produce an 
appropriate binding for the corresponding variable within the optional clause, 
as in

   BIND (lcase(str(?label2)) as ?prefLabel)

and allow the optional to produce your intended result, or perform the filter 
in a scope which comprises the initial ?prefLabel binding, but with logic which 
emulates that of the optional operator, for example

  FILTER ( ( !bound(?label2) ) || lcase(str(?prefLabel)) = lcase(str(?label2)) )

whereby, as another response noted, the optional with just the single pattern, 
will act as a cross-join.
this argues for the former approach.

best regards, from berlin,

> 
> SELECT ?prefLabel ?s2
> WHERE {
> GRAPH <http://www.lingsoft.fi/somegraph>
> {
>   ?s skos:prefLabel ?prefLabel .
> }
> OPTIONAL {
>   GRAPH ?graph
>   {
>     ?s2 skos:prefLabel ?label2
> 
>     FILTER ( lcase(str(?prefLabel)) = lcase(str(?label2)) )
>   }
> }
> }
> 
> but im not getting any results. There are plenty of matches in store and this 
> returns them (case sensitive match)
> 
> SELECT ?prefLabel ?s2
> WHERE {
> GRAPH <http://www.lingsoft.fi/somegraph>
> {
>   ?s skos:prefLabel ?prefLabel .
> }
> OPTIONAL {
>   GRAPH ?graph
>   {
>     ?s2 skos:prefLabel ?prefLabel
>   }
> }
> }
> 
> 
> Im I using FILTER wrong way or could it be a bug in search engine?
> 
> Br,
> Mikael
> 
> -- 
> www.lingsoft.fi
> 
> Speech Applications - Language Management - Translation - Reader's and 
> Writer's Tools - Text Tools - E-books and M-books
> 
> Mikael Pesonen
> System Engineer
> 
> e-mail: mikael.peso...@lingsoft.fi
> Tel. +358 2 279 3300
> 
> Time zone: GMT+2
> 
> Helsinki Office
> Eteläranta 10
> FI-00130 Helsinki
> FINLAND
> 
> Turku Office
> Linnankatu 10 A
> FI-20100 Turku
> FINLAND
> 

---
james anderson | ja...@dydra.com | http://dydra.com





Reply via email to