2016-04-23 11 views
0

У меня есть онтология для пиццы, которая определяет различные типы пицц, ингредиентов и отношений между ними. Я просто хочу понять несколько основных вещей:Понимание различия между SPARQL и семантическими рассуждениями с использованием Pellet

  1. Верно ли, что я должен применить SPARQL, если я хочу, чтобы получить информацию без рассуждений? Например. в которых пицца содержит лук?
  2. В чем разница между алгоритмами SPARQL и рассуждениями , как Pellet? На какие запросы нельзя ответить SPARQL, а на то, что Pellet может ответить ? Некоторым примерам запросов (вопрос-подобных) для онтологии пиццы было бы полезно.
  3. Насколько я понимаю, для использования SPARQL с Java с Jena I должен сохранять мою онтологию в формате RDF/XML. Однако, чтобы использовать Pellet с Jena, какой формат мне нужно выбрать? Гранула использует OWL2 ...

ответ

1

SPARQL это язык запрос, то есть, язык для формулирования вопросов в. Рассуждая, с другой стороны, это процесс получения новой информации из существующие данные. Это два разных взаимодополняющих процесса.

  1. Чтобы получить информацию из вашей онтологии, вы используете SPARQL, да. Вы можете сделать это без рассуждений или в сочетании с аргументатором. Если у вас есть аргумент-аргумент, это означает, что ваши запросы могут быть проще, и в некоторых случаях разумные пользователи могут получить информацию, которая вообще не может быть восстановлена ​​с помощью только запроса.

  2. Разрушители, такие как Pellet, на самом деле не отвечают на запросы, они просто рассуждают: они выясняют, какая неявная информация может быть получена из необработанных фактов и может делать такие вещи, как проверка того, что все согласовано (т.е. противоречия в ваших данных). Пелле может понять, что если у вас есть Toyota, которая имеет тип Car, у вас есть автомобиль (потому что автомобиль - это тип транспортного средства). Или он может понять, что если вы определяете пиццу, чтобы иметь ингредиент «Пармезан», у вас есть пицца типа «Сырный» (потому что он знает, что пармезан - это тип сыра). Поэтому вы используете такого подхода, как Pellet, чтобы получить такую ​​неявную информацию, а затем вы используете язык запросов, такой как SPARQL, чтобы на самом деле спросить: «Хорошо, дайте мне обзор всей пиццы Cheesy, в которой также есть анчоусы».

  3. API, такие как Jena, являются инструментами, которые рассматривают RDF как абстрактную модель. Какой формат синтаксиса, который вы сохраняете, не имеет значения, он может читать почти любой синтаксис RDF. Как только вы его прочитаете в модели Jena, вы можете запустить на нем основателя Pellet - неважно, какой синтаксис был в вашем исходном файле. Подробности о том, как это сделать, можно найти в документации Jena.

+0

Спасибо за приятный ответ. BTW, это расчет сходства между понятиями онтологии, связанной с процессом рассуждения? Например. Пицца A имеет 30% сходство с Pizza B, потому что в обеих пицце есть ингредиенты «Пармезан» и «Лук». – JoeBlack