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

Nosql Neo4j(或任何其他图形数据库)建模,nosql,neo4j,graph-databases,Nosql,Neo4j,Graph Databases,我开始使用图形数据库,在我的团队中,我们已经开始为我们的软件建模图形。当我们试图“记录”模型以查看数据库的结构时,问题就出现了。对于SQL数据库,您只需查看SQL模式 我们已经花了一些时间阅读了neo4j的博客和文档,但是我们已经看到,显示图形如何工作的通常方法是使用一个最小的图形来显示一些样本数据(随机样本:,等等)。这对于教育目的来说是很好的,但我们希望能够以更正式的方式来做。我们想设置什么样的节点可以与另一个节点关联,以及与什么样的关系,这类东西 使用Spring可以用类包装图,但它非常特

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

我们已经花了一些时间阅读了neo4j的博客和文档,但是我们已经看到,显示图形如何工作的通常方法是使用一个最小的图形来显示一些样本数据(随机样本:,等等)。这对于教育目的来说是很好的,但我们希望能够以更正式的方式来做。我们想设置什么样的节点可以与另一个节点关联,以及与什么样的关系,这类东西


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

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


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

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


你想建立什么样的领域模型?

你能不能给我链接一个比“a是B的朋友”更现实的例子,用你的方式解决?为了了解其他人如何使用图表,这对我们来说是一个很大的帮助。这只是一个通用的社交网络模型(朋友、帖子、帖子答案、图片等)。如果你能给我举一些你在说什么的例子,那就太好了。我只是图形世界的新手,我太执着于关系模型了。:-)但这样做,你会不会在某种意义上产生超级节点?@Riduidel是的,你会