Используя службу Wikidata SPARQL, я хотел бы получить список из 50 штатов, включая округ Колумбия из Викиданных. Я придумал сложный запрос:
#-- wdt:P31 = instance of; wd:Q35657 = list of states
SELECT ?state ?stateLabel
WHERE {
{?state wdt:P31 wd:Q35657} UNION
{?state wdt:P3403 wd:Q3551781} . #-- coextensive with District of Columbia
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
Мой запрос работает, но способ извлечения DC в результаты уродливый. (Возможно, что будущие изменения данных в Викиданных нарушат этот запрос.) Я хотел бы сказать что-то вроде
UNION {?state == wd:Q61}
чтобы напрямую включить Вашингтон, округ Колумбия (Q61). Однако, как новичок в SPARQL, я не могу понять синтаксис SPARQL для этого. Я был бы признателен за любую помощь в переписывании этого запроса для прямого извлечения wd:Q61
.
{?state wdt:P31 wd:Q35657} UNION {BIND(wd:Q61 as ?state)}
, чтобы добавить фиксированные ресурсы в набор результатов. - person UninformedUser   schedule 24.01.2017