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

修改之后:

相关推荐
Kookoos1 天前
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
数据库·c#·.net·neo4j·abp vnext
西柚小萌新2 天前
【大模型:知识图谱】--5.neo4j数据库管理(cypher语法2)
数据库·知识图谱·neo4j
局外人LZ3 天前
Docker轻松搭建Neo4j+APOC环境
docker·容器·neo4j
QQ676580083 天前
基于 TensorFlow 2 的 WGAN来生成表格数据、数值数据和序列数据。 WGAN生成对抗网络。代码仅供参考
生成对抗网络·tensorflow·neo4j·表格数据·wgan·对抗网络·序列数据
Java知识库3 天前
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
spring boot·知识图谱·neo4j
西柚小萌新4 天前
【大模型:知识图谱】--3.py2neo连接图数据库neo4j
数据库·知识图谱·neo4j
weixin_307779134 天前
Neo4j 数据可视化与洞察获取:原理、技术与实践指南
信息可视化·架构·数据分析·neo4j·etl
weixin_307779135 天前
Neo4j 备份与恢复:原理、技术与最佳实践
运维·数据库·neo4j
weixin_307779135 天前
Neo4j 数据建模:原理、技术与实践指南
neo4j
g5zhu58966 天前
neo4j 5.19.0安装、apoc csv导入导出 及相关问题处理
neo4j