簡體   English   中英

當與 .bothE().otherV().path() 一起使用時,Gremlin 獲取用於頂點的 elementMap() 和用於邊的 valueMap()

[英]Gremlin get elementMap() for vertices and valueMap() for edges when used with .bothE().otherV().path()

假設我們想要檢索某個特定頂點的所有傳入和傳出邊,並且結果包括 from_vertex、edge 和 to_vertex。

以下應該給我們結果。

g.V(1).bothE().otherV().path()
==>path[v[...], e[...][...-...->...], v[...]]

下面為頂點和邊添加.elementMap()

g.V(1).bothE().otherV().path().by(__.elementMap())
==>path[{...} {...} {...}]

現在,我們要檢索屬性,我們要在其中使用.elementMap()作為頂點,使用.valueMap()作為邊。 我的第一個猜測如下

g.V(1).
  bothE().as("edges").
  otherV().as("nodes").
  path().
  by(__.select("nodes").elementMap().select("edges").valueMap())

剛剛返回

==>path[null, null, null]

有任何想法嗎? 此外,如何獲取從某個特定頂點開始的整個子樹的路徑 output。

您的路徑將是節點-邊緣-節點等的交替列表。要獲得所需的結果,您只需by兩個調制器。

g.V(1).
  bothE().
  otherV().
  path().
    by(elementMap()).
    by(valueMap())

暫無
暫無

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

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