2011-05-10 61 views
1

我想從Facebook Graph API中獲取數據並對其進行分析,以便大致瞭解一個人與另一個人的距離。我試圖用SqlAlchemy(現在它連接到SQLite數據庫)來使用Pylons框架來存儲來自Graph API的信息,以便我可以通過RESTful Web服務使其可用於其他應用程序。我想知道什麼是分析數據的最佳方法。例如,我應該創建類似於圖形API(用戶,帖子,狀態等)中的節點和邊緣的對象並分析它們,然後僅將該分析的後果存儲在數據庫中,也許UID每個節點及其與其他節點的連接?或者我應該存儲更少,只有用戶和他們的親密朋友的數據庫?或者我應該一步一步地通過ORM映射器將每個對象存儲在數據庫中,並在填充數據庫之後從數據庫中進行分析?Python,Pylons和Sqlalchemy:分析Facebook圖形API

在這樣的情況下設計數據庫有什麼問題?對象應如何關聯/映射到模型?在抓取數據和存儲數據的整個過程中,分析應該發生在哪裏?

回答

1

我會盡可能地存儲,傾倒一切你可以。嘗試維護節點之間的關係,以便日後遍歷/分析它們。這使您有機會一次又一次地分析數據集,並反覆嘗試不同的事情。如果你想使用SQLAlchemy,你可以使用一個簡單的自引用關係:http://www.sqlalchemy.org/docs/05/mappers.html#adjacency-list-relationships。這樣你可以很容易地維護對象之間的連接,並且可以輕鬆地遍歷它們。你也應該考慮使用MongoDB。對於這樣的事情來說非常好,你幾乎可以將從Facebook獲得的JSON響應轉儲到MongoDB中。它也有一個很棒的python客戶端。下面是關於在MongoDB中存儲樹的MongoDB文檔:http://www.mongodb.org/display/DOCS/Trees+in+MongoDB。有幾種方法在那裏有意義。