输入网址后,进入默认数据库
操作一,创建一个节点
CREATE (node:Label {property: value})
#解释
CREATE (变量名:类名 {节点属性名: 属性值})
#举例
CREATE (node1:Person {name: 'xiao ming'})
CREATE (node2:Person {name: 'xiao hong'})
操作二,创建连边
match (a:Person),(b:Person)
where a.name='xiao ming' and b.name='xiao hong'
CREATE (a)-[rel:friend]->(b)
#解释
a,b就类似java函数的内参/函数入参。指定类为Person,可以不指定
where 就跟SQL语句一样,指定节点属性为'xiao ming'和'xiao hong'
匹配到a,b两个节点就可创建连边
rel为关系的变量名,friend是关系的类名
另一种方法
match (a:Person),(b:Person)
where ID(a)=0 and ID(b)=1
CREATE (a)-[rel:friend]->(b)
#解释
每个节点都有一个id,用id匹配节点,注意需要大写 ID(xxx)
操作三,查看创建的图
方法一:
方法二:
MATCH (n)-[r]->(m)
RETURN n, r, m
上述查询将返回所有节点之间的关系和它们的相关信息。 请注意,如果你的图非常大,查询整个图可能会占用大量的内存和计算资源。
操作四,修改节点信息
MATCH (node:Label {property: value})
SET node.property = newValue
#解释
先匹配节点,用MATCH
再SET新值
#例子
match (a)
where a.name='xiao ming'
set a.name='xiao liu'
操作五,删除节点
#删除指定ID的节点
MATCH (node)
WHERE ID(node) = {nodeId}
DELETE node
#例子
MATCH (a)
WHERE ID(a) = 0
DELETE a
#请注意,删除节点时,与该节点相关的关系也将被删除。如果要保留与该节点相关的关系,可以使用DETACH DELETE子句:
MATCH (node)
WHERE ID(node) = {nodeId}
DETACH DELETE node
使用DETACH DELETE子句将删除节点及其关系,但不会删除与该节点相关的其他节点。
备注
所有执行过的cypher语句都会被执行。所以同样的语句别执行两次,如创建节点语句两次,会出现长得一样的两个节点,只是节点id不一样。