SPARQL: связанная переменная не работает в объединении - PullRequest
0 голосов
/ 31 октября 2018

Мне непонятно, почему эта переменная (?entity) работает в одном UNION, а не в другом (желаемый результат - Q8740 в val столбце для wikidata-id):

SELECT ?propLabel ?val WHERE {
  BIND(wd:Q8740 as ?entity)
  {
    BIND(?entity AS ?valUrl)
    BIND("n/a" AS ?propUrl)
    BIND("name"@en AS ?propLabel)
    ?entity rdfs:label ?val.
    FILTER((LANG(?val)) = "en")

# wikidata-id
  } UNION {
#   BIND(?entity as ?val) **this doesn't work**
    BIND(wd:Q8740 AS ?val)
    BIND("wikidata-id" AS ?propLabel)
  }

# description
  } UNION {
    BIND(?entity AS ?valUrl) - **but here, ?entity works fine!**
    BIND("description"@en AS ?propLabel)
    OPTIONAL { ?entity schema:description ?val. }
    FILTER((LANG(?val)) = "en")
  }
}

Ничего не отображается в столбце val для wikidata-id, если только я не "вручную" указываю рассматриваемый объект, но ТОЛЬКО в этом UNION ...?

...