Я работаю вместе с командой Jena в HP (на самом деле, внес свой вклад в Jena), поэтому использование Jena - довольно простой выбор в нашей команде. Однако, есть больше причин, чем просто удобство «следующей скамьи». Различные стандарты семантической сети содержат довольно много деталей и сложностей, и сделать это правильно нелегко. Я встречал несколько загружаемых онтологий и других наборов данных, которые, например, не соответствуют спецификации IRI. В полностью автономном приложении, вероятно, не имеет особого значения, если вы срезаете углы по отношению к стандартам, но в этом случае вам нужно спросить, почему вы в первую очередь используете методы семантической паутины. Для меня сильной ценностью в подходе semweb для приложения было бы взаимодействие данных и связывание открытых данных, и в этом случае соответствие стандартам является довольно центральным.
Большая часть моих данных находится в тройном хранилище, но я использую пользовательские таблицы в качестве индексов для часто задаваемых запросов. Если вы знаете шаблон запроса заранее, то для обычного тройного хранилища без схемы будет сложно превзойти таблицу с хорошей индексацией в хорошем механизме БД.
Очевидно, что одним из недостатков использования Jena является то, что он специфичен для Java. Я использую Jena с jruby, но я с нетерпением жду хорошей нативной библиотеки Ruby RDF (работа ведется ). Я также хотел бы получить более полную поддержку RDF / OWL в Javascript и Flex для случаев, когда мы создаем сложные многофункциональные клиентские интерфейсы.
Ian