我是新来Neo4j
,目前这种树状结构玩:暗号:由物业上的关系
在黄色方框中的数字是一对关系命名order
财产CHILD_OF
。
我的目标是
a)至通过此属性,而不是通过直接的关系管理在同一水平的节点的排列顺序(像例如LEFT
,RIGHT
或IS_NEXT_SIBLING
,等等)。
b)能够使用普通整数代替order
属性的完整路径(即不保留诸如0001.0001.0002
之类的东西)。
我却无法找到它是如何,或者如果可能的递归查询的图形,使其不断返回节点depth-first
正确的提示,但在每个级别的排序考虑对关系order
财产。
我认为如果可能的话,它可能会包括将迭代的完整路径与集合实用程序Cypher
进行匹配,但我甚至没有足够接近以发布一些好的起点。
问题
我从答案有什么期望这个问题不一定是一个解决方案,但是否这样的提示是,将执行不好反正个不错的办法。在Cypher
方面,如果有实际的解决方案,我很感兴趣。
我对如何将它作为一个Neo4j服务器插件与Java遍历或核心api(这并不意味着它会表现良好,但这是另一个话题)有个大致的想法,所以这个问题真的是目标设计和Cypher
方面。
谢谢,迈克尔。快速尝试第一个查询产生语法错误,而第二个查询似乎工作。我现在无法详细测试它,但会在一周内重新审视,然后批准答案或回复评论。 – sthzg
修复了第一个查询 –
抱歉等了很长时间才回复。对于第一个查询抱怨比较多个深度(不能从左到右比较,例如'[1,1]'到'[1]'),你是对的。第二种方法是有效的,但除非我读到错误,否则似乎不会返回“深度优先”而是“宽度优先”的结果,例如, '[11],[12],[111],[112],...,[1112]'。 – sthzg