Em Protégé (4.2.0, de qualquer maneira, mas eu esperaria que o mesmo seja verdadeiro para 4.3), você não precisa adicionar o prefixo swrlb:
no editor. Apenas use greaterThan
. Por exemplo, se você digitar isso no editor:
você terá:
Pergunta
Estou usando o Protege 4.3 e o SWRL para fazer algumas regras com o Pellet como um motivo.
Estou tentando usar o SWRL Buildins, mas não posso fazê -lo funcionar.
A regra está correta, mas o Protege não parece reconhecer em toda a construção (por exemplo, swrlb: Greaterthan)
Você poderia me informar sobre o processo necessário para tornar o Protege 4.3 identificar os Buildins SWRL?
Aqui está um exemplo de regra:
Asset(?p), id(?p, ?x), swrlb:greaterThan(?x, 10) -> State(?p)
Meu problema é que ele não parece reconhecer em todos os swrlb:greaterThan
. O erro diz:
OwlRuntimeException: org.protege.editor.owl.model.classexpression.owlexpressionParseRexception: SWRLB ENCTENHADO: GORAGHAN NA LINHA 1 Coluna 30.
Solução 2
Em Protégé (4.2.0, de qualquer maneira, mas eu esperaria que o mesmo seja verdadeiro para 4.3), você não precisa adicionar o prefixo swrlb:
no editor. Apenas use greaterThan
. Por exemplo, se você digitar isso no editor:
você terá:
Outras dicas
Classe: Estado
id some xsd:int[> "10"^^xsd:int]
Atualmente, o Protege (estou usando o V 5.5.0) não suporta o SWRLB no raciocínio (eremita, pellet, ...). Você pode:
Agora você deve ver as entidades com ID> 10 com "estado" na lista de tipos