OrientDb:通过函数实现图形可视化?

OrientDb: graph visualization via function?

以下是用例:我们想向我们的业务用户开放 OrientDB 可视化工具;这样,他们就可以自己查询数据。我们认为,创建带有嵌入式查询的预定义函数以隐藏数据模型的复杂性会很好。

以下是通用示例:

示例1:SearchCity(参数:城市名) 示例2:SearchProvince(参数:省名)并显示所有连接的国家和与该省相关的城市

问题:不幸的是,可视化工具仅在单个圆圈中显示 @rid 而不是链接对象。

问题: 是否可以创建一个函数,用户可以通过 SELECT 从图形可视化工具调用该函数并显示所有分支?

Orientdb 版本:2.2 rc1

下面是我的测试数据:

数据:

CREATE CLASS xCOUNTRY EXTENDS V;
CREATE CLASS xPROVINCE EXTENDS V;
CREATE CLASS xCITY EXTENDS V;
CREATE CLASS part_of EXTENDS E;
CREATE VERTEX xCOUNTRY  SET  COUNTRY_ID=1,COUNTRY_NAME='CANADA';
CREATE VERTEX xPROVINCE SET  PROVINCE_ID=1.1,PROVINCE_NAME='ONTARIO',COUNTRY_ID=1;
CREATE VERTEX xCITY SET  CITY_ID=1.11,CITY_NAME='TORONTO',PROVINCE_ID=1.1;
CREATE VERTEX xCITY SET  CITY_ID=1.12,CITY_NAME='OTTAWA',PROVINCE_ID=1.1;
CREATE EDGE part_of from (select from xCOUNTRY Where COUNTRY_ID =1) to (select from xPROVINCE Where COUNTRY_ID=1);
CREATE EDGE part_of from (select from xPROVINCE Where PROVINCE_ID =1.1) to (select from xCITY Where PROVINCE_ID=1.1);

函数:

名称:SearchProvince(参数"prov_name")

var db = orient.getGraph(); var x = db.command('sql',"TRAVERSE BOTH()
FROM (SELECT FROM XPROVINCE WHERE PROVINCE_NAME= '"+ prov_name + "')
LIMIT 20"); return x;

你需要使用expand

在图形编辑器中这样调用:

select expand(SearchProvince("ONTARIO"))

伊万