使用Excel为Neo4j数据加载生成大量Cypher语句

时间:2016-07-16 15:45:08

标签: neo4j cypher

我会在一开始就道歉,因为我确信我的问题是基本的!我不是一个数据库人,但我有一个想法,只有一个图形数据库会这样做 - 所以我从一开始就学习。我正在使用Neo4j 2.3并在组织结构图中构建我的结构块,然后我将其转换为Excel - 我对Excel感到满意,我是一名工程师!

我在Excel中使用CONCATENATE来构建我的Cypher语句,并且生成的节点工作得很好,到目前为止一直很好。

然后我使用相同的技术为关系构建Cypher语句,当我使用单个Cypher语句对其进行试验时,关系加载完美,但是当我尝试一组语句时,我得到一条消息,说我需要MATCH之间的WITH和MERGE。

我已经阅读了关于WITH的内容,我可以看到我正在混合读写语句而不正确地分离它们,我也可以看到混叠进入它 - 但对于我的生活,我无法理解看看如何处理它!

第一张工作表看起来像这样,这很好地生成了节点: : Spreadsheet inc node generating Cypher statements

第二张表 - 对于关系,看起来像这样: Spreadsheet inc relationship generating Cypher statements

任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:1)

您的第二张生成的每个语句都可以独立执行,因为您没有引用前一行中的任何别名。

或者您可以在每个语句的末尾添加WITH,清除范围中的别名:

MATCH (a1{id:470}), (b1: {id: 48}) MERGE (a1)-[:HAS_ROD_ASSY]->(b1) WITH NULL AS _
MATCH (a2 {id:463}), (b2: {id: 584}) MERGE (a2)-[:ROD_FEATURES]->(b2) WITH NULL AS _
...

加载CSV

但是,您可能会发现Cypher中的LOAD CSV functionality更容易使用。