【数据库学习】图数据库:neo4j

本文深入介绍了Neo4j图形数据库的基础概念,包括节点、关系、属性和标签的定义及语法。同时,讲解了Cypher查询语言的基本用法,如CREATE、MATCH、RETURN等命令,并展示了如何通过Cypher进行数据检索、删除和更新操作。此外,还提到了常用的Cypher函数和清理数据的方法。通过对这些内容的理解,读者能够更好地掌握Neo4j数据库的管理和查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,标签属性图模型

在这里插入图片描述

1)Nodes – 节点

在其他图模型中称作“点”、“顶点”、“对象”。
语法:

节点必须包含在括号 () 内;

节点可以有属性:(n:Label {prop: 'value'})

2)Relationships – 关系

在其他图模型中也称作“边”、“弧”、“线”。关系拥有类型,关系在创建时必须指定方向 ,关系在查询时可以不指定方向表示双向关系。
语法:
关系两端各有一个短横线“-”,用方括包含关系类型,关系类型名前面必须有冒号 (😃 。在其中一端用 >或 < 代表关系的方向,也可以没有方向:

 - -<- -,- ->
  -[:DIRECTED]- ->

关系也可以有属性:-[:KNOWS {since: 2010}]

Properties – 属性

可以定义在节点和关系上。
语法:

包含在{}中。

3)Labels – 标签

代表节点的类别,节点可以没有标签或者有多个标签。
标签对节点进行分类,似关系数据库中的表 标签对节点进行分类,类似关系数据库中的表。
语法:

标签名前必须有冒号;

4)模式

模式是由关系连接起来的节点构成的表达式。

() -[] -()    #没有方向的关系
() -[] ->()   #有方向的关系
()< -[] -()   #双向的关系
(n:Label {prop:'value'})-[:TYPE]- >(m:Label)

2,Cypher

Neo4j图形数据库的查询语言是Cypher(CQL), CQL看似简单,但由于图的结构可能在实际应用中比较复杂。

  • CQL遵循SQL语法。
  • 命名规范:关键字-全部大写;标签名-首字母大写;关系名-全部大写;属性名、变量名-全部小写

3,CQL-常用命令

CQL命令用法
CREATE创建创建节点,关系和属性
MATCH匹配检索有关节点,关系和属性数据
RETURN返回返回查询结果
WHERE哪里提供条件过滤检索数据
DELETE删除删除节点和关系
REMOVE移除删除节点和关系的属性
ORDER BY以…排序排序检索数据
SET组添加或更新标签
limit 10只显示10条数据
MATCH (m:Movie)  #Movie为标签,m为节点变量
RETURN m, m.title #属性以{variable}.{property_key}的方式访问 .title返回属性
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)  #r是变量,保存关系;ACTED_IN为关系类型
RETURN p, r, m 
MATCH path = (:Person)-[:ACTED_IN]->(:Movie)  #path是变量,保存路径
RETURN path

4,CQL-常用函数

函数用法
String字符串用于使用String字面量。
Aggregation聚合用于对CQL查询结果执行一些聚合操作。
Relationship关系用于获取关系的细节,如startnode,endnode等。

5,清空所有数据

match (n) detach delete n

6,常用shell命令

#重启
./bin/neo4j start   #restart stop

#修改密码
./bin/neo4j-admin set-initial-password  psw  #psw为密码

#The client is unauthorized due to authentication failure.问题解决
停止neo4j服务,并且删除data/dbms/auth,重新启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值