Стандартный SPARQL 1.0 не позволяет этого. Однако для этого могут быть некоторые специфичные для реализации расширения.
В качестве обходного пути, если данные содержат тройку с 42 в качестве литерала объекта, вы можете сделать это, например. как это:
SELECT ?v ?p ?m { ?v ?p 42, ?m FILTER(?m=42)}
, что эквивалентно
SELECT ?v ?p ?m WHERE { ?v ?p 42 . ?v ?p ?m FILTER(?m=42)}
, так как вы можете написать графовые шаблоны, использующие одну и ту же тему и предикаты с помощью записи списка запятых объектов, а ключевое слово WHERE
необязательно.
Для эффективности вы хотите использовать базовые графовые шаблоны, чтобы уменьшить рабочую тройку до меньшего набора, и только затем применять выражения FILTER для дальнейшего сокращения результатов.