Question

J'utilise Protege 4.3 et SWRL pour établir certaines règles avec Pellet comme raisonnement.

J'essaye d'utiliser les ButinaS SWRL mais je ne peux pas le faire fonctionner du tout.

La règle est correcte, mais le protégé ne semble pas reconnaître de tout le intégré (par exemple SWRLB: plus grand)

Pourriez-vous m'informer du processus nécessaire pour faire de Protege 4.3 Identifier les intégrés SWRL?

Voici un exemple de règle:

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

Mon problème est qu'il ne semble pas reconnaître du tout le swrlb:greaterThan. L'erreur dit:

OwlruntimeException: org.protege.editor.owl.model.classexpression.owlexpressionParseRexception: rencontré SWRLB: plus grand à la ligne 1 colonne 30.

Était-ce utile?

La solution 2

En protégé (4.2.0, de toute façon, mais je m'attendais à ce que la même chose soit vraie pour 4.3), vous n'avez pas besoin d'ajouter le préfixe swrlb: dans l'éditeur. Utiliser juste greaterThan. Par exemple, si vous tapez cela dans l'éditeur:

rule editor

tu auras:

the rendered rule

Autres conseils

Classe: État

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

Actuellement, Protege (j'utilise le V 5.5.0) ne prend pas en charge SWRLB sur le raisonnement (ermite, granulé, ...). Tu peux:

  • Créer un "état" de classe
  • Ajoutez une règle "équivalento" comme ci-dessus dans la "classe d'état"
  • Exécutez le raisonnement

Vous devriez maintenant voir les entités avec ID> 10 avec "état" dans la liste des types

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top