如何使用“MATCH .. CREATE UNIQUE ..”与neography

时间:2014-02-17 10:14:35

标签: neo4j neography

我正在尝试编写一个导入器脚本,该脚本将采用MySQL结果集并在我的Neo4J数据库中添加节点和关系。为简化起见,我的结果集包含以下字段:

  • APPLICATION_ID
  • 金额
  • application_date
  • ACCOUNT_ID

我想创建一个带有Application标签的节点,其中包含application_idamountapplication_date字段和另一个带有Account标签且{{1}的节点字段和它们之间的关系。

我的SQL查询来自应用程序表,所以我不怕那里的重复,但是account_id可以出现多次,我显然不想为此创建多个节点。

我正在使用neography(但是如果有更简单的东西愿意切换)。实现这一目标的最佳(最简单)方法是什么? 我的脚本会在数据库启动之前删除数据库,因此没有剩余的数据库可以处理。

我之前是否应该创建索引并使用account_id
我想我可以使用“MATCH .. CRAETE UNIQUE ..”在密码中做我想要的,那与neography中的相同之处是什么?我不明白create_unique_node如何进入等式...... 我应该还是不应该在帐户上定义约束?

非常感谢, 这是我第一次使用图表DB,如果我错过了这里的概念,那么道歉......

1 个答案:

答案 0 :(得分:1)

根据您的描述,看起来您应该使用Neo4j 2.0附带的约束:http://docs.neo4j.org/chunked/milestone/query-constraints.html#constraints-create-uniqueness-constraint

CREATE CONSTRAINT ON(帐号:ACCOUNT)ASSERT account.account_id IS UNIQUE

然后你可以使用MATCH .. CREATE UNIQUE子句为你的所有插入。您可以使用neography提交密码查询,请参阅此处的示例:https://github.com/maxdemarzi/neography/wiki/Scripts-and-queries