是否有一个库,能够像以下那样以编程方式构建 SPARQL 查询CriteriaBuilder
在 JPA 中或像使用PreparedStatement
对于 SQL?
类似(对于 SQL):在 Java 中构建 SQL 字符串的最简洁方法 https://stackoverflow.com/questions/370818/cleanest-way-to-build-an-sql-string-in-java
您可以使用两种方法在 Jena 中以编程方式构建查询:语法或代数。有一个介绍 https://jena.apache.org/documentation/query/manipulating_sparql_using_arq.html在耶拿维基。
使用代数你会做类似的事情:
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
(摘自维基页面)
它不是CriteriaBuilder
(也不是有意为之),但确实是这样。你OpJoin
而不是与,OpUnion
当你想要 OR 等时。根据我的经验,痛点是表达式:你可能想从字符串中解析它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)