Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图分别检索查询中涉及的 SPARQL 表达式的三元组OPTIONAL和NON OPTIONAL部分。
OPTIONAL
NON OPTIONAL
我使用了 API ARQ Jena 访问者,但既不够也ElementPathBlock不够。检索所有三元组,检索三元组组(由 括起来)和可选的.ElementGroupElementOptionalElementPathBlockElementGroup{}ElementOptionalElements
ElementPathBlock
ElementGroup
ElementOptional
{}
Elements
请问你能帮帮我吗?
感谢您的回答。我找到了解决方案。我按照您的建议使用 ElementWalker。但是,ElementWalker 对 SPARQL 查询的遍历和往常一样没有用(或者我找不到好方法),我的意思是从左到右和自上而下的遍历。我必须编写自己的方法来使用 instanceof 和每种类型的 SPARQL 表达式:ElementPathBlock、ElementOptional 等以及递归来遍历 SPARQL。通过这种方式,我能够提取查询的可选部分(和强制部分),以及并集和减号等。