gpt4 book ai didi

jena - 如何将大型 Ntriple 数据加载到 jena tdb

转载 作者:行者123 更新时间:2023-12-01 15:15:00 26 4
gpt4 key购买 nike

我在我的项目中使用 Dbpedia,我想创建一个本地 sparql 端点,因为在线端点不可靠。我下载了数据转储(大型 NT 文件)并决定使用 Jena TDB。使用 NetBeans IDE,我使用输入流读取源 NT 文件,然后使用以下代码行将 NT 文件加载到 datasetGraph 中:

 TDBLoader.load(indexingDataset, inputs, true);

我现在让它运行了大约 5 个小时,但它仍然没有完成。在执行此操作时,我笔记本电脑上的所有内容似乎都变慢了,可能是因为它占用了我所有的物理内存空间。有没有更快的方法来做到这一点???

文档说要使用 tdbloader2,但它仅适用于 linux,而我正在使用 windows。如果有人能告诉我如何使用 cygwin 在 Windows 中使用此工具,那将非常有帮助。请考虑到我从未在 Windows 中真正使用过 Cygwin。

最佳答案

TDB 的最新版本有两个用于批量加载的命令行实用程序:tdbloader 和 tdbloader2。第一个是纯 Java,它可以在 Windows 以及任何带有 JVM 的机器上运行。第二种是 Java 和 UNIX shell 脚本的混合(特别是它使用 UNIX 排序)。它在 Linux 上运行,我不确定它是否在 Cygwin 上运行。我建议您在内存尽可能多的 64 位机器上使用 tdbloader。 :-)

最新版本的 TDB 可在此处获得: http://www.apache.org/dist/incubator/jena/jena-tdb-0.9.0-incubating/jena-tdb-0.9.0-incubating-distribution.zip

TDB 的开发版本有一个额外的批量加载命令:tdbloader3。这是 tdbloader2 的纯 Java 版本。我们没有使用 UNIX 排序(仅适用于文本文件),而是对二进制文件使用了纯 Java 外部排序。有关 tdbloader3 的更多详细信息,请搜索 JENA-117 问题。

您可以在 Apache 快照存储库中找到 TDB 的快照,请注意,它尚未发布。

对于更喜欢冒险的人来说,还有 tdbloader4,它不包含在 Apache Jena 中,它被认为是一个实验原型(prototype)。tdbloader4 使用 MapReduce 构建 TDB 索引(即 B+Tree 索引)(这稍微扩展了 MapReduce 模型,但它有效)。您可以在这里找到 tdbloader4:https://github.com/castagna/tdbloader4

总而言之,在 Windows 上,我对您的建议是:下载 TDB 的最新官方版本,并在具有大量 RAM 的 64 位机器上使用 tdbloader。如果您没有,请使用 m1.xlarge EC2 实例(即 15 GB RAM)(或同等设备)。

如需更多帮助,我邀请您加入官方 jena-users@incubator.apache.org 邮件列表,我相信您会在其中获得更好更快的支持。

关于jena - 如何将大型 Ntriple 数据加载到 jena tdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com