作业1:TuGraph图数据库电影关系图实验
课程:图数据库 | 平台:阿里云TuGraph | 数据集:movie_graph(person、movie、PRODUCE关系)
一、成功启动TuGraph平台,描述部署步骤,附带登录截图
1. 阿里云TuGraph平台部署与启动步骤
本次实验使用阿里云图数据库TuGraph(云实例),无需本地安装部署,操作流程:
- 登录阿里云控制台,搜索「图数据库TuGraph」产品,进入TuGraph实例管理页面。
- 选择已创建好的TuGraph实例,等待实例状态变为运行中。
- 在实例详情页,获取Web可视化控制台的访问地址、账号与密码。
- 浏览器打开Web可视化链接,输入实例对应的账号密码,完成系统登录,进入TuGraph可视化工作台。
截图:阿里云TuGraph系统登录界面截图
二、模型建立、数据导入、增删改查,截图展示运行结果
2.1 图模型设计与建立
本次构建movie_graph图,包含两类节点,一种关系:
- 节点标签
movie:属性 id, title, tagline, summary, poster_image, duration, rated - 节点标签
person:属性 id, name, born, poster_image - 关系
PRODUCE:方向 person → movie,含义:人物制作该电影
在阿里云TuGraph可视化控制台,创建图movie_graph,定义点类型、边类型,设置id为唯一索引。
截图:图模型构建页面
2.2 数据导入
使用阿里云TuGraph的数据导入功能,上传movie、person的csv数据集,完成基础图数据批量导入。
截图:数据导入页面
2.3 增删改查(CRUD)Cypher操作
(1)新增 CREATE
新增movie节点
CREATE (m:movie {id:999, title:"新电影", tagline:"测试新增", summary:"新增电影测试", poster_image:"test.jpg", duration:110, rated:"PG"}) RETURN m;新增movie节点
新增 person 节点
CREATE (p:person {id:999, name:"张三", born:1990, poster_image:"zhangsan.jpg"}) RETURN p;新增person节点
新增 PRODUCE 关系
MATCH (p:person{id:999}), (m:movie{id:999}) CREATE (p)-[r:PRODUCE]->(m) RETURN p,r,m;新增PRODUCE关系
截图:新增节点与关系图谱可视化结果
3.2 查询 MATCH
查询指定人物制作的电影
MATCH (p:person)-[r:PRODUCE]->(m:movie) WHERE p.id=999 RETURN p.name, m.title;截图:查询结果
3.3 修改 SET
修改人物出生年份
MATCH (p:person{id:999}) SET p.born = 1992 RETURN p;修改电影标题
MATCH (m:movie{id:999}) SET m.title = "修改后的电影名称" RETURN m;3.4 删除 DELETE
删除关系
MATCH (p:person{id:999})-[r:PRODUCE]->(m:movie{id:999}) DELETE r;删除人物节点
MATCH (p:person{id:999}) DETACH DELETE p;删除电影节点
MATCH (m:movie{id:999}) DETACH DELETE m;截图:删除执行成功页面
四、实验问题与解决
实验过程中创建节点出现报错:index value already exists
问题原因:
id 为唯一索引主键,数据库中已存在相同 id 节点,无法重复创建。
解决方法:
更换全新未使用的 id 数值,保证主键唯一性后即可正常新增数据。
五、聚合查询实验
5.1 节点数量统计(分组聚合)
MATCH (n) RETURN labels(n) AS label, count(n) AS nodeCount;说明:
使用 count() 聚合函数,按节点标签分组,分别统计 person、movie 节点数量。
截图:聚合查询运行结果
5.2 查询电影平均时长
MATCH (m:movie) RETURN avg(m.duration) AS avg_movie_duration;六、实验总结
本次实验基于阿里云TuGraph云图数据库完成完整图数据库实验,成功搭建 movie_graph 图模型,完成 CSV 数据导入,熟练使用 Cypher 语言实现节点与关系的新增、查询、修改、删除操作。掌握图数据库节点、属性、边关系的基本原理,熟悉聚合查询统计方法,并解决主键索引重复报错问题,加深了对图数据库存储结构与查询语法的理解。