相关疑难解决方法(0)

如何获取Jena查询的所有主题?

假设我有一些jena查询对象:

String query = "SELECT * WHERE{ ?s <some_uri> ?o ...etc. }";
Query q = QueryFactory.create(query, Syntax.syntaxARQ);
Run Code Online (Sandbox Code Playgroud)

在查询中获取三元组的所有主题的最佳方法是什么?优选地,不必手动进行任何字符串解析/操作.

例如,给定一个查询

SELECT * WHERE {
    ?s ?p ?o;
       ?p2 ?o2.
    ?s2 ?p3 ?o3.
    ?s3 ?p4 ?o4.
    <http://example.com> ?p5 ?o5.
}
Run Code Online (Sandbox Code Playgroud)

我希望能够返回一些看起来像的列表

[?s, ?s2, ?s3, <http://example.com>]
Run Code Online (Sandbox Code Playgroud)

换句话说,我想要查询中所有主题的列表.即使只有那些变量或文字/ uris的主题也会有用,但我想查找查询中所有主题的列表.

我知道有方法可以返回结果变量(Query.getResultVars)和其他一些信息(参见http://jena.apache.org/documentation/javadoc/arq/com/hp/hpl/jena/query/Query.html),但是我似乎无法找到任何具体的查询主题(所有结果变量的列表也将返回谓词和对象).

任何帮助赞赏.

java semantic-web sparql jena

8
推荐指数
1
解决办法
1849
查看次数

标签 统计

java ×1

jena ×1

semantic-web ×1

sparql ×1