点击上方蓝色字体关注我们

蜀天梦图数据库(GDMBASE)是达梦数据下属子公司四川蜀天梦图数据科技有限公司坚持通过自主研发、原始创新,以图数据标准模型、图存储、图查询、图计算为核心的一款分布式图数据库管理系统基础软件产品。本文旨在分享在安装、配置以及使用 GDMBASE 过程中的一些经验,希望能为那些正准备或已经使用 GDMBASE 的同行们提供一些参考。通过这篇笔记,帮助初学者更快地上手,并为用户带来一些实用的提示。
备注:因为篇幅原因,这篇干货分为上下两篇进行发布。本期为下篇,主要分享GDMBASE图数据库的数据生成、数据导入导出、数据显示。


环境说明



数据生成

生成测试数据
创建一个新的图库起名为sanguo。
CREATE DATABASE SANGUO;

:use SANGUOCREATE (caoCao:Person {name: "曹操", country: "魏"}),(liuBei:Person {name: "刘备", country: "蜀"}),(sunQuan:Person {name: "孙权", country: "吴"}),(guanYu:Person {name: "关羽", country: "蜀"}),(zhangFei:Person {name: "张飞", country: "蜀"}),(zhaoYun:Person {name: "赵云", country: "蜀"}),(zhouYu:Person {name: "周瑜", country: "吴"}),(luBu:Person {name: "吕布", country: "无"}),(diaoChan:Person {name: "貂蝉", country: "无"}),(zhangLiao:Person {name: "张辽", country: "魏"}),(xunYu:Person {name: "荀彧", country: "魏"}),(zhugeLiang:Person {name: "诸葛亮", country: "蜀"}),(guoJia:Person {name: "郭嘉", country: "魏"}),(maChao:Person {name: "马超", country: "蜀"}),(huangZhong:Person {name: "黄忠", country: "蜀"}),(sunShangXiang:Person {name: "孙尚香", country: "吴"}),(dianWei:Person {name: "典韦", country: "魏"}),(luSu:Person {name: "鲁肃", country: "吴"}),(luXun:Person {name: "陆逊", country: "吴"}),(caoCao)-[:对手]->(luBu),(caoCao)-[:下属]->(dianWei),(caoCao)-[:对手]->(liuBei),(caoCao)-[:对手]->(sunQuan),(caoCao)-[:下属]->(zhangLiao),(caoCao)-[:下属]->(xunYu),(caoCao)-[:下属]->(guoJia),(liuBei)-[:夫妻]->(sunShangXiang),(liuBei)-[:兄弟]->(guanYu),(liuBei)-[:兄弟]->(zhangFei),(liuBei)-[:下属]->(maChao),(liuBei)-[:下属]->(huangZhong),(liuBei)-[:下属]->(zhugeLiang),(liuBei)-[:盟友]->(sunQuan),(sunQuan)-[:下属]->(zhouYu),(sunQuan)-[:下属]->(luSu),(sunQuan)-[:下属]->(luXun),(sunQuan)-[:兄妹]->(sunShangXiang),(luBu)-[:夫妻]->(diaoChan),(liuBei)-[:下属]->(zhaoYun);

基本关系查找
对测试数据关系进行查询。
MATCH (n:Person { name: '曹操' })-[*..2]-(m:Person)RETURN m.name;

MATCH (n:Person { name: '曹操' })-[*..2]-(m:Person{ country : '吴' })RETURN m.name;MATCH (n:Person { name: '曹操' })-[*..2]-(m:Person) WHERE m.country='吴'RETURN m.name;

match (n {name:"曹操"}), (m {name:"貂蝉"}), p = shortestPath((n)-[*..7]-(m))RETURN p;

找到曹操和貂蝉间不超过7跳的最短路径,路径中的标签不包含“夫妻”类型。
match (n {name:"曹操"}), (m {name:"貂蝉"}), p = shortestPath((n)-[*..7]-(m))WHERE none (r IN relationships(p) WHERE type(r)= '夫妻')RETURN p;

曹操和赵云两点之间的所有最短路径。
match (n {name:"曹操"}), (m {name:"赵云"}), p = allShortestPaths((n)-[*]-(m))RETURN p;



图数据库中数据导入导出

数据导出
#未携带任何参数,默认导出的是127.0.0.1:8020存储中default图下的数据。./cypher-export
./cypher-export --host=127.0.0.1 --port=8020 --database=SANGUO --path=/opt/

可见导出的CSV文件按照顶点和边储存。

./cypher-export -h--help(或-h) 帮助命令,可查看参数说明;--host 存储服务IP地址,默认127.0.0.1;--port 存储服务端口,默认8020;--database(或-d) 要导出数据的图名,默认default图;--path 导出文件的存放路径,默认在/GDMBASE/export/目录下,以图名生成文件目录;--delimiter 文件内容字段值的分隔符,默认为“ , ” ;--array-delimiter 数组元素之间的分隔符,默认为“ ; ” ;--suffix 导出文件所拼接的后缀名,默认为export,如person标签导出的默认文件名为 person_export.csv;--pool-size 连接池大小,默认30,一般地,一个标签占用一个连接池;--batch-putsize 写文件的批次大小(行),默认5000;-f 强制执行导出,当目录下已有文件时,进行文件覆盖;--version (或-v) 打印当前导出工具版本信息;
数据导入
./cypher-import --host=127.0.0.1 --port=8020 --database=SANGUO2 --datasets=/opt/SANGUO

导入的步骤和日志也会显示。

导入数据检查,如图登录后用show databases;查询出SANGUO2图库已经建立。

切换到SANGUO2图空间做一个数据查询。



图数据库中数据的图形化显示

操作说明
运行./console-server.sh当组件成功启动并出现Web Console started.后证明已准备就绪。

https://192.168.62.129:8200/

填入图库地址端口和登录用户名密码登录。

选择图空间为最新导入的SANGUO2

后面显示距曹操 1-3 跳的所有关系图。
MATCH (n:Person {name: "曹操"})-[r*1..3]->(m)RETURN n, r, m;



总结

本文内容主要讲述的是GDMBASE图数据库的数据生成、数据导出导入、数据显示。希望通过这篇笔记能够为那些正在探索图数据库技术的同行们提供一些有价值的参考。
对于初次接触图数据库的朋友们来说,建议从简单的应用场景入手,逐步熟悉其特性和优势。希望这篇干货中的经验和教训能够帮助大家少走弯路,在图数据库的世界里探索得更深更远。
以上为本期分享,希望能带给大家帮助。想要了解更多往期干货,可访问页面最下方#达梦技术干货攻略#合集或下方相关分享。在此邀请更多学员参与“达梦技术干货投稿活动”,稿件获选后将在达梦“干货分享”专栏进行发布,欢迎来稿!
作者:朱悦
审核:培训部、图数据库实施部


一周热文











达梦E学
微信号:DM-Elearning
扫码关注查看更多内容
点击下方在看,分享本文




