我在我的项目中使用Dbpedia,我想创建一个本地sparql端点,因为在线端点不可靠.我下载了数据转储(大型NT文件)并决定使用Jena TDB.使用NetBeans IDE使用输入流读取源NT文件,然后使用以下代码行将NT文件加载到datasetGraph中:
TDBLoader.load(indexingDataset, inputs, true);
Run Code Online (Sandbox Code Playgroud)
我现在让它运行了大约5小时,但它仍然没有完成.虽然这样做我的笔记本电脑上的所有东西似乎都放慢了速度,因为它占用了我所有的物理内存空间.有没有更快的方法来做到这一点???
该文档说使用tdbloader2,但它只用于Linux,而我正在使用Windows.如果有人可以通过cygwin告诉我如何在Windows中使用此工具,那将非常有用.请注意我从未在Windows中使用过Cygwin.
最新版本的TDB有两个用于批量加载的命令行实用程序:tdbloader和tdbloader2.第一个是纯Java,它可以在Windows上运行,也可以在任何带有JVM的机器上运行.第二种是Java和UNIX shell脚本的混合(特别是它使用UNIX排序).它运行在Linux上,我不确定它是否在Cygwin上运行.我建议您在64位计算机上使用tdbloader,并尽可能多地使用RAM.:-)
最新版本的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版本.我们使用带有二进制文件的纯Java外部排序,而不是使用UNIX排序(仅适用于文本文件).有关tdbloader3的更多详细信息,请搜索JENA-117问题.
您可以在Apache快照存储库中找到一个SNAPSHOT的TDB,但是您已收到警告,尚未发布.
对于更具冒险精神的人来说,还有一个不包含在Apache Jena中的tdbloader4,它被认为是一个实验原型.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邮件列表,我相信您可以获得更好,更快的支持.
| 归档时间: |
|
| 查看次数: |
2468 次 |
| 最近记录: |