Select OrientDb 中的不同顶点
Select distinct vertex in OrientDb
我有一个包含以下数据的数据库:
Vertex
Country City Hotel
-------------- -------------- ---------------------------
ID Name ID Name ID Name
-------------- -------------- ---------------------------
#16:0 Italia #17:0 Roma #18:0 Residence Barberini
#18:1 Santa Prisca
Edges
In PartOf
--------------- -------------
From To From To
--------------- -------------
#18:0 #16:0 #17:0 #16:0
#18:0 #17:0
#18:1 #17:0
我想提取意大利的所有酒店,可以直接沿着边In提取,也可以间接沿着边PartOf[=34=提取] 并且对于每个元素 PartOf 另一个跟随边缘 In.
基本上预期的结果是
#18:0 Residence Barberini (direct from Italia)
#18:1 Santa Prisca (traversing Roma)
我使用了以下查询
select distinct(h) from
(select in('in') as h from (traverse in('partOf') from #16:0))
我得到以下结果:
#18:0
#18:0, #18:1
如何才能有效地只检索不同的酒店?
预期结果应该是
#18:0
#18:1 (instead of #18:0, #18:1)
谢谢!
您可以使用
select distinct(h) from
(select in('in') as h from (traverse in('partOf') from #16:0) unwind h)
我有一个包含以下数据的数据库:
Vertex
Country City Hotel
-------------- -------------- ---------------------------
ID Name ID Name ID Name
-------------- -------------- ---------------------------
#16:0 Italia #17:0 Roma #18:0 Residence Barberini
#18:1 Santa Prisca
Edges
In PartOf
--------------- -------------
From To From To
--------------- -------------
#18:0 #16:0 #17:0 #16:0
#18:0 #17:0
#18:1 #17:0
我想提取意大利的所有酒店,可以直接沿着边In提取,也可以间接沿着边PartOf[=34=提取] 并且对于每个元素 PartOf 另一个跟随边缘 In.
基本上预期的结果是
#18:0 Residence Barberini (direct from Italia)
#18:1 Santa Prisca (traversing Roma)
我使用了以下查询
select distinct(h) from
(select in('in') as h from (traverse in('partOf') from #16:0))
我得到以下结果:
#18:0
#18:0, #18:1
如何才能有效地只检索不同的酒店? 预期结果应该是
#18:0
#18:1 (instead of #18:0, #18:1)
谢谢!
您可以使用
select distinct(h) from
(select in('in') as h from (traverse in('partOf') from #16:0) unwind h)