Результаты LinkedMDB SPARQL с меньшим количеством результатов, чем ожидалось?

Слайд 14 " Обнаружение выравнивания онтологий с использованием связанных открытых данных" говорит о том, что в наборе данных LinkedMDB имеется 50 603 действующих лиц. Используя следующий запрос, я получаю 2500. Кто здесь не прав? Что-то не хватает в запросе? Почему слайды считают такое большое число? Это запрос SPARQL:

select(count(distinct ?actors) as ?nActors) where {
  ?actors a <http://data.linkedmdb.org/resource/movie/actor> .
}

Результаты

1 ответ

Решение

Многие публичные конечные точки накладывают ограничения на запросы, чтобы гарантировать, что один клиент с плохим поведением не снижает производительность и не оказывает негативного влияния на производительность других пользователей сервиса.

Похоже, что конкретный сервис, о котором вы говорите, имеет предел результата в 2500, поскольку ответы, подобные этому

Некоторые сервисы также могут иметь ограничения по времени выполнения, которые не позволяют выполнять запросы по истечении определенного времени.

Обычно вы можете обойти это ограничение, используя LIMIT а также OFFSET запрашивать страницы результатов. К сожалению, похоже, что это не поможет вашему запросу, потому что вы используете агрегат, и кажется, что служба применяет ограничение до агрегации. Обратите внимание, что если у вас есть другие запросы, где LIMIT а также OFFSET подход будет работать, т.е. те, которые не используют агрегацию, вам также может понадобиться добавить ORDER BY так как в зависимости от сервиса SPARQL без него вы можете просто получать одни и те же результаты повторно

Другие вопросы по тегам