我有两个节点,它们之间没有直接的关系,我知道起始节点,结束节点和结束节点上的关系。
(u:用户)-[]-〉()-[]-〉()-[:写入]-〉(p:POST)
是否有一个查询可以返回'p'给我?而且所有的关系都不是WRITE,所以我不能使用[:WRITE*]
次要问题:我考虑的是权限和关系。在我的模型中,用户在某个实体上有一个关系,而这个实体又与另一个实体有一个关系,一直到POST上的WRITE关系,因此我想说用户在POST上有WRITE。但也许我想错了?也许我应该直接给用户在POST上的WRITE?
谢谢你,谢谢你
1条答案
按热度按时间bf1o4zei1#
与关系数据库相比,Neo4j的一个最大优点是,您不必知道节点的标签或它们之间的关系,就可以执行有用的查询。
如果你尝试
它应该会给予你想要的。
图形的结构将决定此查询的效率。如果:USER和:POST之间的图形基本上是一个树,则上述查询应该非常有效。但是,如果中间节点和关系形成一个网络,则查询可能会花费大量时间来探索:User和:Post之间的所有路径,在这种情况下,通过单个关系将:User链接到:Post的想法将是有益的。