问题标签 [jena-querybuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
780 浏览

java - 如何使用 jena querybuilder 构建 SPARQL 列表输入?

我有一堆使用 Apache Jena querybuilder API(SelectBuilder类)的代码。我正在尝试将这样的术语添加到我现有的 SPARQL 查询中:

我已验证此查询在 TopBraid 中有效,但我不知道如何(?a, ?b, ?c)在 Jena API 中表示。我需要做什么才能将此 Vars 列表转换为有效的 Jena 资源节点?

我愿意探索替代的 SPARQL 构建框架,如果它们对类型文字、IRI 和过滤器以及这个列表结构有强大的支持。我浏览了其他几个用于构建 SPARQL 查询的框架,但它们似乎都没有列表结构。

编辑

我的查询构建代码(在 Groovy 中)看起来像这样:

我花了几个小时尝试使用 RDFList 类,但我还没有弄清楚。我会继续努力,看看我能不能摸到它。与此同时,任何帮助将不胜感激。:)

编辑

以下是使用 RDFList 的不成功尝试:

0 投票
1 回答
167 浏览

sparql - 从 apache JENA ARQ 查询中获取 WHERE

是否可以从查询 org.apache.jena.query.Query 获取 WHERE 子句?在任何地方都没有找到任何信息,也没有在任何地方找到文档。

想象一下我从一个字符串创建一个查询

例如,我可以使用 query.getResultVars()) 获取查询将请求的变量,但我无法获得任何方式来获取 WHERE 子句/表达式或者您想调用的任何方式。只是对获得这部分感兴趣:

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

0 投票
0 回答
84 浏览

java - 是否可以为 Jena 验证 SparQL?

有什么方法可以验证/检查 SparQL 查询?

我要求一种类似于oneClass.validateSparqlQuery(expectedSparQL).

并且在创建 SparQL 时不强制异常“QueryException”,这样:

javadoc:https ://jena.apache.org/documentation/javadoc/arq/index.html

0 投票
0 回答
66 浏览

sparql - Jena querybuilder clearWhereValues 不起作用

我想清除 selectBuilder 对象中的 where 子句值,但我无法让它工作。

输出

请让我知道我做错了什么。

0 投票
1 回答
40 浏览

java - 如何使用 Apache Jena 的查询构建器向 SelectBuilder 添加 SERVICE 子句?

我正在使用 Jena-extras 中的 Jena 查询生成器,我想知道是否有办法将 SERVICE 子句添加到 SelectBuilder 对象。

我的代码现在看起来像这样:

输出这个:

我还尝试在调用 builder.build() 后将 SERVICE 子句添加到 Query 对象,但似乎只能通过 ARQ API 使用body.addElement(new ElementService("http://any.domain/sparql", elementBlock)). 问题是您无法从 Query 对象或 SelectBuilder 对象中获取 elementBlock。

有没有办法使用查询构建器添加 SERVICE 子句,或者是否有已知的解决方法而不求助于冗长的 ARQ API,或者我应该尝试自己扩展 SelectBuilder API?