Исключение ParserException в редакторе правил Protege SWRL на swrl b: больше, чем

StackOverflow https://stackoverflow.com/questions/19842608

  •  29-07-2022
  •  | 
  •  

Вопрос

Я использую Protege 4.3 и SWRL, чтобы установить некоторые правила с использованием Pellet в качестве аргумента.

Я пытаюсь использовать встроенные SWRL, но я вообще не могу заставить это работать.

Правило правильное, но Protege, похоже, вообще не распознает встроенный (напримерswrlb: Больше, чем)

Не могли бы вы проинформировать меня о процессе, необходимом для того, чтобы Protege 4.3 идентифицировал встроенные SWRL?

Вот пример правила:

Asset(?p), id(?p, ?x), swrlb:greaterThan(?x, 10) -> State(?p)

Моя проблема в том, что он, похоже, вообще не распознает swrlb:greaterThan.Ошибка гласит:

Исключение OWLRuntimeException:org.protege.editor.owl.model.classexpression.OWLExpressionParserException:Встреченный swrlb: больше, чем в столбце 30 строки 1.

Это было полезно?

Решение 2

В Protégé (в любом случае, 4.2.0, но я бы ожидал, что то же самое верно и для 4.3) вам не нужно добавлять префикс swrlb: в редакторе.Просто используй greaterThan.Например, если вы введете это в редакторе:

rule editor

ты получишь:

the rendered rule

Другие советы

Класс:Состояние

id some xsd:int[> "10"^^xsd:int]

В настоящее время Protege (я использую версию 5.5.0) не поддерживает swrlb для рассуждений (Hermit, Pellet, ...).Ты можешь:

  • создайте класс "Состояние"
  • добавьте правило "ЭквивалентНо", как указано выше, в "Класс состояния".
  • запустите программу reasoner

Теперь вы должны увидеть объекты с идентификатором>10 с надписью "State" в списке типов

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top