Я смотрю и играю с OWL через Protege, и я хотел бы знать, правильно ли я понимаю «рабочий процесс» и идею его (для создания базы данных с нуля:
- Создание онтологии OWL для ваших данных с использованием Protege или эквивалентной
- Экспорт этой схемы в RDF
- Используйте классы, определенные как некоторые элементы в хранилище триплетов вместе с вашими целевыми данными
- Экспорт вашего тройного магазина в RDF
- Используйте openRDF / sesame или Jena для загрузки определенных данных и онтологии
- Проверьте ваш тройной склад RDF по онтологии OWL, чтобы убедиться, что все в порядке
- Используйте SPARQL для получения данных из вашего тройного хранилища RDF
- Используйте рассуждения OWL, чтобы что-то сделать (здесь не совсем понятно)
Я хотел бы получить представление о том, что делают другие и как они подходят к этому типу проблемы.
Кроме того, у меня есть конкретный вопрос:
Кажется, что сова-рассудитель используется для определения отношений подкласса суперкласса только для онтологий. Но с точки зрения данных, как вам запросить отношения подкласс - суперкласс в SPARQL. Например, если в моем тройном магазине определено (pizzaID1 is-a marghareta) и я запрашиваю вегетарианскую пиццу в SPARQL, как мне убедиться, что pizzaID1 возвращен.
Я думаю, что ответ как-то связан с генерацией «полного графа», в котором все отношения явно указаны. Sparql выполняет какие-либо автоматические рассуждения при запросах в триплетах или создает такой полный граф, необходимый?