семантический прокси / сервер Python, какой фреймворк использовать? - PullRequest
2 голосов
/ 27 октября 2010

В этом году я и мой друг должны сделать проект для последнего года обучения в университете. План состоит в том, чтобы создать прокси / сервер, который позволит хранить онтологии и RDF, таким образом, эти данные будут «привязаны» к сети, поэтому вы можете сделать запрос для этой сети, и прокси отправит вам домашнюю страницу с метаданными.

Мы думали использовать python и rdflib, и для Интернета мы не знаем, какой фреймворк лучший. Мы подумали о django, но мы думаем, что это очень важно для нашей цели, и мы решили, что webpy или web2py - лучший вариант.

У нас нет опыта программирования на python, это будет наш первый раз. Мы всегда программировали на с ++ и java.

Итак, принимая во внимание все, что мы упомянули, наш вопрос: какой веб-фреймворк будет лучшим для нашего проекта? И подойдет ли rdflib с этими фреймворками?

Спасибо:)

1 Ответ

3 голосов
/ 27 октября 2010

Я разработал несколько веб-приложений на Python framworks, использующих данные RDF.Выбор всегда зависит от требуемой производительности и количества данных, с которыми вам придется работать.

Если число обрабатываемых вами троек составляет несколько тысяч, вы можете легко собрать структурус RDFlib + Джанго.Я использовал этот выбор с игрушечными приложениями, но как только вам придется иметь дело с большим количеством данных, вы поймете, что они просто не масштабируются.Не из-за Django, основная проблема в реализации RDFlib тройного хранилища - это не здорово.

Если вы знакомы с C / C ++, я рекомендую вам взглянуть на библиотеки Redland .Они написаны на C, и у вас есть привязки для Python, поэтому вы все равно можете разрабатывать свой веб-слой с помощью Django и извлекать данные RDF с помощью Python.Мы делаем это довольно много, и это нормально работает.Эта опция будет масштабироваться немного больше, но не будет хорошей.

Если ваши данные вырастут до миллионов в три раза, я рекомендую вам обратиться в масштабируемый тройной магазин.Вы можете получить к ним доступ через SPARQL и HTTP.Мой выбор всегда 4store .Здесь у вас есть клиент Python для выдачи запросов и утверждения / удаления данных 4store Python Client

...