从Neo4j迁移到Grakn

时间:2019-02-19 09:02:57

标签: neo4j cypher grakn graql

我正在将neo4j数据库迁移到Grakn中以获取基因组和生物学数据,为此我拥有CSV格式的文件,但是我需要一个ETL工具以最简单的方式解决此问题。

我正在关注此模板Python迁移器: https://blog.grakn.ai/loading-data-and-querying-knowledge-from-a-grakn-knowledge-graph-using-the-python-client-b764a476cda8

我是这样纠正的吗?

  • 节点是否映射到实体?
  • neo4j中的边是否映射到Grakn中的关系?
  • 标签是否映射到属性?

2 个答案:

答案 0 :(得分:4)

虽然可以使用属性图模型到实体关系模型的直接映射(由Grakn使用),但是很可能会转移属性图模型的局限性和缺点。这就是为什么Grakn不提供或鼓励使用完全通用的迁移工具的原因。每个Grakn知识图都应由适合预期领域的思考模型(即模式)提供动力。

要概述如何在Grakn中轻松地(重新)建模数据集,关键是要创建一个架构,该架构与我们在事物及其交互方面对现实世界中数据的感知非常相似。这很容易映射到Grakn使用的Entity-Relationship-Attribute模型。通常,在确定最终模式之前要进行多次迭代(尽管以后可以随时对其进行扩展)。

那么我们可以:

  • 提出直观的问题(以Graql查询的形式)-使用与我们的心理模型紧密对应的已定义实体/关系/属性
  • 通过添加适用于我们领域的逻辑演绎规则,构建一个能够以与我们相同的方式推理数据的智能数据库

我鼓励您查看此blog post,了解使用图形数据库的挑战,对于任何特定领域的建模问题,请直接咨询Grakn community forum

祝您好运,欢迎来到Grakn!

答案 1 :(得分:0)

如果将属性图直接映射到GRAKN,最终将得到关系,该关系最有可能被称为仅连接两个对象的动词(其中一个看上去是一个主语,另一个看上去是一个宾语)。 GRAKN可以解决此问题,但是如前所述,可能会使利用GRAKN中的所有优点变得更加困难。特别是,将现有图形结构转换为超边可能需要进行一些重大的重新设计。但是好消息是ETL会很简单。

更好的解决方案是首先在GRAKN中定义理想的架构(利用hyperedges),然后构造ETL来填充架构。在这种情况下,ETL可能很简单,也可能很复杂。这取决于原始数据的复杂程度以及新架构的复杂程度。