如何在Java中构建SPARQL查询?
是否有一个库,可以像CriteriaBuilder
JPA中那样以编程方式构建SPARQL查询,或者可以像使用PreparedStatement
for
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