通过name属性删除节点(节点为person)
match (n:person{name:‘temp’})
delete n
删除节点同时断开关系连接
match (n:person{name:‘temp’})
detach delete n
创建节点
create (:person{age:4,id:10,name:“west wood”})
创建的同时预览节点
create (n:person{age:4,id:10,name:“west wood”}) return n
创建关系
先匹配需要建立关系的节点 n m 然后建立单向关系 r
match (n:person{name:‘hello’})
match (m:person{name:‘world’})
create (n)-[r:friend]->(m)
从有文件头的csv中读取数据建立节点
有文件头且分隔符为 ‘,’ 文件是直接放置在数据库下import文件夹中的(命令大写可以换成小写)
LOAD CSV WITH HEADERS FROM ‘file:///person.csv’ AS line FIELDTERMINATOR ‘,’
MERGE (:person {name:line.name,age:toInteger(line.age)})
最后一句写成CREATE (:person {name:line.name,age:toInteger(line.age)})可以大幅度提高导入效率
从有文件头的csv中读取数据建立节点关系
LOAD CSV WITH HEADERS FROM ‘file:///relate.csv’ AS line FIELDTERMINATOR ‘,’
MATCH (x:person) WHERE x.name=line.name0
MATCH (y:person) WHERE y.name=line.name1
CREATE (x)-[:relation]->(y)
如果关系数据量非常大,一定要先给结点建索引,这样才能实现高效查询/关系导入
create index on :Label(property)
在之后的版本中neo4j会逐渐使用下面的语句替代原先的索引建立语句:
create index for (n:label) on (n.property)
只有在建立索引之后,match/merge才能以非常快的速度进行查询!
删除索引
drop index on :Label(property)
在之后的版本中neo4j会逐渐使用下面的语句替代原先的索引建立语句:
drop index index_name