Это, как представляется, можно считать единым целым с использованиемКак запросить количество различных кортежей с помощью SPARQL 1.1?
(COUNT(DISTINCT ?x) as ?count)
и для числа различных кортежей для всех переменных в запросе с помощью
(COUNT(DISTINCT *) as ?count)
Однако, я не могу понять, как считать специфические (разные) кортежи. Что-то вроде
(COUNT(DISTINCT ?a ?b ?c) as ?count)
, похоже, не работает. Я делаю это неправильно или это действительно не разрешено в SPARQL 1.1? Или он должен работать и просто не поддерживается в Sesame 2.6.0, который я использую для тестирования этого?
Просто чтобы подтвердить, что Sesame 2.6 поддерживает подзапросы. Возможно, обновление 2.6.5 может быть хорошей идеей - в оценке подзапроса с 2.6.0 появилось несколько исправлений. –
Спасибо, это похоже на хороший трюк для этого. Как вы сказали, Сезам разрешает подзапросы, так что это будет выполнимо. Ваш ответ также, по-видимому, подразумевает, что, действительно, определение языка SPARQL не позволяет явно формулировать это внутри выражения count? – Johsm
Вы не можете иметь более одной переменной внутри 'COUNT'. Это 'COUNT (*)' или 'COUNT (? Var)', с опциональным 'DISTINCT'. – cygri