如何在Java中构建SPARQL查询?

是否有一个库,可以像CriteriaBuilderJPA中那样以编程方式构建SPARQL查询,或者可以像使用PreparedStatementfor

SQL 一样构建查询?

回答:

您可以使用两种方法在Jena中以编程方式构建查询:语法或代数。耶拿维基上有一个介绍。

使用代数,您将执行以下操作:

Op op;

BasicPattern pat = new BasicPattern(); // Make a pattern

pat.add(pattern); // Add our pattern match

op = new OpBGP(pat); // Make a BGP from this pattern

op = OpFilter.filter(e, op); // Filter that pattern with our expression

op = new OpProject(op, Arrays.asList(Var.alloc("s"))); // Reduce to just ?s

Query q = OpAsQuery.asQuery(op); // Convert to a query

q.setQuerySelectType(); // Make is a select query

(摘自Wiki页面)

不是CriteriaBuilder(也不是预期的),但是那是其中的一些方式。您OpJoin而不是AND,OpUnion而您想要进行OR等。痛点是我的经验中的表达式:您可能想从字符串中解析它们。

以上是 如何在Java中构建SPARQL查询? 的全部内容, 来源链接: utcz.com/qa/401480.html

回到顶部