我们已经用scala ( https://forge.iscpif.fr/projects/simpop2/repository/revisions/dev/show/JSimpop)编写并使用基于agent的模型对城市系统进行了仿真。在模拟中,每个城市等于一个代理。
想象一下,一个类似于游戏或最好的游戏,一个Anno游戏,在世界各地的不同城市(我们的城市代理商的环境)交换不同类型的价值/商品如下:
经过仿真,我们需要输出和可视化数据的时间,按城市,并通过城市功能。因此,我们选择将模拟期间城市间的所有交流历史存储到一个基于“时间”的密钥的散列图中。此hashmap返回包含城市对象+城市+和所有交换值之间的关系的对象区域。
我不确定,但我认为这是个好主意(比使用Rdbms更好?)将数据和这类关系存储到空间图数据库中(空间neo4j、https://github.com/neo4j/spatial或其他更好的解决方案?)
但是,关于这个解决方案,我有多个问题(如果是一个好的解决方案,,):
更新1
最后,我选择了带有新4j空间的neo4j,现在我尝试用neo4j形式主义来表达我的问题。我用一个比原来的问题更简单的例子来表示,我认为,如果我能够实现这种形式主义,这是一个很好的用例(首先?)将来用neo4j进行模拟数据存储!
我用我的表示启动了一个google共享图,如果您可以帮助我更正,这是很棒的:)
提前谢谢你的建议,SR
发布于 2012-03-18 06:37:29
我们要讨论多少件事?您可以在Neo4j空间中将不同的时间范围索引为不同的层,例如每小时一层,然后只搜索或分析那些有趣的层。
此外,还可以通过添加时间索引构造(请记住,整个图是完整的和拓扑结构)来重新索引它们,请参见例如http://blog.neo4j.org/2012/02/modeling-multilevel-index-in-neoj4.html。
从您在Neo4j空间索引中处理的几何节点,您可以访问任何连接域节点(比如事件等),从而在遍历过程中检查任何内容。有关示例,请参见https://github.com/bartbaas/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/pipes/GeoPipesTest.java。
发布于 2012-03-17 14:29:47
试图模拟OpenTSDB http://opentsdb.net/schema.html的模式设计,尽管模式遵循基于列族的方法(HBase) .
请特别注意关键设计,因为它为基于时间维的数据集提供了行分组(按时间片)的优势。
https://stackoverflow.com/questions/9750454
复制相似问题