将Freebase转储(部分)加载到ArangoDb中

 小花诸葛_630 发布于 2022-12-09 19:27

我的网络搜索没有发现任何有用的东西,也许还没有人做过这件事.虽然我已经完成了一些处理freebase转储并使用rdf和arangodb,但我的经验仍然非常有限,我想听听有关该主题的意见/建议/经验.

我想知道的一些事情:

有没有人曾经将一个freebase转储导入ArangoDb?

有没有工具来帮助实现这一目标?

手动执行此操作的策略是什么?

或许这只是一个坏主意,不应该这样做?

我期待的一些挑战是:

rdf数据中没有订购保证(afaik).假设我对某个人感兴趣并且/ people/person实例引用的一些信息出现在实际人员面前的转储中 - 然后我必须再次通过转储来查找此参考信息

在存储数据方面,可以为每个类型创建一个集合,并在它们之间添加引用,或者保存一个人感兴趣的顶层类型的所有属性(根据模式,a / people/person includes/common/topic - 来自OO - 相应的freebase会进行多重继承,这可能是选择的语言(java)不支持)

人们可能不得不至少两次通过转储,一次收集和存储实体及其属性,另一次在它们之间添加图形边缘)

更新

目前,我多次通过垃圾场.步骤大致如下:

将28GB gzip(250GB未压缩)分成5M行的较小gzip文件,这导致大约550个文件

转到每个文件,查找声明某种类型的三元组并将主题(freebase命名空间+ mid)存储在每个我感兴趣的类型的文件中

(a)再次通过每个文件,因为我现在知道中,我可以组装完整的对象.它们尽可能地保存在内存中,但是持久化到磁盘,每个对象一个json文件(在整个转储处理之前我们无法确定对象是否完整)

转到磁盘上的所有文件并将它们加载到arangodb中

它可以工作,但它很慢并且让我感到效率很低,无法多次通过转储.在(a)我们发现更多与我感兴趣的核心实体相关的实体时,将会有更多的传递通过转储.

并且向freebase api提出数百万个请求也不会好得多.

这就是为什么我对这个主题感兴趣的一些背景知识,如果有一个预先制定的解决方案,那就太好了.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有