问题标签 [tdb]

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 投票
0 回答
142 浏览

java - 使用 tdbquery 查询 apache jena 时出现非法 utf-8 异常

我使用 Apache Jena 从Billion Triple Challenge 2014数据集中查询 RDF 数据。我使用 tdbloader 将数据集加载到 Jena 中。我特别使用包含 tdbquery 的属性路径的查询。当我开始这样的查询时,我经常得到异常:

我的查询是错误编码还是数据集?

例如使用查询: SELECT DISTINCT ?o { GRAPH ?g {AB* ?o}} LIMIT 3 其中 A 和 B 是有效的 IRI,它返回了有效的结果。但是我想要该查询的所有结果,所以我删除了 LIMIT 3 并得到了异常。

我也直接使用了查询:

并从一个文件

抱歉,如果问题缺少任何重要信息。知道为什么我会遇到异常以及如何处理它吗?

0 投票
1 回答
371 浏览

jena - 使用“tdbloader”批量加载程序加载 .trig 文件并推断 Fuseki?

我目前正在编写一些 Java 代码,使用 TRIG 语法提取一些数据并将它们写为链接数据。我现在使用 Jena 和 Fuseki 创建一个 SPARQL 端点来查询和可视化这些数据。

写入数据后,每个源数据集都会给我一个 .trig 文件,其中包含一个命名图。所以我想在 Fuseki 中加载这些文件。除了它似乎不理解 Trig 语法......

如果我删除命名图,并将文件重命名为 .ttl,则所有内容都会在默认图中完美加载。但如果我尝试导入触发文件:

  • 使用 Fuseki 的 webapp 上传器,它要么崩溃(“无法制作新图表”),要么只添加前缀,就好像无法添加默认图表以外的图表(日志说除了错误代码和描述之外没有任何帮助)。

  • 使用Java代码,过程太慢。我使用了这种技术:“将 .trig 文件加载到 TDB 中? ”但是我的 trig 文件非常大,所以这个解决方案对我来说不是很好。

  • 所以我尝试使用批量加载程序,控制台命令'tdbloader'。这次一切似乎都很好,但是在 webapp 中,仍然没有数据。

你可以在这里看到这个过程很顺利:四边形添加得很好

但结果仍然只保留默认图形及其原始数据: 没有添加任何内容

所以,我不知道该怎么办。Jena 和 Fuseki 背后的人建议不要在 Java 代码中使用批量加载程序(而不是命令行工具),所以这是我想避免的一种解决方案。

我是否错过了一些关于如何将 TRIG 文件加载到 Fuseki 的明显内容?谢谢。

更新: 因为这似乎是我的配置中的一个问题(请参阅这篇文章的评论以获取我的配置文件的链接;我不能发布超过 2 个链接),我尝试为一些命名图添加某种规范喜欢看到添加到 Fuseki 上的数据集。

我添加了代码来链接(使用 ja:namedgraph)我通过 tdbloader 添加的外部图。这似乎有效。伟大的!

现在另一个问题:没有推理,即使我的配置文件指定了推理模型......我设置查询应该与合并为默认图形的命名图形一起应用,但这似乎不符合 OWL 推理规则......如此简单的查询有效,但我有 1/ 来指定我查询的图形(使用“FROM”)和 2/ 我的数据中没有推断。

0 投票
1 回答
88 浏览

java - 使用 Apache Jena tdbloader 时如何修复 Java 错误 Unsupported major.minor version 52.0

在 Ubuntu 14.04 上的 Apache Jena 3.1.0 上,尝试使用 tdbloader 将三元组加载到三元组存储时,出现以下错误:

tdb/tdbloader : 不支持的 major.minor 版本 52.0

任何提示表示赞赏。

0 投票
2 回答
675 浏览

mysql-workbench - Apache Jena TDB 和 MySQL

我正在研究语义网并将 TDB 用于 RDF 存储。我们是否可以将 TDB 与 MySQL Workbench 一起使用并在 Workbench 中对 TDB 数据执行语义查询?我浏览了Apache Jena TDB 教程,但找不到任何关于此的内容。如果可能的话,你能告诉这是否可能吗?非常感谢您的帮助!

0 投票
0 回答
400 浏览

java - 使用 Apache Jena - 包括 Fuseki 中的 TDB 数据集

我对 Apache Jena 很陌生,我遇到了一些问题。我初始化了一个 TDB 数据集

我将通过添加以下代码Statements来使用模型填充此数据集:Model

而已。查找后,my/desired/path我找到了一个目录(大小 = 192MB)。

为什么这个数据集这么大?!

但我最初的问题是:如何通过 Java API 将此数据集集成到我正在运行的 Fuseki-Server 中?我能够将模型与DataAccessorFactory-方法集成在一起createHTTP

你能帮助我吗?任何答案都值得赞赏,因为我对这里的语法非常缺乏理解。

谢谢,FFoDWindow。

0 投票
1 回答
322 浏览

rdf - 在加载到 apache-jena TDB Triplestore 之前清理 YAGO 文件

我想使用 YAGO 3 rdf 三元组(来自http://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/yago/downloads/的 yago3_entire_ttl.7z )到使用 tdbloader 的 apache-jena Triplestore (3.1.0)。

apache-jena 提供的用于验证输入的 riot 工具给出了 2 种类型的错误(多次出现):

  1. 非法 unicode 转义序列值:\\ (0x5C)
  2. IRI 中的非法字符(代码点 0x7C,'|')

我明显的想法是替换 '\\' 和 '|' 接受通过防暴验证的字符序列,但我想知道是否有其他解决方案?

0 投票
1 回答
175 浏览

sparql - 使用 Sparql 查询触发文件

我有一个 .trig 文件,我想在不推送到 Jena Fuseki 的情况下对其进行查询。但是,当我尝试使用以下方法加载模型时:

Model model= FileManager.get().loadModel("filepath/demo.trig");

原始 TRIG 文件中的某些链接会丢失。

这是代码片段:

有没有其他方法可以做到这一点?

0 投票
0 回答
108 浏览

rdf - 使用推理器扩展 tdb 三重存储

我有一个包含 150 万个三元组的 Fuseki 数据库,存储在一个持久的 tdb 存储中。没有推理的简单查询工作得很好,但是当使用 Fuseki 提供的 Owl 前后推理器时,性能会急剧下降,导致响应时间很长和 Java 内存错误。

在一个相关问题(Jena Fuseki 汇编文件 + TDB + OWL 推理器)中,@andys 建议使用推理器扩展三元组,存储扩展的三元组并在没有推理器的情况下进行查询。这个解决方案有一些明显的概念和实际缺点,但我想尝试一下。所以问题是:我该怎么做?

最重要的例子是传递闭包。给定

添加到三重商店:

0 投票
1 回答
381 浏览

sparql - 带有文本索引的命令行 tdbquery

我试图通过命令行使用 Jena 运行文本搜索查询。

查询返回带有消息的空结果:

我的汇编文件是:

我的查询是:

我想知道我是否错过了任何配置,或者这个查询只能在 fuseki 内完成。

0 投票
1 回答
534 浏览

sparql - Jena TDB 是否每次都将所有数据加载到内存中?

我是耶拿的新手。我尝试使用 TDB 处理 Yoga 数据集。数据集大约 200M,每次我运行相同的查询时,都需要大约 5 分钟来加载数据然后给出结果。我想知道我是否误解了 TDB 的任何部分?以下是我的代码。