2)顺序(Order):主要是指深度优先(DFS)或广度优先(BFS);深度优先遍历在访问子节点之后访问每个节点。通俗的说就是顺着起点往下走,直到无路可走就退回去找下一条路径,直到走完所有的结点。这里的“往下走”主是优先遍历结点的子结点。广度优先遍历在访问子节点之前访问每个节点。就是先访问完同一层的结点,然后才继续访问下一层结点,它最有用的性质是可以遍历一次就生成中心结点到所遍历结点的最短路径,这一点在求无权图的最短路径时非常有用。两者对比一下:深度优先搜素算法,不全部保留结点,占用空间少;有回溯操作(即有入栈、出栈操作),运行速度慢。广度优先搜索算法:保留全部结点,占用空间大;无回溯操作(即无入栈、出栈操作),运行速度快。所以速度快的前提就是要牺牲内存了。
3)唯一性(Uniqueness):在遍历过程中,确保每个节点(关系,路径)只被遍历一次。因为我们是图,存在环型结构,所以会有死循环问题。
4)评估性(Evaluator):用来决定返回什么结果,以及是否停止或者继续遍历当前位置。
5)开始节点:启动遍历最先开始的节点。
图数据遍历用法
apoc.path.expandConfig(start :: ANY?, config :: MAP?) :: (path :: PATH?)
MATCH (p:Person {name: "Alicia"})MATCH (joe:Person {name: "Joe"})CALL apoc.path.expandConfig(p, {relationshipFilter: "FOLLOWS>|KNOWS",minLevel: 1,maxLevel: 5,bfs: true,limit: 10})YIELD pathRETURN path, length(path) AS hopsORDER BY hops;
https://neo4j.com/labs/apoc/4.1/overview/apoc.path/apoc.path.elements/
今天文章就到这里了。
五一到了,终于放假了,大家好好玩,好好休息。祝大家五一快乐!!!
- 本期完 -
,我会及时回复。由于微信限制了公众号留言功能,有问题你可以直接发公众号聊天,我会在下期文章末尾解答你的问题。为方便看最新内容,长按下图图片记得关注哦

!

文章转载自Neo4j权威指南,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




