问题标签 [arq]
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.
java - Jena ARQ中子选择的绑定值问题
我想运行以下简单的测试查询:
我正在查询的图表来自教程https://jena.apache.org/tutorials/sparql_data.html:
现在的问题是用 Jena 运行它:
在控制台中给出这个结果:
将临时值设为空。
另一方面,在 Ontotext GraphDb 环境中的同一图表上运行相同的查询,我得到正确的结果(另存为 CSV):
ARQ 引擎中可能有错误还是我遗漏了什么?提前致谢。
我正在使用 jena-arq 3.12.0 Java(TM) SE 运行时环境(构建 1.8.0_181-b13)Eclipse 版本版本:2019-06 (4.12.0)
jena - SPARQL 查询中的最佳过滤器放置
JenaARQ 执行的优化之一是:“将过滤器放置在定义其依赖变量的位置附近”。
这会导致以下查询计划:
转化为以下内容:
事实证明,虽然原始查询计划以毫秒为单位运行,但“优化”查询计划需要大约 7 个小时才能完成。
JenaARQ 是否考虑任何用于优化查询计划中的过滤器位置的统计信息?
我正在使用耶拿 3.12.0。
optimization - 我可以强制 Jena (ARQ) 执行我的查询计划吗?
我正在与 Jena (ARQ) 合作,并生成了一个新的查询计划。我不确定如何准确地要求 Jena 执行我的查询计划,而不是生成自己的优化/重新排序的查询计划。
任何形式的帮助表示赞赏。谢谢。
sparql - Apache Jena 聚合多个表达式
对于以下 data.ttl 文件:
查询:
给出输出:
有没有办法使用 JENA ARQ 处理器为也有 EMAIL 的个人 A、B 和 C 计算 SAVINGS_1、SAVINGS_2 和 SAVINGS_3 的最大值?
预期的查询输出将是
MAX() 函数只接受一个参数,它可以计算?SAVINGS_1_VALUE 的最大值或?SAVINGS_2_VALUE 的最大值等等。有没有办法评估最大 ?SAVINGS_1_VALUE、?SAVINGS_2_VALUE、?SAVINGS_3_VALUE 预测并将结果添加为另一列?如果现有的耶拿处理器无法实现这一点,那么有什么可能的扩展点来实现这一点?自定义聚合器似乎也对单个变量表达式进行评估。
注意:有多个变量表达式我想对其进行评估!所以绑定(如果......不是我实现这一目标的选择!
udp - 使用 UDP 和服装 ARQ 应用程序的 Ad-hoc 网络实时数据传输中的无序数据包
我在这里面临一个误解。
我有一个基于 UDP 的应用程序,用于自动重复请求机制。这个想法是通过重新传输和重新排序接收到的数据包的机制来传输实时数据(实现了管理接收和恢复数据包的临时缓冲区)。
为了测试这个应用程序的效率,我实现了一个计算单向数据包延迟的函数(研究重传机制对数据包延迟和平均延迟的影响)。
现在的问题是在仅连接节点(发射器和接收器)的 ad-hoc 网络中的实验期间,我注意到使用 JUST UDP 传输的数据包的平均延迟(当接收器和发射器之间的距离 = 60 m 使用 WiFi g ) 也增加了!
我想知道,在距离函数中仅使用 UDP 时延迟是否必须增加?如果是这样,那是什么原因?
以另一种方式,如果我使用 UDP 在 10 米处发送 100 个数据包,我会得到延迟 = 5 毫秒,而在 60 米处我会得到 17 毫秒?这有意义吗?
sparql - 元素转换 Apache Jena
我有一个这样的查询:
我想使用可选元素转换每个三元组,例如:
基本上我正在尝试访问所有 ElementPathBlock,找到一个三元组并将其转换为:
{?r ?r1 ?r2 .}
转变成{?r ?r1 ?r2 .} OPTIONAL {?r ?r1 ?r5 .}
但是我不能在访问元素时修改它。有没有办法在耶拿做到这一点?
jena - Jena ARQ 添加更新请求元素
我正在耶拿进行扩展,我必须添加类似于UpdateModify的新更新元素,但逻辑不同,我不想扩展 UpdateModify。UpdateVisitor接口没有新元素的访问方法。在这种情况下,什么是合适的处理方式?创建一个扩展UpdateVisitor的接口,添加我的新元素的访问者方法,在这种情况下,我必须重写所有其他实现这个新扩展接口的更新实例。这是实现这一点的好方法吗?
sparql - 有没有办法使用 ARQ Jena 代数重写 INSERT、MODIFY 或 DELETE sparql?
我发现一些 SPARQL 查询操作仅适用于 SELECT、ASK、CONSTRUCT https://jena.apache.org/documentation/query/manipulating_sparql_using_arq.html和https://jena.apache.org/documentation/query/algebra.html但可以找不到任何有关 UPDATE 操作的信息
我可以看看任何例子吗?
谢谢。
jena - Jena Fuseki:在使用属性函数的 SPARQL 查询期间将临时三元组添加到执行上下文
我一直在关注关于 Property Functions 的 ARQ 指南。图操作部分以“因此可以创建新的三元组或图作为属性函数的一部分”结束,我一直希望将其用作将三元组添加到当前查询执行上下文(而不是持久化)的方法,可用于剩余的查询。
我一直在尝试指南该部分的代码片段:
但我遇到了问题,似乎是读锁。
有没有办法在 SPARQL 查询期间向执行上下文添加三元组?
sparql - Jena ARQ 解析器异常:已在范围内使用的变量:?.0
我正在尝试使用 Jena 4.3.0 ARQ Parser 解析此查询:
然后得到了这个异常:
线程“主”org.apache.jena.query.QueryParseException 中的异常:已经在范围内使用的变量:?.0 in (( http://www.bif.com/get_keyword ?name ?top_comp 0) AS ?. 0) 在 org.apache.jena.sparql.lang.SyntaxVarScope.checkExpr(SyntaxVarScope.java:166) 在 org.apache.jena.sparql.lang.SyntaxVarScope.lambda$checkExprListAssignment$0(SyntaxVarScope.java:126) 在 java.base/ java.util.LinkedHashMap.forEach(LinkedHashMap.java:723) at org.apache.jena.sparql.core.VarExprList.forEachExpr(VarExprList.java:70) at org.apache.jena.sparql.lang.SyntaxVarScope.checkExprListAssignment( SyntaxVarScope.java:121) 在 org.apache.jena.sparql.lang.SyntaxVarScope.checkQueryScope(SyntaxVarScope.java:84) 在 org.apache.jena.sparql.lang.SyntaxVarScope.check(SyntaxVarScope.java:56) 在 org .apache.jena.sparql.lang.SPARQLParser.validateParsedQuery(SPARQLParser.java:51) 在 org.apache.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:34) 在 org.apache.jena.query.QueryFactory .parse(QueryFactory.java:144) 在 org.apache.jena.query.QueryFactory。create(QueryFactory.java:83) at org.apache.jena.query.QueryFactory.create(QueryFactory.java:56) at org.apache.jena.query.QueryFactory.create(QueryFactory.java:44) at arq.examples .algebra.ParseSPARQLQuery.main(ParseSPARQLQuery.java:79)