Как и в любом веб-приложении, вам придется принимать архитектурные решения для трех и более слоев.
Уровень хранения
Большинство инструментов для манипулирования онтологией (ЙенаVirtuoso, Sesame, Protege) предлагает несколько способов хранения ваших данных: внутрипроцессные (в памяти) модели, модель RDB (в выбранной вами RDBMS), хранилище в собственном формате.Выбор зависит от ограничений вашей среды и требований к производительности / масштабируемости.
Уровень манипуляции
Выбор решения здесь всегда приносит компромисс между уровнем абстракции и выразительностью.Это потому, что сложно сопоставить все онтологические конструкции с объектно-ориентированными конструкциями.
Учитывая, что вы можете выбирать между:
- Jastor или JenaBean, который генерирует классы Java POJO, соответствующие вашим классам онтологии, и
- Jena
Model
/ OntModel
или Protege API для минимизации RDF, OWL и онтологий на основе фреймовна более низком уровне.
Джастор оборачивает Джену OntModel
или Model
, но скрывает от вас внутренние органы Йены, поэтому, если вы обнаружите, что она ограничена, вы всегда можете ее расширить.Обратите внимание, что Jastor, похоже, больше не поддерживается.
Уровень представления
Технологии уровня манипуляции позволяют скрывать внутренние элементы онтологии от представления представления, поэтому вы можете использовать традиционные технологиикак JSP, чтобы произвести вывод HTML.Тем не менее, для некоторых проблем может быть удобно испустить модель в формате RDF / XML и применить к ней XSL (T) -подобное преобразование.Я нашел rx4RDF , инструмент на основе Python, полезный для поддержки такого рода преобразований.
Отказ от ответственности: Я работал 6 лет назад с упомянутыми технологиями.Вещи, возможно, изменились за это время.Следовательно:
- Я рекомендую вам посмотреть архитектуры различных существующих семантических веб-приложений и найти ту, которая соответствует вашей проблеме.Например, здесь .
- Несмотря на то, что была проделана большая работа в области инструментов семантической паутины, эта технология все еще не разработана.Чтобы лучше нацелиться на свой вопрос, вы можете попытаться задать свой вопрос в списках рассылки продуктов и на исследовательских форумах.
- Кроме того, W3C поддерживает довольно длинный список инструментов для обработки RDF.