GraphEngine icon indicating copy to clipboard operation
GraphEngine copied to clipboard

Question: What do i do to return a subtree

Open eosfor opened this issue 7 years ago • 2 comments

Hello colleagues, lets say i had a graph and i want to return a subtree of a node.

For example query may look like this.

"MAG
            .StartFrom($($g.CellId))
            .FollowEdge(`"OutEdge`")
            .VisitNode(_ => Action.Continue & Action.Return)
            .FollowEdge(`"OutEdge`")
            .VisitNode(_ => Action.Continue & Action.Return)"

The example above, as i understand, returns only two child nodes. However i don't know the depth of a subtree. It could be a single node or no children at all, or it could be tens of sub-nodes with their sub-nodes. Is there any sample query to extract a sub-tree?

Thanks

eosfor avatar May 14 '18 12:05 eosfor

well @eosfor for such queries you'll have to use a bounded closure. Yeah it looks like the sample query, just extend the number of hops to what is suitable for you.

Doing unbounded closure is usually a bad idea.

yatli avatar May 20 '18 08:05 yatli

Thanks @yatli, maybe i misunderstood something in your answer. Let me clarify the ask. Actually i was talking about a way of representing Depth-first search(DFS) algorithm trough LIKQ query, so to speak. The idea is to traverse the graph to the full depth starting from some node. Is it possible with LIKQ?

eosfor avatar May 21 '18 09:05 eosfor