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

6
我开始接触图形数据库,并与我的团队一起为我们的软件建模。问题在于,当我们尝试“记录”模型以查看数据库结构时遇到了困难。对于SQL数据库,您只需要查看SQL模式即可。
我们花费了一些时间阅读neo4j博客和文档,但我们发现展示图形工作方式的常规方法是使用显示一些示例数据的最小图形(随机样本:示例1示例2等)。这对于教育目的非常有用,但我们希望能够以更正式的方式进行操作。我们想设置什么类型的节点可以与另一个节点相关联,以及使用什么类型的关系等。
使用Spring,您可以使用类包装图形,但它非常特定于Java和OO模型,而我们正在使用Erlang。我们正在寻找某种形式的正式语言(SQL模式等效物)或E-R模型等效物,或类似的东西。
2个回答

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

2
这只是一个通用的社交网络模型(朋友、帖子、回复帖子、图片等)。如果您能向我展示一些您所说的内容示例,那就太好了。我在图形世界中只是个新手,而且我对关系模型也太过依赖。 :-) - César García Tapia
1
但是这样做,你不会在某种程度上生成超级节点吗,@Michael_Hunger? - Riduidel
1
@Riduidel 是的,你会的。 - Eduardo Pareja Tobes

0
一个快速的想法 - 你能用 UML 的子集吗?图形建模似乎更接近领域,所以这可能是合理的。
我们所做的是“示例数据”方法的概括,其中我们在关系的每一侧包括基数、类型和方向。我经常在图表中包括一个节点“类型”(或其他规范它的角色/与领域模型的关系),而不是示例数据,并且当然注意预期的属性、它们的类型以及它们是否是可选的。它不太正式,但到目前为止已经服务得很好了。

你能否给我提供一个比“A是B的朋友”的情况更为实际,通过你解决的示例呢?这将对我们非常有帮助,以便了解其他人如何处理图表。 - César García Tapia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接