neo4j节点关联路径的表示、节点的增删改查

目录

neo4j文档:https://neo4j.com/docs/

https://neo4j.com/docs/cypher-manual/current/introduction/

核心概念

  • 节点

    neo4j 图数据库中的数据实体。

    节点的表示:(:Person {name: 'Anna'}) ,Person是标签。该节点有属性:name,name属性的值为Anna(String)。

  • 关联(关系)

    在图中,节点通过关联连接。(:Person{name:'Anna'})-[:KNOWS]->(:Person{name:'Mike'})

  • 路径

    由图中连接的节点和关系组成。包含节点和关系。Exploring these paths sits at the very core of Cypher.

节点的增删改查

(1)增

CREATE新增 node

bash 复制代码
CREATE (:Person{name:"Lox",gender:"man",age:18})


使用MERGE新增

bash 复制代码
MERGE (:Person{name:"Lox",gender:"man",age:18})

CREATE 和 MERGE新增节点的区别: CREATE直接新增一个节点;使用MERGE新增节点的时候,如果新增的节点已经存在,不会新增节点。

注意:就算节点没有标签、属性,仍然可以创建这个节点。
create (:Person)

下图的节点是没有详细信息的

(2)查

查询name为Lox的Person节点,返回们的age

有下面两种语句,关键字不区分大小写

MATCH (n:Person{name:"Lox"}) RETURN n.age 返回的是值
MATCH (n:Person) WHERE n.name="Lox" RETURN n.age

n可以理解为一个变量名,用该变量名接收结果。上面两个语句都可以实现

其他:

a.所有的节点都有一个id属性,可以通过id(节点变量名)来访问它。id唯一,系统自动创建的。

如果我们创建的节点有id属性,可以通过 id(n) 来访问系统赋予的 id 属性,通过 n.id 来访问我们设置的id属性。

(3)删

在删除和更改操作之前需要确定删除和更改的对象,通过MATCH来实现条件限制。

bash 复制代码
MATCH (n:Person) WHERE n.name="Lox" AND n.gender="man" delete n

(4)改

如果更改的节点,没有该属性,则设置该属性。有的话更改属性值

bash 复制代码
MATCH (n:Person) WHERE id(n)=100 SET n.age=20

修改之后:

相关推荐
知识靠谱2 天前
【Neo4j 】Neo4j Desktop 启动白屏/无反应解决方案(hosts 修改法)
知识图谱·neo4j
喜欢打篮球的普通人6 天前
MLIR快速入门
neo4j·mlir
ELI_He9996 天前
Neo4j 安装 APOC
neo4j
綮地6 天前
Neo4j 基本处理
neo4j
lzp07916 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
爱折腾的小码农7 天前
neo4j数据库桌面管理工具
数据库·neo4j
Wenhao.11 天前
Docker 安装 neo4j
docker·容器·neo4j
RDCJM12 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
机器不学习我也不学习13 天前
TensorFlow环境安装
neo4j
码农老李15 天前
vxWorks7.0 Simpc运行tensorflow lite example
人工智能·tensorflow·neo4j