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