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 > > > > > > > > >
