簡體   English   中英

Cayley:如何設置極限/深度以在Cayley中顯示圖形層次結構?

[英]Cayley : How to put the limit/depth to show the graph hierarchy in cayley?

我需要幫助來限制節點以在cayley中顯示圖層次結構。 像在OrientDB中一樣,我們有一個depth函數來將層次結構限制到同一級別的任何級別。

示例:我具有以下層次結構:

A DependsOn B    
B RunsOn C    
C DependsOn D    
D ConnectedTo E    

現在,對於上面的示例,我編寫了以下查詢以顯示圖層次結構。

var path = g.M().Both();    
g.V("B").FollowRecursive(path).ForEach( function(v) {  
    g.V(v.id).OutPredicates().ForEach( function(r){    
        g.V(v.id).Out().ForEach(function(t){    
            var node = {    
                source: v.id,    
                relation : r.id    
                target: t.id    
            }    
            g.Emit(node)
        })
    }
})

因此,當我將B傳遞給查詢時,它將返回完整的層次結構,但我只希望A,B和C節點顯示B中的1級層次結構,而我想要顯示2級層次結構的相同內容,則要顯示A,B, C和D,因為它應該顯示從B節點向上2級和向下2級。

您可以通過將最大深度作為第二個參數傳遞給FollowRecursive函數來限制深度:

g.V("B").FollowRecursive(path,2 )

請不要在foreach中開始一個新路徑,該路徑不知道外部函數的最大深度。

有關此用例的更詳細討論,請參見官方Cayley論壇上的“ cross-post”: https : //discourse.cayley.io/t/cayley-0-7-0-depth-function-issue / 1066

暫無
暫無

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

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