1. Cypher 查询语言
Cypher 是 Neo4j 中用于查询和操作数据的图形查询语言。它类似于 SQL,但是专门用于图数据库的查询和操作。
1.1 基本查询语法
MATCH (node:Label {property: value}) WHERE node.property = value RETURN node
-
MATCH
: 用于匹配节点和关系模式。 -
WHERE
: 用于过滤匹配的模式。 -
RETURN
: 用于返回匹配的结果。
1.2 创建节点和关系
创建节点:
CREATE (node1:Label {property: value})
创建关系:
MATCH (node1:Label1), (node2:Label2) WHERE node1.property = value1 AND node2.property = value2 CREATE (node1)-[:RELATIONSHIP {property: value}]->(node2)
1.3 更新节点和关系
更新节点属性:
MATCH (node:Label {property: value}) SET node.property = newValue
1.4 删除节点和关系
删除节点:
MATCH (node:Label {property: value}) DETACH DELETE node
2. 数据操作语句
2.1 创建索引
CREATE INDEX ON :Label(property)
2.2 删除索引
DROP INDEX ON :Label(property)
2.3 创建约束
CREATE CONSTRAINT ON (node:Label) ASSERT node.property IS UNIQUE
2.4 删除约束
DROP CONSTRAINT ON (node:Label) ASSERT node.property IS UNIQUE
3. 数据导入导出语句
3.1 导出数据
MATCH (node:Label) RETURN node.property1, node.property2
3.2 导入数据
LOAD CSV WITH HEADERS FROM "file:///data.csv" AS row CREATE (:Label {property1: row.property1, property2: row.property2})
4. 事务控制语句
4.1 开始事务
BEGIN
4.2 提交事务
COMMIT
4.3 回滚事务
ROLLBACK
5. 权限管理语句
5.1 创建用户
CREATE USER username SET PASSWORD 'password'
5.2 删除用户
DROP USER username
5.3 授权
GRANT permission ON OBJECT TO username
5.4 撤销授权
REVOKE permission ON OBJECT FROM username
以上是 Neo4j 中常用的 Cypher 查询语言和数据操作语句,以及事务控制和权限管理语句。