簡體   English   中英

想要 Gremlin 中同一邊的兩個頂點

[英]Want two Vertices off the same Edge in Gremlin

我有一個這樣的圖表

V('Producer')-E('RESPONSIBLE_PRODUCER)->V('Event')<-E('INSPECTED')-V('Engineer')
V('Event')<-E('ALIGNED_PRODUCER')-V('Producer')

也就是說,每個“事件”頂點都有兩條傳入邊:一條終止於“工程師”頂點,另一條終止於“生產者”頂點。 但是 Producer 頂點的功能因邊標簽而異。

我想獲得原始生產者、事件、工程師和終止生產者。

我有這個小鬼代碼:

g.V().hasLabel('Producer').
as('responsible').
has('ProdId', 1234567).
out("RESPONSIBLE_PRODUCER").hasLabel('Event').as('event').
in("INSPECTED").hasLabel('Engineer').as('engineer').
select('responsible', 'event', 'engineer').
by(valueMap('name')).by(valueMap('name')).by(valueMap('name'))

也就是說,我選擇了一個給定的 Producer 並獲取 Event 和 Engineer,然后返回有關每個頂點的一些詳細信息。

我還希望 Producer 與同一查詢中的 Event 對齊,但不確定如何執行此操作。

任何幫助是極大的贊賞。

您正在尋找project

g.V().has('Producer', 'ProdId', '1').as('r').
out("RESPONSIBLE_PRODUCER").hasLabel('Event').
project('responsible', 'event', 'engineer', 'aligned').
by(select('r').values('name')).
by(values('name')).
by(in('INSPECTED').values('name')).
by(in('ALIGNED_PRODUCER').values('name'))

您可以在此處查看問題的“實時”示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM