Вероятно, на это легко ответить, но я даже не могу понять, как сформулировать запрос Google, чтобы найти его.
Я пишу строковые запросы SPARQL к набору данных, содержащему пустые узлы. Поэтому, если я делаю запрос типа
CONSTRUCT {?x ?y ?z .}
WHERE {?x ?y ?z .}
Тогда один из моих результатов может быть:
nm:John nm:owns _:Node
Это проблема, если все
_:Node nm:has nm:Hats
тройки также не попадают в результат запроса (потому что некоторые парсеры, которые я использую как rdflib для Python, действительно не любят болтающиеся bnodes).
Есть ли способ написать мой первоначальный запрос CONSTRUCT для рекурсивного добавления всех троек, прикрепленных к любым результатам bnode, таким образом, чтобы на моем новом графике не осталось ни одного bnodes?