我的顶级类主机,属性主机名,边缘类链接,属性端口这是一个列表
所以主机通过带端口的链接相互连接。
我需要找出与某个特定的' 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'
在该查询中放松也不会做。
有没有正确的方法呢?
答案 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