欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
此文档主要用于新用户快速上手,其中包含了 TuGraph 的简介、特征、安装和使用。
1. 简介
TuGraph 是蚂蚁集团自主研发的大规模图计算系统,提供图数据库引擎和图分析引擎。其主要特点是大数据量存储和计算,高吞吐率,以及灵活的 API,同时支持高效的在线事务处理(OLTP)和在线分析处理(OLAP)。 LightGraph、GeaGraph 是 TuGraph 的曾用名。
主要功能特征包括:
- 标签属性图模型
- 支持多图
- 完善的 ACID 事务处理
- 内置 25+ 图分析算法
- 基于 web 客户端的图可视化工具
- 支持 RESTful API 和 RPC
- OpenCypher 图查询语言
- 基于 C++/Python/Java 的存储过程
- 适用于高效图算法开发的 Traversal API
性能及可扩展性特征包括:
- TB 级大容量
- 千万顶点/秒的高吞吐率
- 高可用性支持(企业版)
- 高性能批量导入
- 在线/离线备份
2. 安装
TuGraph 可以通过 Docker Image 快速安装,或者通过 rpm/deb 包本地安装。
rpm/deb/docker镜像 官网下载地址: https://www.tugraph.org/download
通过docker快速体验
本地安装 docker 环境
参考 docker 官方文档:https://docs.docker.com/get-started/
拉取镜像
docker pull tugraph/tugraph-runtime-centos7启动docker
docker run -d -p 7070:7070 -p 9090:9090 --name tugraph_demo tugraph/tugraph-runtime-centos7 lgraph_server # 7070是默认的http端口,web访问使用。 # 9090是默认的rpc端口,rpc client访问使用。web 访问
http://x.x.x.x:7070默认用户名为
admin,密码为73@TuGraph手动启动方式
docker run -dt -p 7070:7070 --name tugraph_demo tugraph/tugraph-runtime-centos7 docker exec -it tugraph_demo bash # 进入docker环境后执行如下命令启动服务 lgraph_server -d start
web 操作
建模和数据导入
完成登录后,点击“帮助”,点击“快速上手”,点击“一键创建模型”,点击“一键创建数据”,完成数据的 Movie 场景图创建。
Movie 场景图:

| 标签 | 类型 | 说明 |
|---|---|---|
| movie | 实体 | 表示某一部具体的影片,比如"阿甘正传"。 |
| person | 实体 | 表示个人,对影片来说可能是演员、导演,或编剧。 |
| genre | 实体 | 表示影片的类型,比如剧情片、恐怖片。 |
| keyword | 实体 | 表示与影片相关的一些关键字,比如"拯救世界"、"虚拟现实"、"地铁"。 |
| user | 实体 | 表示观影的用户。 |
| produce | 关系 | 表示影片的出品人关系。 |
| acted_in | 关系 | 表示演员出演了哪些影片。 |
| direct | 关系 | 表示影片的导演是谁。 |
| write | 关系 | 表示影片的编剧关系。 |
| has_genre | 关系 | 表示影片的类型分类。 |
| has_keyword | 关系 | 表示影片的一些关键字,即更细分类的标签。 |
| rate | 关系 | 表示用户对影片的打分。 |
查询示例
示例一
查询影片 'Forrest Gump' 的所有演员,返回影片和演员构成的子图。
MATCH (m:movie {title: 'Forrest Gump'})<-[:acted_in]-(a:person) RETURN a, m
示例二
查询影片 'Forrest Gump' 的所有演员,列出演员在影片中扮演的角色。
MATCH (m:movie {title: 'Forrest Gump'})<-[r:acted_in]-(a:person) RETURN a.name,r.role
示例三
查询 Michael 所有评分低于 3 分的影片。
MATCH (u:user {login: 'Michael'})-[r:rate]->(m:movie) WHERE r.stars < 3 RETURN m.title, r.stars
示例四
查询和 Michael 有相同讨厌的影片的用户,讨厌标准为评分小于三分。
MATCH (u:user {login: 'Michael'})-[r:rate]->(m:movie)<-[s:rate]-(v) WHERE r.stars < 3 AND s.stars < 3 RETURN u, m, v
示例五
给 Michael 推荐影片,方法为先找出和 Michael 讨厌同样影片的用户,再筛选出这部分用户喜欢的影片。
MATCH (u:user {login: 'Michael'})-[r:rate]->(m:movie)<-[s:rate]-(v)-[r2:rate]->(m2:movie) WHERE r.stars < 3 AND s.stars < 3 AND r2.stars > 3 RETURN u, m, v, m2
示例六
查询 Michael 的好友们喜欢的影片。
MATCH (u:user {login: 'Michael'})-[:is_friend]->(v:user)-[r:rate]->(m:movie) WHERE r.stars > 3 RETURN u, v, m
示例七
通过查询给'Forrest Gump'打高分的人也喜欢哪些影片,给喜欢'Forrest Gump'的用户推荐类似的影片。
MATCH (m:movie {title:'Forrest Gump'})<-[r:rate]-(u:user)-[r2:rate]->(m2:movie) WHERE r.stars>3 AND r2.stars>3 RETURN m, u,m2欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/




