Я привязываю к построению графа RDF, содержащего фильмы и их метки, на службе запросов Wikidata SPARQL. В принципе, я думал, что этого будет достаточно:
CONSTRUCT{
?film wdt:P31 wd:Q11424 .
?film rdfs:label ?filmLabel.
}
WHERE{
?film wdt:P31 wd:Q11424 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en, [AUTO_LANGUAGE]". }
}
Похоже, что не все фильмы появляются в результатах (127636 результатов), я обращаю внимание на то, что фильмы, которые не появляются, в основном те, без этикеток.
Однако SELECT
запрос той же информации возвращает больше результатов (215734):
SELECT ?film ?filmLabel
WHERE{
?film wdt:P31 wd:Q11424 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en, [AUTO_LANGUAGE]".
}
}
Похоже, что не все привязки переменных, соответствующие предложению WHERE
(предложение WHERE
используется в обоих запросах), используются в CONSTRUCT
в первом запросе, но все они используются в SELECT
.
Это почему? Я что-то где-то упускаю?