【发布时间】:2013-11-10 11:47:02
【问题描述】:
我只是在空闲时间研究neo4j,使用python 的py2neo 绑定。我对 neo4j 的寻路方面很感兴趣。出于学习的目的,我一直在创建一个简单的游戏地图(太阳系和内部坐标导航)。简单的寻路实现起来非常简单,即使在复杂的节点网络上具有长路径,neo4j 的性能也确实令人印象深刻。
我现在热衷于将属性附加到可以影响导航的关系。例如,我想将给定的关系锁定为仅与某些用户、角色或具有密钥的人。
我不确定如何将其添加到寻路中,以便它查找路径,但在执行此操作时,它会检查是否存在满足/拒绝的其他约束。
是否可以根据关系属性阻止路径,即下面的伪表示:
(node 5, 'linked', node 6) with attribute 'path_blocked': True
无前置条件:
start s=node(22), e=node(46)
MATCH p = shortestPath((s)-[*..100]-(e))
return p
有没有办法让探路者考虑给定的关系是否有一个属性会阻止这条路径的进展?
【问题讨论】:
标签: python neo4j cypher graph-databases py2neo