当前位置: 首页 > 知识库问答 >
问题:

使用Jena ARQ向SPARQL查询添加可选子句

松铭
2023-03-14
select ?concept ?p ?o where {?s ?p ?o . } limit 10
SELECT  ?concept ?p ?o ?test WHERE
{ 
 ?s ?p ?o
 OPTIONAL { ?concept <http://www.test.com/test> ?test }
}
LIMIT   10
Query q = QueryFactory.create(query)    
query.addResultVar(var);

共有1个答案

瞿博学
2023-03-14

是的,你可以。请参阅apache jena站点上的主题介绍。

您的起点是获取查询模式:

Element pattern = q.getQueryPattern();

如果我没记错的话,这将是一个elementgroup。在其中添加可选项:

((ElementGroup) pattern).addElement(new ElementOptional(...));
 类似资料:
  • 我有一个jena查询,比如,我想在结尾处添加一个限制为,使用jena ARQ向SPARQL查询添加可选子句的方法不起作用,因为没有类的ElementLimit类型,而且我也不想进行字符串操作,因为可能存在现有的limit子句,在这种情况下,我想更改现有子句的界限。

  • 我正在尝试使用rdf4j文档构造SPARQL查询:https://rdf4j.org/documentation/tutorials/sparqlbuilder/ 我是java的新手(和stackoverflow,如果写得不好,很抱歉),但我想我已经包含了正确的开始步骤。我用以下方式实例化了一个选择查询、前缀和变量: URL已被右前缀替换 我试图编写的查询是:选择?在哪里{:team_1:draf

  • 问题内容: 我有一张表,默认有20列 这20列名为D1 D2 D3 … D20,现在带有选择查询,我想动态添加其他列。例如,对于D21 D22 … D31,我如何编写查询以动态递增添加此列值..最大限制为31,请帮助 缺省表列 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19 D20 现在我想在连续性将列添加到D2

  • 我正在尝试学习使用Jena和RDF三元组的基础知识。同样使用Oracle数据库,所以按照他们的指导,我有一些示例程序在运行,例如Example7-18 SPARQL可选查询。这个例子像写的那样工作得很好。它允许匹配查询,如 使用当前的三元组代码,我只能添加字符串/URI节点,尽管我可以生成一个三元组,例如,但我无法筛选和比较该年龄的<运算符,因此它不是很有用。 我已经四处寻找了一段时间,我怀疑这样

  • 我使用Spring Data JPA进行如下原生查询 现在,我的用例是 如果可用,则只应返回该类别中具有该代码的项目 但如果不可用,则应返回该类别中的所有项目 因此,上述类别的问题是当作为传递时,不会返回任何数据,因为它与任何内容都不匹配。尽管要求很高,但它应该被忽略。 那么,有没有一种方法可以选择性地向Spring数据JPA本机查询添加一个子句呢。我知道使用是可能的,但是我们能为原生查询做类似的

  • 问题内容: 我想通过使用Postgresql的“ NULLS LAST”选项对模型进行排序。怎么做? 我尝试了类似的东西 但是我明白了 “无法将关键字’NULLS LAST’解析为字段” 问题答案: 此功能已添加到Django 1.11中。 https://docs.djangoproject.com/en/dev/releases/1.11/