如何使用Neo4j为国家,州和城市建模

时间:2016-06-21 12:04:28

标签: neo4j

我正在为我的网站构建一个注册表单(它正在使用Neo4j)并且需要填充国家,州和城市字段。所有这些字段都是相互关联的,即根据国家,州的字段将被设置,并将根据州城市设置。我试图弄清楚使用Neo4j建模的最佳方法是什么。我是否需要为每个国家/地区,州和城市创建节点,然后在所有节点之间创建关系?例如,底特律 - 属于 - 密歇根州 - 属于 - 美国。在Neo4j中处理这个问题的最佳方法是什么?有什么例子可以看吗?在Neo4j中执行此操作会有效吗?或者使用基于文档的数据库比如MongoDB更好?

1 个答案:

答案 0 :(得分:0)

我没有看到任何理由你可以做你建议的事情,为城市,州,国家创建节点并将它们连接起来(我打算用我的方式做同样的事情)即将开展的项目)这也允许您在图形的其他部分重用这些节点,这可能允许您以比属性比较更快的速度使用公共位置进行有趣的查询。

如果我正确理解了您的要求,您就会有下拉菜单或自动填充字段或类似字段向下钻取到每个级别(填充国家/地区的下拉列表 - >使用所选国家/地区的州填充下一个下拉列表 - >填充最后一个选择状态下的城市下降)。只需在标识符或缩写上添加索引以便快速查找节点,并且你很好,它应该可以很快地运行。

如果您在那里添加邮政编码,那可能会非常棘手,因为您无法以相同的方式对其进行真正的建模。你会从州和城市到拉链都有一对多的关系,除非我弄错了,否则会有一些有趣的拉链可以跨越一个州和/或一个城市。其他一些可能使事情复杂化的因素包括5对9位数拉链(或其他国家/地区更多),以及其他国家/地区的拉链等效处理,因为它们可能遵循不同的逻辑。