从 apache JENA ARQ 查询获取 WHERE

getting the WHERE from an apache JENA ARQ Query

是否可以从查询中获取 WHERE 子句 org.apache.jena.query.Query?到处都找不到信息,到处都找不到文档。

假设我从字符串创建查询

String queryString = "    
SELECT ?name ?mbox
    WHERE
      { ?x foaf:name ?name .
        ?x foaf:mbox ?mbox }";

Query query = QueryFactory.create() ;

例如,我可以使用 query.getResultVars()) 获取查询将请求的变量,但我无法通过任何方式获取 WHERE clause/expression 或您想要调用的任何方式。只是有兴趣获得这部分:

  { ?x foaf:name ?name .
    ?x foaf:mbox ?mbox }

这里是查询 API: https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/query/Query.html

Query::getQueryPattern() returns Element 类型的对象,基本上是 WHERE 子句的一部分。