‹ 返回笔记 Esc·

Cypher 命令

清除所有节点及管理 DETACH DELETE 会自动删除节点及其所有的关系,无需单独删除关系。 --- Cypher 语法 默认访问路径:http://localhost:7474 记法:开头匹配M…

清除所有节点及管理

1MATCH (n)
2DETACH DELETE n;

DETACH DELETE 会自动删除节点及其所有的关系,无需单独删除关系。

1// 删除所有关系
2MATCH ()-[r]-()
3DELETE r;
4// 删除所有节点
5MATCH (n)
6DELETE n;

Cypher 语法

默认访问路径:http://localhost:7474

记法:开头匹配MATCH,创建CREATE,更新SET,删除(节点&关系)DELETE,移除(属性&标签)REMOVE,过滤WHERE,结尾返回RETURN,限制最后LIMIT

1// 服务状态
2:server status
3// 使用数据库
4:use neo4j
5// 清除屏幕
6:clear
7// 展示数据库
8SHOW DATABASES;
9// 创建数据库(社区版不行)
10CREATE DATABASE my_database;
  1. 创建节点(Create Nodes):
1// 创建一个Person节点标签,name为Alice,age为18的属性,并赋值给n变量
2CREATE (a:Person {name: 'Alice', age: 18})
3
4CREATE (a:Person {name: 'Alice', age: 18}),
5       (b:Person {name: 'Bob', age: 22}),
6       (a)-[:KNOWS]->(b)
  1. 创建关系(Create Relationships):
1// 匹配Persion节点,一个a的name属性为Alice,一个b的name属性为Bob,创建a认识b,并赋值给r
2MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
3CREATE (a)-[r:KNOWS]->(b)
  1. 查询节点(Match Nodes):
1MATCH (n)
2RETURN n LIMIT 25
3
4MATCH (n:Person {name: 'Bob'})
5RETURN n
6
7MATCH (n:Person)
8RETURN n
9
10MATCH (n:Person)
11RETURN n LIMIT 25
  1. 查询关系(Match Relationships):
1MATCH (a)-[r:KNOWS]->(b)
2RETURN r
  1. 条件过滤(Conditional Filtering):
1MATCH (n:Person)
2WHERE n.name = 'Bob'
3RETURN n
  1. 更新节点或关系(Update Nodes or Relationships):
1MATCH (n:Person {name: 'Alice'})
2SET n.name = 'Tom'
3
4// 添加标签
5MATCH (n {name: 'Alice'})
6SET n:Person
  1. 删除节点或关系(Delete Nodes or Relationships):
1MATCH (n:Person {name: 'Alice'})
2DELETE n
3
4MATCH (n:Person)-[r:KNOWS]->()
5DELETE r
6
7MATCH (n:Person)-[r:KNOWS]->()
8DELETE n, r
9// 这里的ID(n)是Neo4j自动生成的内部节点ID
10MATCH (n)
11WHERE ID(n) = 1
12DELETE n
  1. 移除属性&标签
1MATCH (n:Person {name: 'Nancy'})
2REMOVE n.age
3// 会移除 Alice 节点上的 Person 标签,但节点和其他属性仍然存在。
4MATCH (n:Person {name: 'Alice'})
5REMOVE n:Person
  1. 路径查询(Path Queries):
1// 查询两个节点之间 1 到 3 跳的路径
2MATCH p = (a)-[r:KNOWS*1..3]->(b)
3RETURN p
  1. 聚合查询(Aggregation Queries):
1// 聚合节点的属性并计数
2MATCH (n:Person)
3RETURN n.name, COUNT(n)
  1. 使用索引(Using Indexes):
1// 为标签的特定属性创建索引,以加快查询速度
2CREATE INDEX ON :Person(name)