最近刚刚接触NEO4J,初始化数据需要导入节点,并且创建节点直接的关系。
首先导入节点使用最简单的表输入和kettel中的Neo4j插件(Neo4j Cypher)实现。
Neo4j Cypher的使用方法,参考这张图。
值得注意的是,变量是可以直接从表输入中获取到的,但是变量只能用在创建节点的属性,不可以用在节点的标签。还有一点是如果数据量很大的话一定要设置Batch size。
下面是创建两个节点的关系,同样现在节点的关系是存在于表中,也需要用到表输入和kettel中的Neo4j插件(Neo4j Cypher)实现。
但是创建关系是需要确定两个节点。如果写出
MATCH a:node1,b:node2
where a.id='1' and b.id='2'
create (a)-[r:rel]->(b)
这样在网页中是可以执行的但是在kettel中使用插件会报错。
所以调整语法,使用WITH传递信息,每次只确定一个节点。
MATCH a.node1 where a.id='1'
WITH a
MATCH b.node2 where b.id='2'
WITH a,b
CREATE (a)-[r:rel]->(b)
这样结果是和第一段一样的,而且在kettel中的Neo4j插件也不报错,可以顺利创建。