问题标签 [tdbloader]

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 投票
1 回答
1135 浏览

windows - Cygwin 上的 tdbloader:java.lang.NoClassDefFoundError

我正在尝试在 Cygwin(安装了最新 Java 的 Windows 7)上使用 tbdloader。这是 tbdloader 文档:http: //jenawiki.hpl.hp.com/wiki/TDB/Commands

这是我用来在我的机器上调用 tdbloader 的包装脚本:

这是我得到的错误:

tdbloader 在 Mac 和 Linux 上运行良好。

有任何想法吗?

穆龙

0 投票
1 回答
1061 浏览

jena - Jena tdbloader 汇编器

如何通过 tdbloader.bat (windows, Jena 2.7.3) 加载带有推理的 TDB 存储?

我使用了这个汇编文件:

我的命令:

我有一个例外:

怎么了?(删除“DB”后的分号 - 无济于事)

0 投票
1 回答
577 浏览

java - TDBLoader API 通用输入文件

我正在尝试通过 TDBLoader 将批量文件保存到我的 TDB 到 Jena API 中,但是当代码保存到我的 TDB 时,它给了我这个错误

我尝试发送 .ttl 文件,但 RIOT 转换出现问题。

这是我的代码

有人帮我吗?

0 投票
1 回答
156 浏览

assembly - 在 OSX YOSEMITE BLOCKS 上使用 TDBLOADER 加载 RDF 而没有任何消息

首先祝大家2015新年快乐!

我是耶拿的新手,我使用 RDF 处理工具做的第一件事是将一些数据加载到一些单独的图表中,以测试以后对它们的 SPARQL 访问。

我想使用以下命令行将RDF 数据集 - 在名为“pp_project_semweb.rdf”的文件中加载到名为http://semweb.ch/SEMWEB的图形中:

以及以下汇编程序文件:

装载机说的是以下内容:

然后 tdbloader BLOCKS ...它不消耗 CPU,您可以永远等待...

有人知道这里有什么问题吗?

谁能告诉我我可以调试或查看一些日志文件吗?

非常感谢您提前!!!

亲切的问候

0 投票
0 回答
633 浏览

jena - 在 JENA 中使用 TDBLoader

我正在尝试使用我发现的这个示例来学习如何使用 TDBLoader:

https://github.com/ijdickinson/jena-tdb-ont-example

但是,当尝试运行 init-demo 脚本时,我一直遇到问题 https://github.com/ijdickinson/jena-tdb-ont-example/blob/master/src/main/script/init-demo

我正在使用 cygwin 尝试运行脚本,但我不断收到请确保 $Path 包含 $TDBROOT/bin

我设置 TDBROOT= C:\Development\apache-jena-2.12.1 我的路径有“%TDBROOT\bin”

我对使用命令行和 shell 脚本真的很陌生,所以我一点也不熟悉如何调试它。

我在 apache-jena-2.12.1\bin 中有我的 tdbloader,有没有办法检查这是否有效?或者如果我的路径设置正确?

我在命令行中尝试了“tdbloader”和“-v tdbloader”,但我得到“tdbloader”无法识别......

如果我的路径设置正确,那不应该发生,对吧?

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 投票
1 回答
338 浏览

rdf - jena 的 fuseki 不能与 tdb2.tdbloader 压缩吗?

我要求每天增量更新 tdb 文件。所以我使用 tdb2.tdbloader 来生成 N-Triples 文件。但是当工作完成时,包含 tdb 数据的数据目录有一个名为“data-0001”左右的新目录。当我重新启动 fuseki 服务器时,它给了我这个异常:

我的问题是:如何将 fuseki 与 tdb2.tdbloader 一起使用,更重要的是,如果我每天更新,data 文件夹中的目录是否每天增加?无论如何我可以合并它们吗?

0 投票
0 回答
586 浏览

jena - Jena tdbloader 性能和限制

当尝试按照https://muncca.com/2019/02/14/wikidata-import-in-apache-jena/中描述的过程加载当前的 Wikidata 转储时,如获取您自己的 WikiData 副本中所述,我正在运行Apache Jenas tdbloader 命令的一些性能问题和限制。

它似乎有两个版本:

  1. tdbloader2
  2. tdb2.tdbloader

TDB1 tdbloader 的名称 tdbloader2 令人困惑,因此首次尝试使用它。

使用 TDB1/tdbloader2 的经验是,前几十亿个三元组的加载非常好。

最初的速度是 150 k 三倍/秒。然后它以大约 90 亿三倍的速度下降到大约 100k 三倍/秒。在 100 亿三倍时,速度在大约 100 亿三倍时下降到 15000 三倍/秒,当向 110 亿三倍移动时,速度保持在 5000 三倍/秒左右。

