Я пытаюсь использовать пути свойств SPARQL 1.1 с VirtuosoOS 6.1, но что-то не так. Я использую следующий график:Запрос пути свойства SPARQL
@prefix foo: <foo/> .
@prefix bar: <bar/> .
@prefix type: <type/> .
bar:a1 type:read foo:b1 .
bar:a1 type:write foo:b2 .
bar:a1 type:write foo:b3 .
bar:a2 type:read foo:b4 .
bar:a2 type:write foo:b5 .
bar:a3 type:write foo:b6 .
foo:b2 type:link foo:b4 .
foo:b4 type:link foo:b6 .
Я хочу, чтобы найти все «связаны» «Foo» S, которые начинаются от х, где х бар: a1 --- (тип записи) -> х. Очевидно, что ответ есть foo: b4 и foo: b6.
Итак, я использую этот запрос,
prefix bar: <bar/>
prefix type: <type/>
select ?y where {
bar:a1 type:write ?x .
?x type:link+ ?y
}
Но Виртуоз говорит
Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at '?y' before '}'
Что случилось с моим запросом? Может быть, Virtuoso не поддерживает эту функцию?
Да, сказано, что 6.1.7 поддерживает sparql 1.1. поэтому я запутался в этом вопросе. Спасибо за ответ. – YAPPO