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

修改之后:

相关推荐
老马啸西风6 小时前
Neo4j GDS-09-neo4j GDS 库中路径搜索算法实现
网络·数据库·算法·云原生·中间件·neo4j·图数据库
麦麦大数据10 小时前
vue+flask图书知识图谱推荐系统
vue.js·flask·知识图谱·neo4j·推荐算法·图书
老马啸西风2 天前
Neo4j GDS-08-neo4j GDS 库中路径搜索算法介绍
网络·数据库·算法·云原生·中间件·neo4j·
老马啸西风2 天前
Neo4j GDS-13-neo4j GDS 库中节点插入算法实现
数据库·算法·云原生·中间件·embedding·neo4j
小伍_Five4 天前
使用Java操作Neo4j数据库
大数据·数据库·nosql数据库·neo4j
wxl78122710 天前
基于neo4j存储知识树-mac
macos·neo4j
麦麦大数据12 天前
neo4j+django+deepseek知识图谱学习系统对接前后端分离前端vue
vue.js·django·知识图谱·neo4j·deepseek·在线学习系统
失眠的树亚15 天前
neo4j中导入csv格式的三元组数据
neo4j
阿梦Anmory17 天前
【neo4j数据导出并在其他电脑导入】
数据库·neo4j