[英]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.