2

I'm a protégé newbie and did the pizza tutorial and read the 101 documentation. I'm trying to model a ontology like the following picture: Protégé screen

I have a person who has a style. The style can be a style_active or style_passive. This style is determined by a index of two data properties: ind_passive and ind_active, the bigger value should infer the style.

I had to create two individuals: style_active and style_passive, because they must be individuals to be assigned to the object property has_style.

How to infer the value of has_style object property based on ind_passive and ind_active data properties? Using a reasoner?

Is something wrong with this model?

Silva
  • 73
  • 7

1 Answers1

0

I suceed in calculate the value of style object property based on two swrl rules. It does not work with a reasoner like HermiT (default in Protégé 5.5), but works in SWRLTab, that uses Drools.

The rules I used:

Name: Passive
Rule: Person(?p) ^ ind_passive(?p, ?ip) ^ ind_active(?p, ?ia) ^ swrlb:greaterThan(?ip, ?ia) -> has_style(?p, style_passive)

Name: Active
Rule: Person(?p) ^ ind_passive(?p, ?ip) ^ ind_active(?p, ?ia) ^ swrlb:greaterThan(?ia, ?ip) -> has_style(?p, style_active)

The reasoner Hermit could not be enabled after using this rules, because it does not supports "built-in atoms", like swrlb:greaterThan.

Silva
  • 73
  • 7