Search Mailing List Archives
[protege-owl] Property restrictions and SWRL
martin.oconnor at stanford.edu
Tue Jan 15 09:58:04 PST 2008
Pierre Nugues wrote:
>Apparently, if a property, for instance property_1, has its range
>restricted to one individual, through the hasValue restriction, for
>instance individual_1, it is not possible to infer this value directly
>in SWRL. The query property_1(?x, ?y) will not unify ?y with
If you have an OWL restriction (property_1 hasValue "xxx") attached to
individual_1 you are basically saying that property_1 of individual_1
must contain the value "xxx". However, no actual value assignment is
made so the ontology does not contain a value for the property.
Because of the DL-safe interpretation of the SWRLTab rule engine (and
all other SWRL engines that I know of) the atom will not bind ?y in the
atom property_1(?x, ?y) unless there is actually a value for property_1.
See  and  for a discussion of DL-safe rules. DL-safety is there to
ensure decidability of inference.
>even if there are individuals that show with the property and value in the Protégé interface.
The interface will also not show a value for property_1 (unless you
explicitly assigned one) so I'm not sure what you mean here.
>And if so, what is the appropriate query to get the range restriction?
I will have TBox operators to query OWL restrictions available in a
month or two.
>Finally, when I add a new rule, for instance through the duplication
>of an old one, it takes a while before SQWRL recognizes it with its
>correct name. I have to toggle a couple of times between buttons
>before the query works. Is there a proper way to have it loaded
>properly in the database?
This is a known bug.
More information about the protege-owl