C# 如何创建社交图?

C# 如何创建社交图?,c#,asp.net,social-graph,C#,Asp.net,Social Graph,这对我来说是一个完全陌生的地方。有没有人能给我指出如何创建社交图的正确方向,以及表示社交图的最佳方式?我正在用C#/asp网络建立一个网站,需要创建一个“朋友”功能。。。这种类型的东西通常完全存储在数据库中吗?如果是,怎么做?你的问题相当开放。对于绘制复杂的图形,我最喜欢的工具之一是。Graphviz可以处理有向图或无向图。它可以将输入作为一个简单的文本文件,然后以多种格式输出图形。您主要关注的是绘制社交网络的图片还是存储数据 对于存储,你可以考虑。然而,这个领域最成熟的产品是neo4j,它的名

这对我来说是一个完全陌生的地方。有没有人能给我指出如何创建社交图的正确方向,以及表示社交图的最佳方式?我正在用C#/asp网络建立一个网站,需要创建一个“朋友”功能。。。这种类型的东西通常完全存储在数据库中吗?如果是,怎么做?

你的问题相当开放。对于绘制复杂的图形,我最喜欢的工具之一是。Graphviz可以处理有向图或无向图。它可以将输入作为一个简单的文本文件,然后以多种格式输出图形。

您主要关注的是绘制社交网络的图片还是存储数据

对于存储,你可以考虑。然而,这个领域最成熟的产品是neo4j,它的名字是用Java编写的。这为.Net提供了一些替代方法

编辑


您仍然不清楚是否需要设计建议或代码示例。安德鲁·西默(Andrew Siemer)写了一篇分为两部分的文章,概述并介绍了这篇文章。我不认为这是一个完全的解决方案,但它可以给你一个正确的方向

所以您的问题主要是数据存储问题,以及如何在图形中存储和检索边。将一些简单的图形术语应用于您的问题:

  • 节点/顶点:在本例中,每个人将代表一个节点

  • 边缘/链接:节点之间的关系(在本例中为“朋友”)将在两个节点之间创建无向边缘

因此,您需要在数据库中维护一个数据结构,以便解决朋友之间的边缘关系

在这个问题中可以找到一些有用的信息:

此外,当你决定如何存储你的边缘列表时,你应该考虑的是你认为你的站点会生成多少个边。这可能会影响您决定的存储机制


希望这些指针能有所帮助。

您是否在问如何在网站上以图形形式直观地表示朋友之间的关系?关于你的问题的一些更详细的信息将产生一个更准确的答案。基本上我需要做你在facebook上做的事情。我需要能够结交朋友,然后能够查看您的朋友列表,单击他们查看他们的个人资料,等等。我只是不知道存储此数据的最佳方式以及如何检索/操作它。第一个问题是您的网站预期流量是多少?你需要优化“好友列表”的读写功能吗?如果写入最终可以保持一致…那么优化读取站点(可能是更高的流量)。另外,考虑一下数据结构。您可以保留给定视图的数据的平面副本,该副本已为用户缝合在一起…非规范化数据。如果我能帮忙,请告诉我。@AndrewSiemer-你的帮助非常好。然而,由于这个问题已经提出了四年多,所以也有点晚了。