Re: [owl-s] Time ontology usage for OWL-S 1.0

Feng Pan wrote:

Monika, thanks for looking at this!

> Hi Monika,
> 
> 
>>Process.owl:
>><owl:ObjectProperty rdf:ID="startTime">  
>>  <rdfs:comment> Start time for the Event </rdfs:comment>
>>  <rdfs:domain rdf:resource="#ProcessComponent"/>
>>  <rdfs:range rdf:resource="&time;#Instant"/>
>></owl:ObjectProperty>
>>
>><owl:ObjectProperty rdf:ID="endTime">
>>  <rdfs:comment> End time for the Event </rdfs:comment>
>>  <rdfs:domain rdf:resource="#ProcessComponent"/>
>>  <rdfs:range rdf:resource="&time;#Instant"/>
>></owl:ObjectProperty>
>>Time-entry.owl
>><owl:ObjectProperty rdf:ID="begins">
>>    <rdf:type rdf:resource="&owl;FunctionalProperty" />
>>    <rdfs:domain rdf:resource="#TemporalThing" />
>>    <rdfs:range  rdf:resource="#InstantThing" />
>>  </owl:ObjectProperty>
>>
>>  <owl:ObjectProperty rdf:ID="ends">
>>    <rdf:type rdf:resource="&owl;FunctionalProperty" />
>>    <rdfs:domain rdf:resource="#TemporalThing" />
>>    <rdfs:range  rdf:resource="#InstantThing" />
>>  </owl:ObjectProperty>
>>
>>startTime corresponds   to begins [do we want to make this a subproperty?]
>>endTime corresponds to ends
> 
> 
> 
> Yes, "begins/ends" in entry subontology of time can replace the
> "startTime/endTime". I don't think subproperty is needed unless you
> want to have more specific begins or ends for process component, for
> example, "process_begins" with its domain restricted to
> "ProcessComponent" rather than the general "TemporalThing".

Well, let's be clear about this.  We can't start using begins/ends as 
properties of processes, unless we arrange for Process to be part of the 
domain of begins/ends.  One way to do this would be to make Process a 
subclass of TemporalThing, and I think this has been part of Jerry's 
thinking all along.  Am I right, Jerry?  Does this sound reasonable to 
everyone?

(If we *don't* want to do that, of course we could keep our existing 
properties startTime and endTime, and just change their ranges to be 
InstantThing.)

>>The domain values are ofcourse different, however the difference in the 
>>range value would not really matter as  InstantThing
>>is a union of Instant and InstantEvent.
> 
> 
> 
> Yes, we generalized Instant and Interval to InstantThing and IntervalThing 
> to include events (InstantEvent/IntervalEvent).
> 
> 
> 
>>Similarly we have
>> Process.owl
>><owl:ObjectProperty rdf:ID="during">
>> <rdfs:comment> Event/Process is during Interval, the exact time
>>                interval over which the event occurs
>> </rdfs:comment>
>>  <rdfs:domain rdf:resource="#ProcessComponent"/>
>>  <rdfs:range rdf:resource="&time;#Interval"/>
>></owl:ObjectProperty>
>>
>>Time-entry.owl
>>  <owl:ObjectProperty rdf:ID="intDuring">
>>    <rdfs:subPropertyOf rdf:resource="#startsOrDuring" />
>>    <rdfs:domain rdf:resource="#ProperIntervalThing" />
>>    <rdfs:range  rdf:resource="#ProperIntervalThing" />
>>  </owl:ObjectProperty>
>>
>>Feng, are these semantically the same?, I am not very clear here.
> 
> 
> 
> If "ProcessComponent" is defined as "IntervalEvent" in entry sub-ontology,
> "during" property can be safely removed, because the sub-ontology has
> generalized all the properties and relations of intervals to interval
> things (i.e. intervals and interval events), so that you can specify 
> temporal properties (e.g. begins/ends, duration) directly for interval
> events (e.g. process components).

ProcessComponent is the union of Process and another class called 
ControlConstruct, and I'm thinking we should just make ControlConstruct 
a subclass of TemporalThing, also. To me, that's conceptually OK.

What we had in mind with "during" was to say that a ProcessComponent 
occurs during some interval.  Is intDuring appropriate for that?  Maybe 
we should just delete "during".  That is, if we have begins/ends, why do 
we also need during?

What's the relationship between TemporalThing and IntervalEvent?

> 
> 
> 
>>In process.owl we have properties like timeout and timeoutAbsolute, the 
>>documentation for which says the following
>>
>>We may need absolute timeout (like calender time or timeOfDay, so
>>we allow for the timeoutAbsolute property
>>
>>Here, can we use "inCalendarClock", which has as range 
>>"CalendarClockDescription", which has everything that might be needed to 
>>specify timeoutAbsolute ?
> 
> 
> 
> "inCalendarClock" is a property of instant things (i.e. instants and
> instant events) that specifies an instant thing in a specific
> calendar-clock interval, but "timeout" and "timeoutAbsolute" are
> properties of process components that should be interval events.
> 
> I think what you want to say is the duration of a timeout interval of a
> process component, for example, time out after 5 days, right?

I think the intention was for "timeout" to be an interval, as you 
describe above, but for timeoutAbsolute to give a particular instant at 
which a timeout occurs. (So the range of timeoutAbsolute in the current 
Process.owl doesn't make sense.  Seems to me it should become InstantThing.)

> 
> In order to do this, I suggest you keep the timeoutAbsolute definition:
> 
> <owl:ObjectProperty rdf:ID="timeoutAbsolute">
>   <rdfs:domain rdf:resource="#ProcessComponent"/>
>   <rdfs:range rdf:resource="&time;#Interval"/>
> </owl:ObjectProperty>
> 
> Then, you can use either the "durationDescriptionOf" or
> "durationDescriptionDataType" property to describe the duration of the
> time out interval.

That makes sense to me, but for timeout, not timeoutAbsolute. 
timeoutAbsolute would be the same, except for a range of InstantThing.

Everyone, please feel free to comment.

Thanks, David

Received on Sunday, 12 October 2003 01:48:12 UTC