Search Mailing List Archives
[protege-owl] Property restrictions and SWRL
tar at ISI.EDU
Wed Jan 16 10:49:09 PST 2008
On Jan 16, 2008, at 1:55 AM, Pierre Nugues wrote:
>>> If you have an OWL restriction (property_1 hasValue "xxx") attached
>> 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.
> I agree that formulated as such its sounds a pretty artificial
> example. However, we can imagine that a reasoning process intersects
> ranges and results in a singleton that we may want to extract.
>>> 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.
> This range value shows in the interface indeed and apparently Protégé
> is able to infer. That is why I was not sure if I could get it using
> SWRL rules.
That is because the instance widget performs (programmatically) a
check for that particular case. It examines the types of the
instance, specifically looking for the hasValue case and extracting
those instances in addition to the asserted ones.
You see it because of special handling in the interface widget, and
not because the standard Protege API returns the value. In fact, if
you ask for the fillers of the property using the getPropertyValues
API call, you also won't get the inference. Instead that needs the
getHasValuesOnTypes call as well.
So, that is why the results you see in SWRL and in the interface are
different. IIRC the getHasValuesOnTypes call is not particularly fast.
More information about the protege-owl