首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cayley :如何设置限制/深度来显示Cayley中的图形层次结构?

cayley :如何设置限制/深度来显示Cayley中的图形层次结构?
EN

Stack Overflow用户
提问于 2017-11-08 20:58:32
回答 1查看 74关注 0票数 0

我需要帮助限制节点,以显示cayley中的图形层次结构。就像在OrientDB中一样,我们有一个深度函数,可以将层次结构限制在同一级别以下的任何级别。

示例:我有一个下面的层次结构:

代码语言:javascript
复制
A DependsOn B    
B RunsOn C    
C DependsOn D    
D ConnectedTo E    

现在,对于上面的示例,我编写了一个下面的查询来显示图的层次结构。

代码语言:javascript
复制
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级。

EN

回答 1

Stack Overflow用户

发布于 2018-02-05 19:09:27

您可以通过将最大深度作为第二个参数传递给FollowRecursive函数来限制深度:

代码语言:javascript
复制
g.V("B").FollowRecursive(path,2 )

请注意,您在foreach中开始了一条新路径,它不知道外部函数中的最大深度。

关于这个用例的更详细的讨论可以在官方Cayley论坛上的“交叉帖子”中找到:https://discourse.cayley.io/t/cayley-0-7-0-depth-function-issue/1066

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47180376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档