OrientDB - 显示边缘和顶点属性

时间:2017-10-02 12:32:12

标签: orientdb

我的顶级类主机,属性主机名,边缘类链接,属性端口这是一个列表

所以主机通过带端口的链接相互连接。

我需要找出与某个特定的' myhost' 相关联的人:

host1.hostname -- link1.ports 
host2.hostname -- link2.ports
etc

但是,我只能实现:

host1@rid -- ports1 
host2@rid -- ports2

查询如:

select expand(inE(link).include('ports','out*')) from host where hostname = 'myhost'

或者我可以将主机名和端口作为列表,但不是很有用:

[host1.hostname, host2.hostname] -- [link1.ports, link2.ports]

select in('link').hostname,inE('link').ports from host where hostname = 'myhost'

在该查询中放松也不会做。

有没有正确的方法呢?

1 个答案:

答案 0 :(得分:0)

您是否尝试过Match语句?

https://orientdb.com/docs/2.2/SQL-Match.html

试试这个

match { class: host, as : host1, where: (hostname = "myhost") }
.inE('link'){as: link}
.outV(){as: host2}
return host1.hostname,link.ports, host2.hostname