我是图数据库和neo4j的初学者。我试图解决如何从neo4j 1.9到neo4j 2.1.6进行迁移(以及这意味着什么)。 我在这里阅读了我必须遵循的程序(http://neo4j.com/docs/stable/deployment-upgrading.html#explicit-upgrade)。 我知道在升级之后,我将拥有我之前与neo4j2.1.6的功能一起的所有节点和关系。那是对的吗? 我想知道的是,是否有一种方法可以在迁移过程中自动声明标签,唯一约束和新的索引功能。 或者这是我必须做的事情"手动"后?
提前谢谢你。 迪米瑞斯
答案 0 :(得分:1)
升级后,您将拥有neo4j 2.1。*的功能,您可以使用它们,但它不会自动为您完成。
标签,唯一约束和某些类型的索引是您将要看到的非常有用的新内容。标签是一种对节点类型进行分类的方法。假设你有Person节点和Job节点,那么你可能想要应用这些标签。但是,没有一个数据库本身足够聪明,可以自动解决这个问题。相反,您可能会做的是浏览您的数据并应用标签。
例如,迁移后,您可以这样做:
MATCH (n)
WHERE has(n.first_name)
SET n:Person
RETURN n;
这将适用于" Person"标记到具有first_name
属性的任何节点。
其他所有内容(索引,唯一约束)必须再次由您手动完成。将其视为图形结构设计的一部分。 Neo4J会让你实现你喜欢的任何一种图形,但它不会为你做到。 :)