RecurringEvent

From City Data Model Project Collaboratory
Revision as of 02:05, 16 December 2022 by Megankatsumi (talk | contribs) (Text replacement - "iso5087-1:Activity" to "ISO5087-1:Activity")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Pattern

This class has been associated with the following pattern:

Pattern:Recurring Event Pattern

Subclass Of

Description

An English description of the definition (what distinguishes this sense of the term?).

A recurring event is a means of describing scenarios where some activity is scheduled to recur at some regular interval. It is important to note that recurring events such as scheduled transit trips and operating hours represent planned or usual occurrences. But exceptions to the planned recurrence may exist. For example, while a business may be open at some recurring intervals, it's possible that given some exceptional circumstances (for example, a power failure) they may not be open during the predefined days and times. Recurring events are defined based on the regular interval at which they occur; this is captures using some combination of the hasTime, dayOfWeek, hasMonth, and dayOfMonth properties. Using these properties, ontology defines the following specizliations of the RecurringEvent class. Other subclasses may be defined similarly, as required.

A RecurringEvent is defined to have the following properties: • hasActivity: identifies the Activities that take place at the time and location. • associatedLocation: identifies the locations (Features) where the event occurs. • hasSubRecurringEvent: identifies the sub recurring events that comprise the recurring event. As with an Activity, a RecurringEvent may be decomposed/decomposed into simpler/more complex RecurringEvents to support varying levels of granularity. • startTime: specifies the start time of the event’s activity using xsd:time format. • endTime: specifies the end time of the event’s activity using xsd:time format. • schema:dayOfWeek: specifies the day of the week that a weekly recurring event occurs. • hasMonth: specifies the month for which a yearly recurring event occurs. • dayOfMonth: specifies the day of the month that a monthly recurring event occurs. • beginsRecurringTime: defines a time to initiate the recurring event. • endsRecurringTime: defines a time to terminate the recurring event. • beginsRecurringState: defines a state that must be true in order to initiate the recurring event. • endsRecurringState: defines a state that must be true in order terminate the recurring event. • recursExcept: defines the exceptions for the recurring event, i.e., conditions when the event does not occur. Can specify a time, day of the week, or specific dates. • recursAddition: defines condition when the recurrent event should be added. Can specify a time, day of the week, or specific dates.

Class Diagram Description

Figure 1 illustrates how the Recurring Event Pattern could be used to define the concept of a scheduled bus trip. In this example, the scheduled bus trip “sched_bus_trip” recurs daily at 8:00 am so all occurrences of the event (i.e. activities “bustrip1_123”, “bustrip1_321”) should occur at 8:00 am on their respective dates.

Required by Use Case(s)

(why is this specialized definition needed?)


CDM References

What other classes or properties reference this term?

Interface Specification References

This class has been associated with the following interface specification items:


Sources

Sources considered when developing the class:


Status

Pending Approval

Has Subclass(es)



Annotations

Annotation Value


Manchester Syntax Specification

Property Restriction Value
hasOccurrence only ISO5087-1:Activity
AssociatedLocation only Feature
HasSubRecurringEvent only RecurringEvent
StartTime only xsd:time
EndTime only xsd:time
Schema:dayOfWeek only DayOfWeek
HasMonth only Month
DayOfMonth only rdfs:Literal
BeginsRecurringTime only Time:TemporalEntity
EndsRecurringTime only Time:TemporalEntity
BeginsRecurringState only State
EndsRecurringState only State
RecursExcept only time:TemporalEntity or DayOfWeek or ExceptionDay
RecursAddition only time:TemporalEntity or DayOfWeek or ExceptionDay


Supplementary Figures

Figure Caption
Recurring1.png
Figure 1: Example use of the Recurring Event Pattern.
Recurring2.png
Figure 2: Basic structure of the Recurring Event Pattern.