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

修改之后:

相关推荐
黑金IT2 天前
将Neo4j用于Python学习的创新方法
python·学习·neo4j
RINO喵2 天前
DAY10 Tensorflow 基本函数使用
人工智能·tensorflow·neo4j
落落落sss8 天前
封装neo4j的持久层和服务层
java·前端·网络·数据库·spring·elasticsearch·neo4j
缘友一世9 天前
Spring Data Neo4j
java·spring·neo4j
亲持红叶9 天前
神经网络常见激活函数 10-GELU函数
人工智能·神经网络·neo4j
我爱夜来香A9 天前
图数据库neo4j进阶(一):csv文件导入节点及关系
数据库·neo4j
缘友一世13 天前
Neo4j 5.26.x容器 APOC插件Generating Graphs无法正常使用解决方法/Neo4j 5.26.x容器安装APOC拓展库
neo4j
Gratitute_林腾13 天前
neo4j-neo4j网页版的基本操作
neo4j
Gratitute_林腾13 天前
neo4j-解决导入数据后出现:Database ‘xxxx‘ is unavailable. Run :sysinfo for more info.
数据库·neo4j
初学者↑13 天前
知识图谱可视化系统python+neo4j+vue3
python·知识图谱·neo4j