一、Hg介绍
http://localhost:8080
8080端口为restful api接口
http://localhost:8088/
8088端口为hg的可视化组件端口
1、Hg中的图概念
- 图类似于普通数据库的数据库概念
- 每种标签类似于数据表
- 一个图包含了所有数据
- 所有具有相同关系相同scheam的数据可以放到一个图中
- Hg中创建图不像普通数据库一样cerate database test_db
- 需要修改配置文件然后初始化存储数据库
查看有哪些图
http://localhost:8080/graphs
2、图的构成
常见的图数据表示模型有两种,分别是RDF(Resource Description Framework)模型和属性图(Property Graph)模型。
Hg采用Property Graph。
一张图有顶点和边以及关系构成 顶点都有自己的属性
3、如何构成一张图
先进行图、顶点与关系的划分
以官网案例,假设是人物关系图谱
我们可以看到图上有角色与 角色之间关系 还有角色与地点之间关系构成
如下:
基本数据构造示例
https://hugegraph.github.io/hugegraph-doc/language/hugegraph-example.html
二、Hg提供的使用语法
Restful与Gremlin Gremlin类似于sql 图数据库通用语法
http://localhost:8088
此可视化界面使用Gremlin语法进行crud 可进行数据的测试等
因为目前hg只支持java client所以Gremlin在代码中有一定的限制
如果用python操作图数据库需要使用restful api,restful也可以直接发送Gremlin语法
1、Restful
- 构建图结构
- 增加数据
- 查询(内置算法,不同场景)
https://hugegraph.github.io/hugegraph-doc/clients/hugegraph-api.html
2、Gremlin
http://tinkerpop.apache.org/docs/current/tutorials/getting-started/
三、其他功能
1、备份恢复
Hg提供了图备份与回复功能,可将数据导出为json
2、数据导入
提供loader工具直接从数据源导入构建图
目前支持的数据源包括:
- 本地磁盘文件或目录,支持压缩文件
- HDFS 文件或目录,支持压缩文件
- 部分关系型数据库,如 MySQL
使用 HugeGraph-Loader 的基本流程分为以下几步:
- 编写图模型(schema)
- 准备数据文件
- 编写输入源映射(source)
- 执行导入过程
https://hugegraph.github.io/hugegraph-doc/quickstart/hugegraph-loader.html
关于 schema 的详细说明请参考
https://hugegraph.github.io/hugegraph-doc/clients/hugegraph-client.html