【发布时间】:2015-08-03 09:20:12
【问题描述】:
久违的 Neo4j 重温。我已经阅读了很多文章,但仍然发现我有几个问题要让我重新开始......
- 双向关系 我有一个“连接到”类型的场景,其中 2 个节点相互连接。事实上,这个想法是对一种流进行建模。然而,两个方向的流量并不总是相同的。我不确定使用的最佳方法:1 个关系与 2 个属性或 2 个不同的关系?
前者感觉像是一个舒适的选择,但在对实际事实建模时感觉不自然 - 例如:如何调用属性,因为从每个节点的角度来看,FlowIn 和 FlowOut 没有意义.我还想知道在这种情况下属性与关系的性能——这些值需要更新。
- 表示时间 现在我想更进一步,代表特定时间节点之间的流动,或者更准确地说,特定时间之间的流动。所以在下午 2 点到 3 点之间,#1 和 #2 之间的流量将为 x。
这应该如何以最佳方式完成?每个连接的每个时间框架的关系似乎......冗长。将时间范围表示为节点是否有价值?!
- 是否有任何带有 Cypher 的最大流量示例? 对 push-relabel 最大流量问题的解决特别感兴趣。
感谢您提供的任何建议。
【问题讨论】:
-
如果关系携带不同的数据,它们可能应该是不同的关系。你是定向查询吗?一种关系可以双向发展,所以如果你只想要“与东西相关的东西”,那么一种关系可能会更好。如果按方向查询,最好有两个。
-
您是想用 Cypher 解决最大流量问题还是简单地在 Neo4j 中建模最大流量?