[英]Neo4j Relationship design
久违后重温Neo4j。 我已经阅读了很多文章,但是仍然发现我有一些问题可以让我再次前进。
前者感觉很舒适,但随后在建模实际事实时就感觉不自然了-例如:该调用什么属性,因为从每个节点的角度看,FlowIn和FlowOut毫无意义。 我还想知道在这种情况下属性与关系的性能-这些值将需要更新。
应该如何以最佳方式完成此操作? 每个连接的每个时间范围的关系似乎....冗长。 将时间范围表示为节点是否有价值?
感谢您提供的任何建议。
尽管您已经对问题进行了一定的思考,但这个问题仍然不清楚。 这似乎是关于图数据模型的问题。 您想知道如何最好地组织模型来表示复杂的关系。 如果要跟踪两个节点之间的“流”,则将权重属性分配给单向边。
双向关系应仔细考虑。 Neo4j可以像处理单向关系一样快地对其进行处理。 Graphaware中关于使用双向关系的引文 :
Neo4j中的关系可以以相同的速度在两个方向上遍历。 而且,方向可以完全忽略。 因此,如果一个节点暗示另一个,则无需在节点之间创建两个不同的关系。
我相信,通过更好地了解Graph数据模型可以缓解您的问题。 查看一些不同的模型并理解其原因,比此时理解密码语法更有帮助。 可能我建议您阅读本次调查由在智利大学教授2人名为“图形数据库模型的调查。” 您可能对第21页的“超节点”模型特别感兴趣,因为这听起来像是您正在尝试对复杂的循环对象建模。 从第二十一页开始;
超节点可用于表示简单(平面)和复杂对象(分层,复合和循环)以及映射和记录。 一个关键功能是其固有的封装信息的能力。
希望这些信息可以帮助您建立复杂的关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.