1

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

  • application_id
  • 数量
  • 申请日期
  • 帐户ID

我想创建一个带有Application, , 字段标签application_idamount节点application_date和另一个Account带有字段标签的节点account_id以及它们之间的关系。

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

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

我应该在之前创建索引并使用create_unique_node吗?
我想我可以使用“MATCH .. CRAETE UNIQUE..”在 cypher 中做我想做的事,在 neography 中相当于什么?我不明白如何index_name进入等式......
我应该还是不应该定义对帐户的约束?

非常感谢,这是我第一次使用图形数据库,如果我在这里错过了一个概念,我深表歉意..

4

1 回答 1

1

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

CREATE CONSTRAINT ON (account:ACCOUNT) ASSERT account.account_id 是唯一的

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

于 2014-02-18T10:03:07.490 回答