SPARQL ElementPathBlock - PullRequest
       32

SPARQL ElementPathBlock

0 голосов
/ 22 ноября 2018

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

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

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

1 Ответ

0 голосов
/ 05 декабря 2018

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

...