neo4j 基本查询

下面的示例使用公开的Neo4j 电影数据库

创建数据模型

在创建属性图表数据库之前,开发适当的数据模型非常重要。这将为数据提供结构,并允许图表用户高效地检索他们正在寻找的信息。

Neo4j 数据模型采用以下数据模型:

它包括两种类型的节点标签:

  • Person节点具有以下属性:nameborn

  • Movie节点具有以下属性:titlereleasedtagline

数据模型还包含PersonMovie节点之间的五种不同关系类型:ACTED_INDIRECTEDPRODUCEDWROTEREVIEWED。其中两种关系类型具有属性:

  • 关系ACTED_IN类型,具有roles属性。

  • 关系REVIEWED类型,它有一个summary属性和一个rating属性。

要了解有关图形数据库数据建模的更多信息,请参加 GraphAcademy 提供的免费图形数据建模基础课程。

创建属性图形数据库

创建 Neo4j 电影数据库的完整 Cypher 查询可在此处找到。要创建完整图表,请针对空 Neo4j 数据库运行完整查询。

查找节点

MATCH子句用于查找图中的特定模式,例如特定节点。该RETURN子句指定要返回找到的图形模式中的哪些内容。

例如,此查询将查找具有Person标签和名称的节点Keanu Reeves,并返回找到的节点的name和属性:born

询问
MATCH (keanu:Person {name:'Keanu Reeves'})
RETURN keanu.name AS name, keanu.born AS born
表 1. 结果
姓名 出生

行:1

"Keanu Reeves"

1964

还可以查询图中的多个节点。此查询会匹配所有带标签的节点Person,并将结果限制为仅包含五行。

询问
MATCH (people:Person)
RETURN people
LIMIT 5
表 2. 结果
人们

行:5

{"born":1964,"name":"Keanu Reeves"}

{"born":1967,"name":"Carrie-Anne Moss"}

{"born":1961,"name":"Laurence Fishburne"}

{"born":1960,"name":"Hugo Weaving"}

{"born":1967,"name":"Lilly Wachowski"}

关于条款组成的说明

与 SQL 类似,Cypher 查询使用各

### Neo4j基本操作教程 Neo4j 是一种流行的图数据库,其核心语言 Cypher 提供了一种强大的方式来查询和管理数据。以下是关于 Neo4j 的一些基础操作方法: #### 查询所有节点 要从数据库中检索所有节点,可以使用 `MATCH` 子句配合通配符 `(n)` 来实现。需要注意的是,在 Cypher 中,仅通过 `MATCH` 并不会返回任何结果;必须加上 `RETURN` 才能获取所需的数据[^2]。 ```cypher MATCH (n) RETURN n; ``` 此命令会找到并显示存储在数据库中的每一个节点及其属性。 #### 创建新节点 创建单个节点可以通过 `CREATE` 关键字完成。下面的例子展示了如何建立一个新的无标签也无属性的简单节点: ```cypher CREATE (node); ``` 如果希望给这个新建的节点附加特定的信息,则可以在括号内部定义它的标签以及对应的属性集合: ```cypher CREATE (:Person {name:"Alice", age:30}); ``` 上述语句将会生成一个带有 "Person" 标签的新实体,并赋予它两个初始字段——名字 ("Alice") 和年龄(30)[^1]. #### 删除节点或关系 当不再需要某些记录时,可利用 `DELETE` 动作移除它们。例如删除之前提到过的 Alice 这个人物对象: ```cypher MATCH (p:Person { name:'Alice' }) DELETE p; ``` 这里先定位到目标个体再执行清除动作。同样也可以单独消除关联而不影响两端端点本身的存在状态: ```cypher MATCH ()-[r]->() DELETE r; ``` 这将清空整个图表里所有的边连接情况但保留顶点不变. #### 更新已有条目 修改现有的资源通常涉及两步过程:首先是寻找待变更项的位置,其次是应用新的特性覆盖旧有设定或者追加额外参数进去。比如更改某位用户的电子邮箱地址如下所示: ```cypher MATCH (u:User {username : 'john_doe'}) SET u.email='newemail@example.com'; ``` 这段脚本首先锁定了用户名叫 john_doe 的 User 类型实例,接着对其 email 属性进行了重新赋值处理. --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北京橙溪 www.enwing.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值