嬴图CLI(ultipa_cli
)是一款跨平台(Windows/Mac/Linux)命令行界面工具,专为嬴图数据库设计,用来执行GQL和UQL查询语句。
准备工作
- 命令行工具:
- Linux或MacOS:Bash,Zsh,TCSH
- Windows:PowerShell
- 点击此处下载嬴图CLI。无需安装。
使用指南
以下步骤均在Windows系统上PowerShell中演示。
1. 连接嬴图数据库
打开终端程序,导航至ultipa_cli
所在文件夹。运行ultipa_cli
,连接到嬴图数据库:
./ultipa_cli.exe -h <host_addr> -u <username> -p <password>
查看所有标志,开始使用ultipa_cli
并连接至嬴图数据库。成功登录后将进入交互式会话,可以使用各种命令(详请参阅所有命令)与数据库交互并进行操作。
2. 指定图集
使用命令use
指定当前工作图集。以图集alimama为例。
use alimama
3. 执行查询
ultipa_cli
支持UQL模式和GQL模式。默认使用UQL模式。
UQL查询
执行UQL查询:
find().nodes({@nodx.cateID == "1089685"}) as n return n{*} limit 5
UQL和GQL模式切换
可使用uql
和gql
命令切换至UQL模式或GQL模式。
gql
GQL查询
执行GQL查询:
MATCH (n:nodx {cateID: "1089685"}) RETURN n LIMIT 5
4. 执行文件
可使用run
命令在交互式会话中执行文件,也可使用-e
/--exec
标志直接执行文件。两种方法均需指定文件路径。
关于文件:
- 文件需包含一或多个UQL或GQL查询。每个查询以分号(;)结束,按照顺序依次执行。
- 文件可以包含
use <graphName>
命令,用于指定当前图集。 - 执行文件时,
ultipa_cli
会根据文件名自动检测查询模式。若文件名包含关键字UQL或GQL(大小写不敏感,优先匹配UQL),将切换至相应的模式。如果未识别到此类关键字,将使用当前模式或默认模式。
在交互式会话中执行文件
以下文件包含的UQL查询可以在当前图集创建schema和属性,并插入点和边:
create().node_schema("Student").node_schema("Course").edge_schema("Take");
create().node_property(@Student,"name").node_property(@Course,"name").edge_property(@Take, "year", int32);
insert().into(@Student).nodes([{_id:"s1", name:"Alex"}, {_id:"s2", name:"Susan"}]);
insert().into(@Course).nodes([{_id:"c1", name:"Art"}, {_id:"c2", name:"Literature"}]);
insert().into(@Take).edges([{_from:"s1", _to:"c1"}, {_from:"s2", _to:"c1"}, {_from:"s2", _to:"c2"}]);
在交互式会话中执行该文件:
run D:\Queries\graphCreation.uql
直接执行文件
以下文件包含两条GQL查询:
use miniCircle;
// 查询1
MATCH (n:account WHERE n.year = 1990) RETURN n.name LIMIT 10;
// 查询2
MATCH (m:movie)-[]-(c:country)
WHERE m.rating > 8
RETURN count(DISTINCT c);
直接执行该文件:
./ultipa_cli.exe -h <host_addr> -u <username> -p <password> -e D:\Queries\queries_gql.txt
5. 安装算法
在ultipa_cli
中使用install algo
命令可在数据库的一个HDC服务器上安装HDC算法。
install algo
命令需使用以下标志:
标志 |
参数 | 可选 |
---|---|---|
-a , --algo |
算法.so文件所在路径 | 否 |
-i , --info |
算法.yml文件所在路径 | 否 |
-hdc , --hdcName |
算法安装的目标HDC服务器名称 | 否 |
install algo -a D:\\algo\\libplugin_fastRP.so -i D:\\algo\\fastRP.yml -hdc hdc-server-1
在Windows设备上,
install algo
命令需使用\\
来指定文件路径,且路径中不能出现空格。
6. 卸载算法
在ultipa_cli
使用uninstall algo
命令可从数据库的一个HDC服务器上卸载HDC算法。
uninstall algo
命令需使用以下标志:
标志 |
参数 | 可选 |
---|---|---|
-n , --name |
算法名称(查询时使用的名称,而非展示名称) | 否 |
-hdc , --hdcName |
即将卸载的算法所在HDC服务器名称 | 否 |
uninstall algo -n fastRP -hdc hdc-server-1
所有标志
ultipa_cli
支持以下标志:
标志 |
参数 | 可选 |
---|---|---|
-h , --host |
数据库主机地址,以URL 形式提供(不包含https:// 或http:// );若连接至一个集群,需提供由英文逗号分隔的IP:Port 对 |
否 |
-u , --username |
数据库用户名(用于主机身份验证) | 否 |
-p , --password |
用户登录密码 | 否 |
-g , --graph |
待设定为当前工作图集的图集;默认为default |
是 |
-qt , --queryType |
查询类型:uql (默认)或gql |
是 |
-crt , --crt |
用于加密传输的本地TSL文件路径 | 是 |
-d , --debug |
布尔型标志,用于启用调试模式 | 是 |
-t , --timeout |
请求超时阈值(单位:秒) | 是 |
-e , --exec |
连接至嬴图数据库后,执行文件 | 是 |
--version |
展示ultipa_cli 的版本 |
是 |
所有命令
进入交互式会话后,ultipa_cli
支持以下命令:
命令 |
参数 |
描述 |
---|---|---|
use |
图集名称 | 指定当前图集用于执行查询 |
uql , gql |
/ | 切换查询模式为UQL模式(默认)或GQL模式 |
/ | UQL或GQL查询 | 无需特定命令;仅需输入查询并按回车键执行 |
run |
查询文件所在路径 | 执行包含查询的文件 |
install algo |
|
将算法安装在一个HDC服务器上 |
uninstall algo |
|
从HDC服务器上卸载算法 |
exit |
/ | 退出交互式会话并断开与嬴图数据库的连接 |
UQL执行历史
首次成功连接至嬴图数据库后,系统会在ultipa_cli
所在目录下自动生成.ultipa_cli_history
文件,用于记录ultipa_cli
中执行的所有命令。只要该文件存在,新执行的命令都将增加至文件末尾,方便用户追踪执行的历史命令,用于后续参考和再次执行。