我曾预计到那时导入已经完成,所以目前我什至怀疑进度是计算三元组,而是海龟输入的行数,这可能不一样,因为输入有大约 150 亿行,但预计只有大约 110 亿个三元组.

由于此时导入已经运行了 3.5 天,我不得不决定是中止它并寻找更好的导入选项还是等待一段时间。

所以我把这个问题放在stackoverflow上。根据 AndyS 的提示,有两个版本的 tdbloader,我在大约 4.5 天后中止了 TDB1 导入,据报道在“数据”阶段导入了超过 110 亿个三元组。那时性能下降到 2.3 k 三倍/秒。

使用 tdb2.tdbloader 修改脚本后,导入已再次运行多次尝试,如 wiki 中所述。两次导入 tdb2.tdbloader 尝试已经因 Java VM 崩溃而失败,所以我再次将硬件从我的 MacPro 更改为旧的 linux 机器(不幸的是速度较慢),然后又回来了。

在较旧的 Oracle JVM 首次尝试使用 tdb2.tdbloader 崩溃后,我将 Java 虚拟机更改为最近的 OpenJDK。此 Java VM 以相同的症状崩溃 # 内部错误 (safepoint.cpp:310),请参阅例如https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8169477

对于 tdb2.tdbloader 的尝试,我假设需要导入 157 亿个三元组(turtle 文件的每一行一个)。对于一个真实的数据集,三元组的数量约为 130 亿个三元组。

如果您查看 wiki 文章中显示的性能结果,您会发现当存在对数性能下降时。对于旋转磁盘,退化非常严重,以至于导入需要很长时间,等待结果是不值得的(我们在这里谈论了几个月......)

在下图中,两个轴都有一个对数刻度。x 轴显示导入的三元组总数的日志(导入中止时最多 30 亿个)y 轴显示批次/平均大小的日志 - 在给定时间范围内导入的三元组数量。导入的三元组越多,速度就越慢,从每秒 300.000 个三元组降低到每秒只有 300 个三元组。 转盘进口速度降级 在第 4 次尝试中,11 天后的性能约为 1k 三倍/秒,并且导入了约 20% 的数据。这意味着估计在 230 天后完成导入的时间 - 考虑到速度的下降可能要长得多(一年多)。

目标数据库大小为 320 GB,因此希望结果适合为目标分配的 4 TerraByte 磁盘空间,而不是限制因素。

由于 Jonas Sourlier 在使用 SSD 磁盘大约 7 天后报告了他的成功,我终于要求我的项目负责人为 4 TB SSD 磁盘提供资金并将其借给我进行实验。使用该磁盘,现在对于真实数据集的第五次尝试是成功的,大约 4 1/2 天后导入了大约 52 亿个三元组。坏消息是,这正是我不想要的——我曾希望通过软件和配置设置来解决问题,而不是通过更快、更昂贵的硬件来解决问题。不过这里是这个导入的图表: SSD 降级

我打算尽快导入全部 120 亿个三元组,因此知道如何通过软件/配置设置或其他非硬件方法提高速度仍然是件好事。

我还没有调整 Java VM Args 或拆分文件,如2017 年底 Apache 用户邮件列表讨论所述

目前的导入速度显然是不能接受的。另一方面,由于预算有限,不能选择大量投资额外的硬件。

上面提到的 wiki 文章中的链接没有回答一些问题:

什么被证明可以在不投资额外硬件的情况下加快导入速度?

例如拆分文件、更改虚拟机参数、运行多个进程……

是什么解释了在更高数量的三元组下速度下降的原因以及如何避免这种情况?

您知道耶拿有哪些成功的数十亿三倍进口,这些情况是什么?

0 投票
1 回答
192 浏览

rdf - 尝试使用 tdb2.tdbloader 加载 Wikidata truthy-latest.nt 导致代码:58/PROHIBITED_COMPONENT_PRESENT in USER

使用 Apache Jena Fuseki 我正在尝试从Wikidata加载 latest-truthy.nt 数据集,但在尝试导入文件时出现以下错误。受到来自Bitplan的以下成功的启发,他们确实取得了成功。

错误日志:

导入脚本:

文件结构:

这是Fuseki的问题吗?我无法自己打开 .nt 文件来解决问题。有没有我可以使用的标志,所以它跳过了使用 tdbloader 对给定导入的验证?

我也在 Wikidata 的 IRC 频道中询问这个问题,看看他们是否可以帮助我。

更新:我得到了 IRC 某人的回答,他们告诉我数据集中存在很多错误 Wikidata中的错误所以我知道需要找到一种方法来跳过与错误相关的行并继续加载。但是Fuseki TDB2 命令没有显示任何帮助。

还尝试 --help 输出以下内容,从而表明不存在跳过?