在OrientDb中选择不同的顶点
我有一个包含以下数据的数据库:在OrientDb中选择不同的顶点,orientdb,graph-databases,nosql,Orientdb,Graph Databases,Nosql,我有一个包含以下数据的数据库: Vertex Country City Hotel -------------- -------------- --------------------------- ID Name ID Name ID Name -------------- -------------- -----------
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
我想提取意大利的所有酒店,这些酒店可以直接提取在中的边缘之后,或者间接提取在中的边缘部分之后,并且对于每个元素部分在中的边缘之后提取
基本上预期的结果是
#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)