Python, Pylons и Sqlalchemy: анализ API графа Facebook - PullRequest
1 голос
/ 11 мая 2011

Я хотел бы взять данные из API Graph Facebook и проанализировать их, чтобы приблизительно определить, насколько близок один человек к другому. Я пытаюсь использовать платформу Pylons с SqlAlchemy (сейчас она подключена к базе данных SQLite) для хранения информации из API Graph, чтобы я мог сделать ее доступной для других моих приложений через веб-сервис RESTful. Мне интересно, какой будет лучший подход к анализу данных.

Например, следует ли мне создавать объекты, аналогичные узлам и ребрам в Graph API (пользователи, сообщения, статусы и т. Д.), И анализировать их, а затем сохранять в базе данных только результаты этого анализа, возможно, UID каждый узел и его соединения с другими узлами? Или я должен хранить еще меньше, и иметь только базу данных пользователей и их близких друзей? Или я должен пройти шаг за шагом и сохранить каждый из объектов с помощью преобразователя ORM в базе данных и выполнить анализ из базы данных после ее заполнения?

Какие проблемы возникают при проектировании базы данных в подобных ситуациях? Как объекты должны соотноситься / отображаться с моделью? Где должен проводиться анализ в течение всего процесса сбора и хранения данных?

1 Ответ

1 голос
/ 11 мая 2011

Я бы сохранил как можно больше, выбросил все, что мог.Постарайтесь поддерживать отношения между узлами, чтобы вы могли их проанализировать / проанализировать позже.Это дает вам возможность анализировать ваш набор данных столько раз, сколько вы хотите, много раз и пробовать разные вещи.Если вы хотите использовать SQLAlchemy, вы можете использовать простое самоссылочное отношение: http://www.sqlalchemy.org/docs/05/mappers.html#adjacency-list-relationships. Таким образом, вы можете легко поддерживать связи между объектами и легко проходить по ним.Вам также следует подумать об использовании MongoDB.Это довольно хорошо для такого рода вещей, вы можете просто сбросить ответы JSON, которые вы получаете от Facebook, в MongoDB.Он также имеет отличный клиент Python.Вот документы MongoDB по хранению дерева в MongoDB: http://www.mongodb.org/display/DOCS/Trees+in+MongoDB. Есть пара подходов, которые имеют здесь смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...