Результаты 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 без него вы можете просто получать одни и те же результаты повторно