我正在尝试编写一个导入器脚本,该脚本将采用MySQL结果集并在我的Neo4J数据库中添加节点和关系。为简化起见,我的结果集包含以下字段:
我想创建一个带有Application
标签的节点,其中包含application_id
,amount
,application_date
字段和另一个带有Account
标签且{{1}的节点字段和它们之间的关系。
我的SQL查询来自应用程序表,所以我不怕那里的重复,但是account_id可以出现多次,我显然不想为此创建多个节点。
我正在使用neography(但是如果有更简单的东西愿意切换)。实现这一目标的最佳(最简单)方法是什么? 我的脚本会在数据库启动之前删除数据库,因此没有剩余的数据库可以处理。
我之前是否应该创建索引并使用account_id
?
我想我可以使用“MATCH .. CRAETE UNIQUE ..”在密码中做我想要的,那与neography中的相同之处是什么?我不明白create_unique_node
如何进入等式......
我应该还是不应该在帐户上定义约束?
非常感谢, 这是我第一次使用图表DB,如果我错过了这里的概念,那么道歉......
答案 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