Wikidata SPARQL Свойства Пути: звездочка и плюс - wdt: P40 + против wdt: P40 / wdt: P40 * - PullRequest
2 голосов
/ 10 июня 2019

Кажется, что wdt:P40+ не совсем то же самое, что wdt:P40/wdt:P40*.

Пример:

SELECT ?ancetre ?ancetreLabel
WHERE
{
  ?ancetre wdt:P40+ wd:Q346
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

Возвращает 852 результата. (10 июня 2019 года)

SELECT ?ancetre ?ancetreLabel
WHERE
{
  ?ancetre wdt:P40/wdt:P40* wd:Q346
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

Последний возвращает 1046 результатов. (10 июня 2019 года, та же дата, что и выше)

Я бы ожидал одинаковых результатов для обоих запросов

Может кто-нибудь объяснить это?

1 Ответ

2 голосов
/ 10 июня 2019

Я думаю, что нашел объяснение: wdt:P40/wdt:P40* может получить больший результат из-за дублирования. Поэтому, если мы заменим SELECT на SELECT DISTINCT, разница между запросами больше не будет.

...