创建节点:
create (n:User{name:'yaoxiayu'})
User:标签
name:属性
创建多个节点:
unwind[{name:'a'},{name:'b'}] AS p CREATE (n:Test) SET n = p
name:属性
Test:标签
创建关系:
match (n{name:'a'}),(m{name:'b'}) create (n)-[r:KNOWS]->(m)
创建关系并且增加属性:
match (n{name:'yaoxiayu'}),(m{name:'b'}) create (n)-[r:父{guanxi:'父子'}]->(m)
创建节点以及关系:
match (m{user_id:1}) create (n:Transaction{transaction_num:'0000000001'})-[r:belong]->(m)
更新数据:
在查询语句中使用关键字 SET,可以修改节点和关系的属性值,或者为节点和关系增加属性字段。
下列查询语句使用 SET 关键字修改节点 n 的属性 created,将其值设置为当前时间。其中使用了时间戳函数 timestamp()来返回当前时间。
MERGE(n:Test {name:"a"})SET n.created = timestamp()
下列查询语句使用预定的参数为节点 n 增加两个属性。
UNWIND[{age:30}, {addr:"sz"}] AS prop MERGE(n:Test {name:"b"})SET n += prop
成功执行上述查询语句后,原节点增加了两个属性,分别为 addr 和 age。
删除数据:
match (n) delete n
移除属性:
match (n{name:'b'}) remove n.age
创建索引:
CREATE INDEX ON: Person(name)
将标签Person的节点使用关键字INDEX ON为节点的属性属性name创建一个普通索引
MATCH(n:Person)WHERE n.name IN ["a","b"]RETURN n as Person
使用该查询语句会自动调用索引
MATCH(n:Person)USING INDEX n:Person(name)WHERE n.name = 'a'RETURN n as Person
除了在查询中自动使用索引,也可以像上述查询语句那样,通过关键字 USING 显式指定使用的索引。
删除索引
使用 DROP 关键字删除一个已经存在的索引。
DROP INDEX ON :Person(name)
创建约束:
在标签为 Person 的节点中创建一个约束,并将节点的属性 name 指定为唯一属性。在创建约束时,将会同时创建索引,这条查询语句等同于创建了一个具有唯一属性约束的索引。
CREATE CONSTRAINT ON(p:Person)ASSERT p.name IS UNIQUE
删除约束:
通过关键字 DORP 删除上面创建的唯一约束。
DROP CONSTRAINT ON(p:Person)ASSERT p.name IS UNIQUE