Thanks, Andy - for the fix and for the workaround (which works fine)!

Cheers, Joachim

> -----Ursprüngliche Nachricht-----
> Von: Andy Seaborne [mailto:[email protected]] 
> Gesendet: Dienstag, 28. Juni 2011 19:19
> An: [email protected]
> Betreff: Re: UNION and multiple assignments to a variable 
> ("already in-scope")
> 
> It's a bug, I'm afraid.
> 
> A workaround is to use a different variable in each UNION 
> branch and combine them in the overall SELECT:
> 
> 
> 
> PREFIX skos:  <http://www.w3.org/2004/02/skos/core#>
> SELECT DISTINCT
>     ?stw ?stw_pref (COALESCE(?rel1, ?rel2) AS ?rel) 
> ?thesoz_pref ?thesoz
> WHERE {
>    {
>      SELECT DISTINCT ?stw ('=' as ?rel2) ?thesoz
>      WHERE {
>        ?stw skos:exactMatch ?thesoz .
>        ?stw skos:inScheme <http://zbw.eu/stw> .
>        ?thesoz skos:inScheme <http://lod.gesis.org/thesoz/> .
>      }
>    } UNION {
>      SELECT DISTINCT ?stw ('<' as ?rel1) ?thesoz
>      WHERE  {
>        ?stw skos:broadMatch ?thesoz .
>        ?stw skos:inScheme <http://zbw.eu/stw> .
>        ?thesoz skos:inScheme <http://lod.gesis.org/thesoz/> .
>      }
>    } .
>    ?stw skos:prefLabel ?stw_pref .
>    ?thesoz skos:prefLabel ?thesoz_pref
> }
> 
> 
>       Andy
> 
> On 28/06/11 16:09, Neubert Joachim wrote:
> > Out of two SKOS thesauri, I want to get an overview list of 
> all mappings
> > (with different relations, like skos:exactMatch, 
> skos:broadMatch, etc.)
> >
> > I tried:
> >
> > PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
> > SELECT DISTINCT ?stw ?stw_pref ?rel ?thesoz_pref ?thesoz
> > WHERE {
> >    {
> >      SELECT DISTINCT ?stw ('=' as ?rel) ?thesoz
> >      WHERE {
> >        ?stw skos:exactMatch ?thesoz .
> >        ?stw skos:inScheme<http://zbw.eu/stw>  .
> >        ?thesoz skos:inScheme<http://lod.gesis.org/thesoz/>  .
> >      }
> >    } UNION {
> >      SELECT DISTINCT ?stw ('<' as ?rel) ?thesoz
> >      WHERE  {
> >        ?stw skos:broadMatch ?thesoz .
> >        ?stw skos:inScheme<http://zbw.eu/stw>  .
> >        ?thesoz skos:inScheme<http://lod.gesis.org/thesoz/>  .
> >      }
> >    } .
> >    ?stw skos:prefLabel ?stw_pref .
> >    ?thesoz skos:prefLabel ?thesoz_pref
> > }
> >
> > and got the error:
> >
> > Variable used when already in-scope: ?rel in ("<" AS ?rel)
> >
> > How could I work arround this? I suspect many of you had 
> come across a
> > similar problems, and hopefully solved them somehow ...
> >
> > Cheers, Joachim
> >
> >
> >
> >
> 

Reply via email to