Я изучил спецификацию SPARQL по этой теме, а также нашел этот ответ довольно интересно. Однако определения достаточно сложны, поэтому я до сих пор не вижу ответа на свой вопрос.
Я не могу найти какой-либо пример запроса с пустым узлом, который возвращает разные результаты, чем тот же запрос с переменными вместо пустых узлов.
Например, есть ли случай, когда следующие запросы возвращают разные результаты:
-
SELECT ?a ?b WHERE { ?a :predicate _:blankNode . _:blankNode :otherPredicate ?b . }
-
SELECT ?a ?b WHERE { ?a :predicate ?variable . ?variable :otherPredicate ?b . }
Возможно, существуют более сложные запросы, которые вызывают различное поведение?
В частности, я задаюсь вопросом, есть ли примеры различных результатов запросов, выполняемых на графике RDF, который не имеет пустых узлов.
Спасибо.
PS. Да, я знаю, что пустые узлы могут использоваться только в одном BasicGraphPattern, а не в переменных. Но это не та разница, о которой я говорю.