问题标签 [rdf4j]
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 - 当我执行插入查询 RDF4J 时如何获取 UpdateExpr
插入查询的问题,无法解析简单的语句
示例:查询:
结果:
但是,如果我解析更困难的东西,一切都很好。
询问:
结果:
我需要在第一个案例中得到类似的东西。我究竟做错了什么?
用于执行这些查询的 Java 代码:
java - 将 RDF .ttl 文件合并到一个文件数据库中 - 过滤并仅保留所需的数据/三元组
我需要将 1000 多个 .ttl 文件合并到一个文件数据库中。如何将它们与过滤源文件中的数据合并并仅保留目标文件中所需的数据?
谢谢
java - 如何在 Ontotext GraphDB 上使用 RDF4J API 执行 SPIN 规则
我正在使用 RDF4J 在 Ontotext GraphDB 上创建存储库,将 RDF/XML 导入其中并执行 SPIN 规则。
我们可以创建和配置存储库,如下所示 http://graphdb.ontotext.com/documentation/enterprise/using-graphdb-with-the-rdf4j-api.html
SPIN 支持的正确配置以及在 Ontotext GraphDB FREE 或 SE 上执行 SPIN 规则的正确方法是什么?使用 RDF4J 在 GraphDB FREE 或 SE 上创建适当的存储库并在某些示例数据上执行更新示例 SPIN 规则(使用 RDF4J)的示例将有很大帮助。
java - 如何使用代码找出 sparql 查询的类型?
我找不到一种方法来找出它是什么类型的查询。也许有人以前见过它?
graphdb - 如何在 GraphDB 远程存储库上堆叠 SpinSail
我正在使用GraphDB来存储我的三元组,并且需要在 GraphDB 上堆叠SpinSail组件以支持Spin 规则以及GraphDB默认支持的所有其他功能。
到目前为止,我已经设法在支持Spin Rules的远程服务器上创建了一个SailRepository(下面有更多详细信息),但它似乎只支持Spin ,并且不支持GraphDB支持的其他功能(例如,查看 Graph、通过文件添加三元组、搜索ETC。)
创建存储库后,配置文件如下所示:
虽然一个普通的配置文件(例如,如果有人通过工作台创建一个存储库)看起来像下面这样:
以下代码用于创建存储库。
创建此存储库后,我可以通过SPARQL部分将以下规则插入其中(通过使用INSERT DATA):
然后类似地添加以下语句:
之后通过运行以下查询:
我能够确认 Spin 规则已成功执行。
所以我的问题是:
有没有办法创建一个支持 GraphDB 的所有功能的远程存储库,然后在其上堆叠 SpinSail 组件?
sparql - 从 RDF4j Native Store 中删除三元组似乎很慢
我有一个基于 RDF4j 磁盘的 Native Store,大约有 9M 三元组。我正在尝试提高删除大约 4K 三元组的性能,现在大约需要 20 秒。我试过了:
1
2
3
所有三种方法都显示相似的时间。我相信有一种更快的方法可以删除 4K 三元组。如果您对我做错了什么有任何想法,请告诉我。我很乐意提供更多详细信息。
sparql - 属性路径查询中的 SPARQL 性能 Sesame / rdf4j
假设我想找到通过属性路径与对象连接的所有主题。连接可以表示为:
这可以通过非常简单的 SPARQL 查询来实现:
但我也想包括使用 A 和/或 B 的子类的路径:
为了实现这一点,我在路径中添加了中间“sublassOf”属性:
这在我在 Sesame 2.7.2 中的数据集上运行得非常快,但是在迁移到 rdf4j 2.5.2 之后,这个查询就挂了。问题是这是否是以这种方式查询的正确方法,还是有更有效的方法?什么会导致新版本出现如此显着的性能下降?
sparql - 什么时候在 SPARQL 中使用 VALUES 不等于在查询本身中直接用 URI 替换变量?
遵循使用 VALUES 关键字和在查询中直接使用 URI 的性能差异中的问题?,我了解到VALUES
在查询末尾使用子句在性能和查询优化方面并不总是等同于直接使用 URI 而不是查询字符串中的变量。
Andy 的评论说“VALUES
最后就像设置变量一样”,但不一样。优化器会尝试将值推入,但并非在所有情况下都会发生这种情况,因为它会改变语义。
有人可以解释在哪些情况下不会发生这种情况吗?对于哪些查询结构,为什么?我需要了解在哪些情况下不建议使用这种技术(我现在很高兴地使用了多年)。
请注意,我不熟悉 SPARQL 代数,所以请尝试使用简单的单词 :-)
(我知道这不是 Jena 或 RDF4J 特有的,但我用这 2 个标签标记了这个问题,因为我知道根据所使用的框架,对此的优化可能会有所不同)。
scala - RDF4J 没有以预期的方式过滤 TreeModel
我有一个类似的 TTL
当我用 RDF4J 加载模型(作为 TreeModel)然后尝试过滤以提取用 haskey 注释的属性失败(只返回空列表结果)
一些返回数据的样本:
我想要的样本,不返回数据:
我已经使用 RDF.TYPE 或 RDF.Value 尝试了前一个的一些变体。(而不是 RDF.PROPERTY)