Какова цель правил SWRL? - PullRequest
14 голосов
/ 26 марта 2011

Кто-нибудь может объяснить назначение правил SWRL.Насколько я понял, правила SWRL такие же, как хранимые процедуры в SQL.Я сделал несколько правил, но не знаю, как использовать их в моем приложении через запрос.Я не знаю, правильно ли я думаю о правилах SWRL или нет.Пожалуйста, покажите мне правильный способ их использования.

Посмотрите на это правило:

Patient(?x) ^ hasValue_heartrate(?x, >160) -> Sick(?x)

В моей онтологии у меня есть класс Patient, но нет класса Sick и даже свойства hasValue_heartrate.Так я должен создать это?Или как я могу использовать вышеприведенное правило в моей онтологии?

Ответы [ 2 ]

10 голосов
/ 26 марта 2011

Правила - это способ выражения дополнительных вещей, которые могут быть выведены из вашего набора данных.Некоторые выводы можно почерпнуть из самой модели онтологии, но другие могут быть не выразимы на языке онтологии (обычно OWL) и требуют более функционального представления.Следует отметить, что SWRL никогда не становился стандартом, и его использование начинает обескураживать.См. Вопрос последняя лучшая поддержка SWRL на answer.semanticweb.com

Редактировать:

Вместо этого следует рассмотреть возможность использования SPIN.Чтобы процитировать эту цепочку :

, теперь, когда SPIN является отправкой W3C, он достиг того же стандартного статуса, что и SWRL.Кроме того, SPIN имеет ключевые преимущества перед SWRL:

  • Он использует SPARQL - стандарт, поддерживаемый каждым хранилищем RDF
  • В отличие от SWRL, SPIN является активным усилием.RRL был сделан устаревшим из-за RIF, в то время как SPIN дополняет RIF

RIF - это текущее усилие W3C, которое после стандартизации может заменить SWRL. SPIN - это командная заявка W3C , механизм логического вывода под названием TopSpin существует в Top Braid Composer .

быть более полезным.

3 голосов
/ 29 марта 2011

SWRL можно рассматривать как расширение OWL. Семантически он хорошо ложится поверх OWL и обычно используется для операторов, которые OWL не может выразить. Синтаксически он не накладывается так хорошо поверх OWL, потому что вводит совершенно новый синтаксис (обратите внимание, например, на явные переменные). Однако некоторые люди предпочитают синтаксис SWRL над OWL и используют SWRL даже для операторов, которые могут быть успешно выражены в OWL (например, ваша аксиома в качестве примера также может быть выражена в OWL).

Чтобы понять разницу между OWL и SWRL, прочитайте, например,

Я бы определенно рекомендовал вам использовать SWRL. ;)

(Требуется или нет явное «создание» или «объявление» класса перед ссылкой на него, вероятно, зависит от вашего редактора онтологий или инструментов рассуждения.)

...