暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

TuGraph(OceanBase图数据库)小课堂009:tugraph_cypher 如何使用?

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/


此文档主要介绍 lgraph_cypher 文档的使用

TuGraph 发布版本附带名为lgraph_cypher的查询客户端,可用于向 TuGraph 服务器提交 OpenCypher 请求。lgraph_cypher客户端有两种执行模式:单命令模式和交互式模式。

单命令模式

在单命令模式下,lgraph_cypher可用于提交单个 Cypher 查询并将结果直接打印到终端,打印结果也可以容易地重定向写入指定文件。当用户需要从服务器获取大量结果并将其保存在文件中时,这非常便利。 在此模式下,lgraph_cypher工具具有以下选项:

命令行参数:

参数类型说明
--help\列出所有参数及说明。
-example\列出命令实例。
-cstring数据库的配置文件,用于获取 ip 与 port 信息。
-hstring数据库服务器 ip 地址,如有配置文件则可舍去此参数。默认值为127.0.0.1 。
-pstring数据库服务器端口,如有配置文件则可舍去此参数。默认值为7071 。
-ustring数据库登录用户名。
-Pstring数据库登录密码。
-fstring包含单条 Cypher 查询单文本文件的路径。
-sstring单行 cypher 查询命令。以"开头结尾。
-tint进行 cypher 查询时服务器的超时阈值。默认值为150秒。 -formatstring查询结果显示模式。支持plaintable两种格式。plain格式会将查询结果单列打印。table格式会将查询结果以表格方式显示。默认值为table

命令示例:

cypher 命令文件查询:

$ ./lgraph_cypher.py -c /home/usr/lgraph_standalone.json -u user -P password -f /home/usr/cypher.json
复制

cypher 命令单句查询:

$ ./lgraph_cypher.py -c /home/usr/lgraph_standalone.json -u user -P password -s "MATCH (n) RETURN n"
复制

交互模式

lgraph_cypher也可以在交互模式下运行。在交互式模式下,客户端与服务器保持连接,并在读取-评估-打印-循环中与用户进行交互。

进入 lgraph_cypher 交互模式:

如不加-f-s命令行选项,运行lgraph_cypher时将会进入交互模式。使用方式如下:

$ ./lgraph_cypher.py -c /home/usr/lgraph_standalone.json -u admin -P 73@TuGraph
复制

如成功进入则会显示相应登录成功信息:

**********************************************************************
*                  TuGraph Graph Database X.Y.Z                      *
*                                                                    *
*        Copyright(C) 2018 Ant Group. All rights reserved.           *
*                                                                    *
**********************************************************************
login success
----------------------------------
Host: 127.0.0.1
Port: 7071
Username: admin
----------------------------------
type ":help" to see all commands.
>
复制

现在我们也提供一个交互式 shell ,用于用户输入 Cypher 查询语句或使用:help命令来检查可用命令。

command 种类与说明:

除 Cypher 查询外,lgraph_cypher 的 shell 还接受以下命令:

命令对应参数说明
:help\显示服务器信息与所有 command 对应说明。
:db_info\当前服务器状态查询。对应 REST API 的/db/info。
:clear\清空屏幕。
:use{图的名称}使用该名称指定的图,默认值为default 。
:source-t {查询timeout值} -f {查询文件}可交互模式下的 cypher 命令文件查询。超时阈值默认值为150秒。查询文件格式参考无交互式查询参数。
:exit\退出交互模式并返回原命令行。
:formatplain or table更改 cypher 查询结果的显示模式。支持plaintable模式。
:save all/command/result-f {文件路径} {cypher语句}存储 cypher 命令(command)或查询结果(result)或以上二者(all)。默认存储位置为/saved_cypher.txt

注意:

  • 每条命令都应该以冒号开始 :.

:save 命令例子:

:save all -f /home/usr/saved.txt match (n) where return n, n.name limit 1000
复制

cypher 查询命令:

在交互模式下,用户也可直接输入单句 cypher 命令进行查询,以";"结束。输入命令不区分大小写。例子如下:

login success
>MATCH (n) RETURN n, n.name;
+---+---+-------------+
|   | n |n.name       |
+---+---+-------------+
| 0 | 0 |david        |
| 1 | 1 |Ann          |
| 2 | 2 |first movie  |
| 3 | 3 |Andres       |
+---+---+-------------+
time spent: 0.000520706176758
size of query: 4
>
复制

lgraph_cypher输入命令时支持多行输入,用户可使用ENTER键将长查询语句分多行输入。多行输入情况下命令行开头会从>变为=>,然后用户可以继续输入查询的其余部分。

例子如下:

login success
>MATCH (n)
=>WHERE n.uid='M11'
=>RETURN n, n.name;
复制

辅助功能:

历史查询: 在交互模式下按上下方向键可查询输入历史。

自动补全: lgraph_cypher 会根据输入历史进行自动补全。在补全提示出现的情况下,按下右方向键就会自动补全命令。



欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论