對我來說這是一個完全陌生的地方。任何人都可以指出我如何創建社交圖表以及表示它的最佳方式的正確方向?我正在C#/ asp網絡建立一個網站,並需要創建一個「朋友」功能......這種類型的東西通常完全存儲在數據庫中?如果是這樣,怎麼樣?你如何創建社交圖?
回答
你的問題是相當開放的。爲了繪製複雜的圖形,我最喜歡的工具之一是Graphviz。 Graphviz可以使用有向或無向圖。它可以將輸入視爲簡單的文本文件,然後以各種格式輸出圖形。
您主要關注的是繪製社交網絡圖片還是存儲數據?
對於存儲你可能會考慮a graph database。然而,這個領域最成熟的產品是neo4j,它的名字建議是用Java編寫的。這個SO discussion list .Net的一些替代方法。
編輯
你還是沒有說清楚是否需要設計諮詢或代碼示例。 Andrew Siemer寫了一篇兩部分的文章,概述了the issues,然後介紹了some ASP.net code。我不認爲這是一個完整的解決方案,但它可以讓你指引正確的方向。
基本上我需要做你在Facebook上做的事情。我需要能夠交朋友,然後能夠看到你的朋友列表,點擊它們來查看他們的個人資料等,我只是不知道存儲這些數據以及如何檢索/操作它的最佳方式。 – ijjo 2010-02-07 22:34:04
第一個問題是您的網站需要多少流量?你需要優化「朋友列表」以便閱讀......或寫入嗎?如果寫入可以最終一致...則優化讀取站點(可能是更高的通信量)。另外,考慮數據結構。您可能保留一個給定視圖的數據的平面副本,已經爲用戶...非規格化數據拼接在一起。讓我知道,如果我能幫忙。 – 2014-08-15 18:55:23
@AndrewSiemer - 你提供的幫助非常親切。但是,由於這個問題已經過了四年多了,它還不止有點晚。 – APC 2014-08-16 08:24:45
因此,您的問題主要是數據存儲問題,以及如何存儲和檢索圖形中的邊緣。在你的問題中應用一些簡單的圖表術語:
節點/頂點:在你的情況下,每個人將代表一個節點。邊緣/鏈接:節點之間的關係(在本例中爲「朋友」)將在兩個節點之間創建無向邊。
因此,您需要維護數據庫中的數據結構,以便您解析朋友之間的邊緣關係。
一些有用的信息,或許可以在這個問題上找到:
challenge-how-to-implement-an-algorithm-for-six-degree-of-separation
此外,一些決定如何存儲你的邊列表時,你應該考慮的是你有多少邊認爲你的網站會產生。這可能會影響您決定的存儲機制。
希望這些指針有所幫助。
- 1. 從Facebook創建社交圖數據集
- 2. 創建iOS應用社交
- 3. 如何爲中心的社交圖標創建灰色背景?
- 4. 創建社交媒體,如網站
- 5. 你如何創建地圖的地圖?
- 6. 用PHP創建社交網站
- 7. 用Javascript完全創建社交網站
- 8. 用facebook創建社交遊戲SDK
- 9. 創建社交網絡Web服務API
- 10. 在asp.net中創建社交網站
- 11. 爲社交網站創建源
- 12. 創建社交網絡應用程序
- 13. 的Javascript如何建立社交圈
- 14. 如何在Firebase中爲社交登錄創建包裝REST API?
- 15. 如何爲我的博客創建社交閱讀器?
- 16. 如何根據社交分數創建評分
- 17. 構建朋友的社交圖
- 18. 如何水平對齊社交圖標
- 19. 如何繪製社交網絡圖?
- 20. 使用圖形API爲網站創建一個「社交按鈕」
- 21. 度到社交圖
- 22. 你如何創建你的工廠?
- 23. 你如何製作社交網絡徽章?
- 24. 你如何獲得同樣大小的社交媒體按鈕?
- 25. 如何在R中創建交互圖?
- 26. 如何從PCAP創建HTTP交易圖?
- 27. 如何創建博客社區?
- 28. 如何創建SNMPv1社區字符串?
- 29. 對社交網站建模
- 30. java.lang.IllegalStateException:試圖創建多個社團在
你問你怎麼能在你的網站上以圖表形式表示朋友之間的關係?有關您的問題的一些更詳細的信息將產生更準確的答案。 – 2010-02-07 22:15:03