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

修改之后:

相关推荐
MasonYyp13 小时前
简单使用FalkorDB和Neo4j图数据库
数据库·neo4j
黑客思维者2 天前
XGW-9000系列高端新能源电站边缘网关技术可行性分析报告V2
neo4j
serve the people2 天前
tensorflow 零基础吃透:RaggedTensor 的索引与切片(规则 + 示例 + 限制)
人工智能·tensorflow·neo4j
serve the people2 天前
tensorflow 零基础吃透:RaggedTensor 与其他张量类型的转换
人工智能·tensorflow·neo4j
serve the people2 天前
tensorflow 零基础吃透:tf.function 与 RaggedTensor 的结合使用
人工智能·tensorflow·neo4j
serve the people2 天前
tensorflow 零基础吃透:SavedModel 与 RaggedTensor 的结合使用
人工智能·tensorflow·neo4j
serve the people3 天前
tensorflow 零基础吃透:RaggedTensor 的重载运算符
人工智能·tensorflow·neo4j
大、男人3 天前
python之知识图谱(Neo4j)
人工智能·知识图谱·neo4j
serve the people4 天前
tensorflow 零基础吃透:tf.data 中 RaggedTensor 的核心用法(数据集流水线)
人工智能·tensorflow·neo4j
serve the people4 天前
tensorflow 零基础吃透:不规则张量(RaggedTensor)vs 稀疏张量(SparseTensor)
人工智能·tensorflow·neo4j