Единственный способ узнать наверняка, эквивалентны ли запросы, - это запустить «исследовательские» запросы.
Вот запрос, чтобы узнать все модели:
SELECT distinct ?models FROM <#ri> WHERE
{ ?pids fedora-model:hasModel ?models}
С этим у вас будут все модели. Затем вы сможете узнать, не указаны ли другие модели.
Альтернативой использованию '=' является использование функции sameTerm. Функция sameTerm работает с IRI, тогда как '=' сравнивает и строки, и литералы. Использование sameTerm дает немного лучшее время отклика.
PREFIX fedora-model: <info:fedora/fedora-system:def/model#>
PREFIX fedora-rels-ext: <info:fedora/fedora-system:def/relations-external#>
SELECT ?pids
FROM <#ri>
WHERE {
?pids fedora-model:hasModel ?models .
FILTER (!sameTerm(?models, <info:fedora/islandora:pageCModel> ) &&
!sameTerm(?models, <info:fedora/islandora:pageCModel> ))
}