SPARQL ElementPathBlock

Я пытаюсь получить тройки выражения SPARQL, участвующего в OPTIONAL а также NON OPTIONAL часть запроса, отдельно.

Я использовал API ARQ Jena посетителя, но ни ElementPathBlock ни ElementGroup ни ElementOptional достаточно. ElementPathBlock извлекает все тройки и ElementGroup извлекает группы троек (заключенные в {}), а также ElementOptional необязательный Elements,

Не могли бы вы мне помочь, пожалуйста?

0 ответов

Спасибо за Ваш ответ. Я нашел решение. Я использовал ElementWalker, как вы предложили. Однако ElementWalker бесполезен (или я не смог найти хороший способ) для обхода запроса SPARQL, как обычно, я имею в виду обход слева направо и сверху вниз. Мне пришлось написать свой собственный метод обхода SPARQL с использованием instanceof и каждого типа выражения SPARQL: ElementPathBlock, ElementOptional и т. Д., А также рекурсии. Таким образом, я смог извлечь необязательную часть (и обязательную часть) запроса, а также объединение и минус и т. Д.

Другие вопросы по тегам