Neo4j(或任何其他图形数据库)建模

时间:2012-04-22 16:12:27

标签: nosql neo4j graph-databases

我开始使用图形数据库,在我的团队中,我们已经开始为我们的软件建模图形。当我们尝试“记录”模型,查看数据库的结构时,就会出现问题。使用SQL数据库,您只需查看SQL模式。

我们花了一些时间阅读neo4j博客和文档,但我们已经看到显示图表如何工作的常用方法是使用显示一些示例数据的最小图表(随机样本:sample1,{ {3}}等。这非常适合教育目的,但我们希望能够以更正式的方式做到这一点。我们想要设置什么样的节点可以与另一个节点相关联,以及什么样的关系,那种东西。

使用Spring,您可以使用类包装图形,但它非常特定于Java和OO模型,我们正在使用Erlang。我们正在寻找某种形式语言(等效的SQL Schema),或等效的E-R模型,或类似的东西。

2 个答案:

答案 0 :(得分:2)

这样做的一种方法是将图形(类型网络)的“元模型”放入图形中,然后将实例(节点)连接到它们的元模型类型。因此,您可以使用图形可视化来可视化元模型,同时使用元模型来强制执行其他约束(通过将约束信息存储在元模型中并在更新实际模型时使用它),并使用元模型的类型节点,用于快速访问此类型的所有“实例”节点。

您想要建模的域名是什么?

答案 1 :(得分:0)

一个简单的想法 - 你能使用UML的一个子集吗?图形建模似乎更接近域,所以也许这是合理的。

我们所做的是对“示例数据”方法的概括,其中我们在关系的每一侧包括基数,以及类型和方向。我还经常在图中包含一个节点“type”(或者它与域模型的角色/关系的其他规范),而不是示例数据,当然还要注意预期的属性,它们的类型以及它们是否是可选的。这不是正式的,但到目前为止服务很好。