这对我来说是一个完全陌生的领域。谁能指出我如何创建社交图以及表示它的最佳方式的正确方向?我正在用 C#/asp net 建立一个网站,需要创建一个“朋友”功能......这种类型的东西通常完全存储在数据库中吗?如果是这样,如何?
问问题
3392 次
3 回答
3
您主要关心的是绘制社交网络的图片还是存储数据?
对于存储,您可以考虑使用图形数据库。然而,这个领域最成熟的产品是 neo4j,顾名思义是用 Java 编写的。这个SO 讨论列出了 .Net 的一些替代方法。
编辑
您仍然不清楚是否需要设计建议或代码示例。Andrew Siemer 写了一篇由两部分组成的文章,概述了这些问题,然后介绍了一些 ASP.net 代码。我认为这绝不是一个完整的解决方案,但它可以引导您朝着正确的方向前进。
于 2010-02-07T22:31:01.640 回答
1
你的问题相当开放。对于绘制复杂的图形,我最喜欢的工具之一是Graphviz。Graphviz 可以处理有向图或无向图。它可以将输入作为一个简单的文本文件,然后以多种格式输出图形。
于 2010-02-07T22:05:37.223 回答
0
因此,您的问题主要是数据存储问题,以及如何在图中存储和检索边。将一些简单的图形术语应用于您的问题:
节点/顶点:在您的情况下,每个人都将代表一个节点。
边/链接:节点之间的关系,在本例中为“朋友”,将在两个节点之间创建无向边。
因此,您需要在数据库中维护一个数据结构,以便您解决朋友之间的边缘关系。
在这个问题中可能可以找到一些有用的信息:
此外,在决定如何存储边缘列表时,您应该考虑的是您认为您的站点将生成多少边缘。这可能会影响您决定的存储机制。
希望这些指点有所帮助。
于 2010-02-07T22:58:56.707 回答