本文将展示如何使用 Ultipa Manager、Ultipa Transporter-Exporter 将数据从 Ultipa 图数据库中导出。
使用 Manager 导出
Manager 一次可以导出多个点文件,或多个边文件。
Manager 导出的文件名带有 schema 信息,例如导出点 schema movie
,则文件名为 movie_nodes.csv;导出的文件为 csv 格式,使用英文逗号 ,
作为列分隔符,表头列名为<属性名>
,例如:

- 导出单个点文件
例如,要导出点 schema movie
的属性 _id
、name
,点击 Manager 左侧栏中的“文件”,在弹出的窗口中点击“导出点”,在弹窗中选择点 schema movie
和属性 _id
、name
并提交:

limit 值为 -1 表示导出全部点或边,也可以设置一个整数用来限制导出点或边的个数;未选中的属性不会被导出,即 Manager 不会自动导出点/边的系统属性。
- 导出多个点文件
例如,导出点 schema country
、celebrity
的全部属性:

同时导出多个文件(schema)时,不支持为每个 schema 选择属性,而是自动导出每个 schema 的所有属性。个别浏览器可能会出现询问“是否允许 Manager 同时下载多个文件”的弹窗,需要允许后才能下载多个文件。
导出边文件的方法与导出点文件类似,要选择“导出边”,导出边文件时通常需要导出边的起止点
_from
、_to
(或_from_uuid
、_to_uuid
)才有意义。
使用 Transporter 导出
与 Manager 不同,Transporter 可以同时导出点、边文件,而不需要分别导出点文件、边文件。
Transporter 导出的文件与 Manager 稍有不同,例如导出点 schema movie
,则文件名为 movie.node.csv;表头(如有)中的列名为<属性名>:<数据类型>
,例如:

使用 Ultipa Transporter 的导出工具 Exporter 进行数据导出时,同样需要一个 Yaml 格式的配置文件。该文件包含服务器的连接信息、目标图集的名称、待导出的 schema 及其属性、是否导出表头等。
Yaml 配置文件有四部分内容:
- 第一部分 服务器信息
server:
host: "192.168.1.85:64001"
username: "root"
password: "root"
graphset: "miniCircle"
crt: ""
服务器连接信息 host
、username
、password
由数据库管理员提供;graphset
是待导出数据所在的图集;未使用 TLS 通讯时可以不填写 crt
。
- 第二部分 导出点信息
nodeConfig:
- schema: "movie"
properties:
- name: name
- name: year
- schema: "country"
properties:
- name: name
导出点/边时只需声明自定义属性;点/边的系统属性 _id
、_uuid
、_from
、_to
、_from_uuid
、_to_uuid
会自动导出,无需声明。
- 第三部分 导出边信息
edgeConfig:
- schema: "filmedIn"
仅导出系统属性、不导出任何自定义属性时,无需声明
properties
项;如需导出边的全部schema的全部属性,可将 schema 声明为"*"
,点的操作同理,详见 Transporter 手册。
- 第四部分 全局信息
settings:
writeHeader: true
writeHeader
为 true 时,导出的文件含有表头。
将以上四部分内容保存至配置文件 export_miniCircle.yml 中,将其与 Transporter 的导出工具 ultipa-exporter 放在同一个目录下,在该目录下打开命令行工具(以右键 Powershell 为例)执行以下命令:
./ultipa-exporter --config ./export_miniCircle.yml

执行命令行时如果提示
bash: ./ultipa-importer: Permission denied
则表示没有相关的执行权限,可以先执行chmod 777 ultipa-exporter
获得权限后再执行ultipa-exporter
的命令。