我会在一开始就道歉,因为我确信我的问题是基本的!我不是一个数据库人,但我有一个想法,只有一个图形数据库会这样做 - 所以我从一开始就学习。我正在使用Neo4j 2.3并在组织结构图中构建我的结构块,然后我将其转换为Excel - 我对Excel感到满意,我是一名工程师!
我在Excel中使用CONCATENATE来构建我的Cypher语句,并且生成的节点工作得很好,到目前为止一直很好。
然后我使用相同的技术为关系构建Cypher语句,当我使用单个Cypher语句对其进行试验时,关系加载完美,但是当我尝试一组语句时,我得到一条消息,说我需要MATCH之间的WITH和MERGE。
我已经阅读了关于WITH的内容,我可以看到我正在混合读写语句而不正确地分离它们,我也可以看到混叠进入它 - 但对于我的生活,我无法理解看看如何处理它!
第一张工作表看起来像这样,这很好地生成了节点:
:
第二张表 - 对于关系,看起来像这样:
任何帮助都会非常感激!
答案 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更容易使用。