Re: ThisPerform and TheParentPerform special-purpose Perform's instances

I missed this earlier.

On Oct 10, 2004, at 7:20 PM, David Martin wrote:
> elena cusenza wrote:
>
>> Hi!
>>  I'm using your owl-s 1.1beta definitions ontologies, I think there 
>> is a constraint violation on the Perform's instances: ThisPerform and 
>> TheParentPerform. (detected using an owl validator)
>> Perform definition make a cardinality restriction over "process" 
>> property (cardinality=1). Anyway you don't follow this constraint on 
>> instances specifications.
>
> It's a valid observation.

Hmm. Well, I don't think so. It is true that in the KB there is no 
assertion with subject ThisPerform (or ThisProcessPerform) and property 
process. Of course, as you say before, it doesn't violate any 
constraint expressed by OWL.

> We discussed this in the OWl-S Coalition. The prevailing view (at 
> least in that discussion) is that it's OK to omit the "process" 
> property from the declarations of ThisPerform and TheParentPerform.

I wasn't in on those discussions but I agree wholeheartedly. In fact, 
I'd say you *have* to. Actually, now that I think about it, I suspect 
that this constraint is all too easily (actually) violated.

> For one thing, it is still legal OWL.  The restriction asserts that 
> each of those instances has a relationship to some process, but it 
> does not mandate that the relationship must be specified.

Indeed. Open World Assumption.

> This is one of the subtleties of OWL (which some may well argue is 
> counter-intuitive).

Well, definitely if you're expecting a database integrity constraint! :)

> Hopefully, the validator is reporting this as a warning rather than an 
> error.

I think this is the BBN Owl validator, as I just got such a warning. 
The warning is just plain wrong. There is no constraint violatoin.

> In any case, there is still room for further discussion about this.

It may be best to add the requested statements even absent a constraint 
violation. However, I don't see what you would add, since, at best, the 
relevant process is unknown.

However, I think ThisPerform will violate the constraint whenever you 
have concurrent or nested performs. (Concurrent because there will be 
*many* active processes with enclosing processes. Nested, well, same 
reason :) though you might be able to elide that by some sort of stack 
frame jargon).

Dummy or special objects like that are...well...very tricky :)

Cheers,
Bijan Parsia.

Received on Monday, 11 October 2004 00:31:13 UTC