2011-05-10 4 views
1

Facebook Graph APIからデータを取得し、それを分析して、1人の人がどれほど近くにいるかを概観したいと思います。私はRESTfulなWebサービスを介して私の他のアプリケーションで利用できるように、Graph APIからの情報を格納するSqlAlchemy(今はSQLiteデータベースに接続されている)でPylonsフレームワークを使用しようとしています。私はデータを分析するための最良の方法が何であるか疑問に思っています。Python、Pylons、およびSqlalchemy:FacebookグラフAPIの分析

たとえば、グラフAPI(ユーザー、投稿、ステータスなど)のノードとエッジに類似したオブジェクトを作成して分析し、その分析の余波のみをデータベースに保存するかどうか、おそらくUIDそれぞれのノードと他のノードへのその接続の?または、私はさらに少なくても、ユーザーとその親しい友人のデータベースだけを保存する必要がありますか?または、ステップバイステップを経て、データベース内のORMマッパーを介して各オブジェクトを保存し、それを満たした後にデータベースから分析を行う必要がありますか?

このような状況でデータベースを設計する際には、どんな問題がありますか?オブジェクトはどのようにモデルに関連し/マッピングされるべきですか?データを取得して保存するプロセス全体でどこで分析が行われるべきですか?

答えて

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。そこにはいくつかのアプローチがあります。

関連する問題