En Protégé (4.2.0, de todos modos, pero esperaría que lo mismo sea cierto para 4.3), no necesita agregar el prefijo swrlb:
en el editor. Solo usa greaterThan
. Por ejemplo, si escribe esto en el editor:
obtendrás:
Pregunta
Estoy usando Protege 4.3 y SWRL para hacer algunas reglas con pellet como razonador.
Estoy tratando de usar el SWRL Builtins, pero no puedo hacer que funcione en absoluto.
La regla es correcta, pero el protegido no parece reconocer en absoluto el construido (por ejemplo, SWRLB: Greatthan)
¿Podría informarme sobre el proceso necesario para hacer que el Protege 4.3 identifique los SWRL Builtins?
Aquí hay un ejemplo de una regla:
Asset(?p), id(?p, ?x), swrlb:greaterThan(?x, 10) -> State(?p)
Mi problema es que no parece reconocer en absoluto el swrlb:greaterThan
. El error dice:
OwlRuntimeException: org.protege.editor.owl.model.classexpression.owlexpressionParserException: encontrado SWRLB: GreaterThan en la línea 1 Columna 30.
Solución 2
En Protégé (4.2.0, de todos modos, pero esperaría que lo mismo sea cierto para 4.3), no necesita agregar el prefijo swrlb:
en el editor. Solo usa greaterThan
. Por ejemplo, si escribe esto en el editor:
obtendrás:
Otros consejos
Clase: Estado
id some xsd:int[> "10"^^xsd:int]
Actualmente protegido (estoy usando el V 5.5.0) no es compatible con SWRLB en el razonamiento (ermitaño, pellet, ...). Puedes:
Ahora debería ver las entidades con ID> 10 con "Estado" en la lista de tipos