问题标签 [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.

0 投票
2 回答
811 浏览

graphdb - 使用 RDF4J 在远程服务器上创建存储库

我一直在尝试使用 RDF4J 在远程 GraphDB 服务器上创建一个新的存储库,但我遇到了问题。

这运行,但似乎不正确

但是,根据我从工作台中的“编辑存储库”获得的信息,结果看起来不正确。除了 id 和 title 之外,所有值都是空的。

这失败了

我试图从我在工作台上创建的现有存储库中复制设置,但失败了:

该尝试的代码受到此处找到的代码的启发。除了配置文件基于现有的 repo,如上所述。我还尝试配置示例中提供的文件,但也失败了:

有人有任何提示吗?

更新 正如 Henriette Harmse 正确指出的那样,我应该提供我的代码,而不是简单地链接到它。这样我可能会发现我根本没有完成完整的副本,而是更改了她在回答中指出的重要的第一部分。完整代码如下:

它在最后一行失败。

已回答@HenrietteHarmse在下面的答案中给出了正确的方法。该错误是由于缺少依赖项引起的。我应该使用 graphdb-free-runtime,而不是直接使用 RDF4J。

0 投票
1 回答
303 浏览

semantic-web - 一个简单的 SPIN 规则在 RDF4J 中不起作用

我刚刚开始使用三重存储 RDF4J(我正在使用它的工作台,版本 2.3.1,在带有 Tomcat 9.0 的 Windows 10 上运行)

我想在 RDF4J 中使用 SPIN 规则。因此,我创建了一个新的存储库(在内存中支持 RDFS+SPIN)。

我想从RDF4J 文档中关于如何添加 SPIN 规则的 SPIN 示例开始。也就是说,我添加了数据(在 Turtle 中,并导入到 RDF4J 中)

和规则:

并按照文档中的说明,我公开了查询(选中了“包含推断语句”复选框),

但是,没有返回任何结果:

没有结果

有人可以告诉我我做错了什么吗,为什么 SPIN 规则在我的 RDF4J 工作台中不起作用,我错过了什么吗?

0 投票
1 回答
3460 浏览

sparql - 清除命名图的最有效方法?

我正在使用 Ontotext GraphDB 的一个实例,并且经常想要清除具有大量三元组的命名图。

目前,我的技术涉及向图服务器发出 SPARQL 命令,该命令搜索并匹配命名图中每个三元组的三元组模式:

当有很多三元组时,这种方法通常需要相当长的时间来清除命名图。

我想知道是否有更有效的方法来做到这一点。即使是特定于三存储的解决方案我也可以接受。

我还应该注意,我正在使用 RDF4J 库与图进行通信。我知道某些解决方案可能适用于 Ontotext Web 界面,但我只对可以以编程方式实现的解决方案感兴趣。

0 投票
1 回答
586 浏览

sparql - SPARQL:将查询结果作为 RDF LIST 插入

  1. 我想从图表中得到绑定到特定变量的结果让我们说?s。

  2. 接下来,我想将这些结果作为 RDF 列表插入到图 B 中。

这是我的 SPARQL 更新:

我的问题是它插入了这些数据:

相反,我希望它插入这个:

我能达到这个结果吗,有可能吗?

基本上我想为 foo:propX 谓词设置对象,这是一个包含绑定到变量 ?s 的元素值的 RDF 列表。

注意:完全相同的查询在 RDF4J 中执行得很好,但奇怪的是导致 Blazegraph 抛出一个

0 投票
1 回答
217 浏览

java - RDF4J 和 GEOSparql 空间函数不起作用(或未实现)

我正在使用 RDF4J,因为我被宣传的 GEOSPARQL 实现(我在其他 RDF 框架中没有找到)抓住了。我遵循了基本指南和教程,但不幸的是,我基本上无法执行任何广告查询。

我阅读并遵循了http://docs.rdf4j.org/programming/#_geosparql上的所有文档,以及http://graphdb.ontotext.com/documentation/standard/geosparql-support.html上的所有示例,以及https://portal.opengeospatial.org/files/?artifact_id=47664。似乎在 SPARQL 查询中起作用的唯一空间函数是geof:distance,所有其他的都不会产生任何结果。

因此,我最终深入研究了包org.eclipse.rdf4j.query.algebra.evaluation.function.geosparql中的代码,以了解有些类和接口我可能应该实现和扩展,例如SpatialAlgebra,、。看起来许多功能没有完全(或部分)在空间逻辑中实现。显然,有一个返回很多. 无论如何,理解什么是让 GEOSPARQL 正常工作的正确程序是一团糟(并且没有记录)。他们只说你可以实现你自己的,但之后如何使用它是一个谜。SpatialSupportSpatialSupportInitializerDefaultSpatialAlgebranotSupportedSpatialSupportInitializer

从文档中,显然还有一种使用其他 SAIL 的方法,但同样,对此一无所知。

任何人都可以为我提供一些指导,或者至少是一段代码,其中显示了如何实际传递给引擎 a SpatialAlgebraor SpatialSupportor SpatialSupportInitializer,这不是默认的吗?或者是否有任何现有的 SAIL 实现了所有这些方法,我该如何使用它?谢谢。

PS:我其实是依赖2.4.0 M2版本的RDF4J,里面好像没有org.eclipse.rdf4j.query.algebra.evaluation.function.geosparql包(我手动导入的)。我也尝试使用 2.3.1 版本,但我遇到了同样的问题。

0 投票
0 回答
238 浏览

sparql - 从 SHACL 生成 SPARQL 查询

我有一种特殊情况,我需要根据传入数据的 SHACL 模式自动生成 SPARQL 查询。我想知道 Jena 或任何其他语义工具/库是否可以帮助做到这一点?

我在 Jena 代码上看到了一些东西,但文档中没有任何官方信息。

在我开始尝试开发自己的解决方案之前,我想知道是否已经有一些现有的库在此之上,或者正在进行中。

0 投票
1 回答
83 浏览

http - 使用 RDF4J 返回错误查询 FactForge Sparql 端点

我正在尝试使用 RDF4J 查询 Factforge Sparql 端点,但收到错误消息。

我将 RDF4J V: 2.3.2 与 Maven 一起使用。

我在 Java 上设置了我的代理设置:

这是我的代码:

我收到以下错误:

线程“主”org.eclipse.rdf4j.query.QueryEvaluationException 中的异常:无法获取服务器协议;此服务器上没有此类资源:http: //factforge.net/sparql?query=SELECT+%3Fs+%3Fp+WHERE+%7B+%3Fs+%3Fp+%3Fo+%7D+

我将不胜感激。谢谢你。

0 投票
1 回答
60 浏览

rdf4j - RDF4J 2.4.0-M3 GeoSPARQL 查询不工作

您好我正在使用最新版本的 RDF4J 2.4.0-M3,我正在尝试执行以下查询:

预期结果如下:

已使用 GraphDB v8.5 和 RDF4J 2.4.0-M3 加载了相同的数据集,已验证存储库。

我收到的java错误如下: java error execution query of RDF4J repo

我为 BOM 和 rdf4j-queryalgebra-geosparql 使用了正确的依赖项。

我的数据集包含 POINT、POLYGON、MULTIPOLYGON。

任何帮助将不胜感激。

0 投票
1 回答
312 浏览

java - Lucene 全文搜索仅适用于与搜索字符串完全匹配的标签

我在使用 Apache Lucene 进行全文搜索时遇到了一些麻烦。当我输入整个标签时,我可以检索名称,例如“cat”,但输入“c”不会产生任何结果。我正在使用 RDF4J。这是我使用的 SPARQL 查询:

LuceneSailConnection 然后将其转换为:

这是用于在知识库中索引概念及其标签的代码:

0 投票
0 回答
90 浏览

lucene - 支持 Lucene 的 RDF4J 中的空间 SPARQL 查询

我正在空间查询上测试 RDF4J。我已经在 Appache Tomcat 9.0.12 上部署了 RDF4J Server 和 Workbench 应用程序。我当前的数据集有 853 个 LineStrings 和 88 个 Polygons 表示为 WKT 字段。但是查询的性能因我正在使用的存储库类型而异。以下是 SPARQL 查询。

查询运行良好,结果返回 567 作为任何多边形内的线串对象的计数。

问题在于返回结果所需的时间。如果存储库是简单内存或本机类型,则此查询执行时间在不同迭代中介于 10 到 40 秒之间。但是,如果存储库是使用 Lucene 创建的,则此查询的执行时间会超过 30 分钟。

从 RD4J 的文档中,我了解到使用 lucene 应该有一个用于 asWKT 字段的空间索引,因此我希望空间连接能够在更短的时间内与 Lucene 一起运行。但相反似乎使用 lucene,相同的查询性能呈指数级下降。

我从两者测试了相同的场景:工作台 aap 以及 Eclipse 项目中的 API。在这两种情况下,当涉及 Lucene 时,查询性能都会下降太多。

谁能告诉我我在这里缺少什么?

此致