# Simplified Calendar Ontology (SCAL): Simple and efficient ontology to represent calendar information (events, ToDos, recurrency rules...)

Authors:
- - Tracker Developers
Editors:
- - Tracker Developers
Upstream:

- Not available

ChangeLog:

- Tracker changes

Copyright:

- © 2009, 2010 Nokia

## SCAL Ontology Classes

### scal:JournalStatus

Predefined instances of status for journals

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:journalStatus,

`Predefined instances` :

  scal:journal-status-cancelled, scal:journal-status-in-process, scal:journal-status-completed, scal:journal-status-needs-action,

### scal:AttendeeRole

Predefined set of instances: chain, req-participant...

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:attendeeRole,

`Predefined instances` :

  scal:attendee-role-non-participant, scal:attendee-role-opt-participant, scal:attendee-role-req-participant, scal:attendee-role-chair,

### scal:AccessLevel

Access classification for a calendar item: public, private or confidential. Use the predefined instances in the ontology

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:access,

`Predefined instances` :

  scal:access-level-confidential, scal:access-level-public, scal:access-level-private,

### scal:Calendar

Group calendar items

`Superclasses` :

  nie:InformationElement,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:belongsToCalendar,

### scal:Event

An Event according the ical definition

`Superclasses` :

  scal:CalendarItem,

`Subclasses` :

  --

`In domain of` :

  scal:eventStatus,

`In range of` :

  scal:anniversary, scal:birthday,

### scal:Journal

A Journal entry according to the ical definition

`Superclasses` :

  scal:CalendarItem,

`Subclasses` :

  --

`In domain of` :

  scal:journalStatus,

`In range of` :

  --

### scal:Todo

A ToDo according the ical definition

`Superclasses` :

  scal:CalendarItem,

`Subclasses` :

  --

`In domain of` :

  scal:percentComplete, scal:completed, scal:due, scal:todoStatus,

`In range of` :

  --

### scal:EventStatus

Predefined instances of status for events

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:eventStatus,

`Predefined instances` :

  scal:event-status-cancelled, scal:event-status-confirmed, scal:event-status-tentative,

### scal:AttendanceStatus

Predefined set of instances: needs-action, accepted...

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:attendanceStatus,

`Predefined instances` :

  scal:attendance-in-process, scal:attendance-completed, scal:attendance-delegated, scal:attendance-tentative, scal:attendance-declined, scal:attendance-accepted, scal:attendance-needs-action,

### scal:TransparencyValues

Predefined instances of time transparency for the calendar items

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:transparency,

`Predefined instances` :

  scal:transparency-opaque, scal:transparency-transparent,

### scal:CalendarAlarm

An alam according to the ical definition

`Superclasses` :

  nie:InformationElement,

`Subclasses` :

  --

`In domain of` :

  scal:alarmAttendee, scal:alarmOffset,

`In range of` :

  scal:calendarItemAlarm,

### scal:TodoStatus

Predefined instances of status for todos

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:todoStatus,

`Predefined instances` :

  scal:todo-status-cancelled, scal:todo-status-in-process, scal:todo-status-completed, scal:todo-status-needs-action,

### scal:TimePoint

Point in time

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  scal:TimeZone, scal:dateTime,

`In range of` :

  scal:recurrenceStartDate, scal:end, scal:start, scal:completed, scal:due,

### scal:RecurrenceRule

Representation of repeating patterns

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  scal:exception, scal:recurrenceStartDate, scal:recurrencePattern,

`In range of` :

  scal:rrule,

### scal:RSVPValues

Predefined set of instances: Yes/No (not boolean to allow undefined values)

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:rsvp,

`Predefined instances` :

  scal:rsvp-value-false, scal:rsvp-value-true,

### scal:CalendarItem

Superclass of the calendar entities

`Superclasses` :

  nie:InformationElement,

`Subclasses` :

  scal:Journal, scal:Todo, scal:Event,

`In domain of` :

  scal:exceptionRDate, scal:rdate, scal:rrule, scal:attachment, scal:priority, scal:isAllDay, scal:end, scal:start, scal:access, scal:calendarItemAlarm, scal:contact, scal:attendee, scal:transparency, scal:resources, scal:textLocation, scal:belongsToCalendar,

`In range of` :

  --

### scal:CalendarUserType

Predefined set of instance for calendar user types

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  scal:calendarUserType,

`Predefined instances` :

  scal:cutype-unknown, scal:cutype-resource, scal:cutype-room, scal:cutype-group, scal:cutype-individual,

### scal:Attendee

Contact related with a calendar item

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  scal:sent-by, scal:delegated-from, scal:delegated-to, scal:member, scal:calendarUserType, scal:rsvp, scal:attendeeContact, scal:attendeeRole, scal:attendanceStatus,

`In range of` :

  scal:alarmAttendee, scal:contact, scal:attendee,

## SCAL Ontology Properties

### scal:priority

Relative priority of th event

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  xsd:integer,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:access

Access classification: public private...

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:AccessLevel,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:eventStatus

Link of an event with its status

`Type` :

  --

`Domain` :

  scal:Event,

`Range` :

  scal:EventStatus,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:attendee

Link of an Calendar item with an attendee, that can have different status

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:Attendee,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:attendeeContact

Link from the attendee to the actual contact

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  nco:Contact,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:percentComplete

% of the task completed

`Type` :

  --

`Domain` :

  scal:Todo,

`Range` :

  xsd:integer,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:isAllDay

True if the event applies to the whole day

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  xsd:boolean,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:sent-by

to indicate whom is acting on behalf of the ATTENDEE

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  nco:Contact,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:TimeZone

Timezone in the OLSON DB used as reference in the time. Use 'floating' for floating times or study the convenience of a boolean 'isFloating' attribute.

`Type` :

  --

`Domain` :

  scal:TimePoint,

`Range` :

  xsd:string,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:delegated-from

to indicate the calendar users whom the request was delegated from

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  nco:Contact,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:start

Start time of a calendar item

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:TimePoint,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:calendarItemAlarm

Link between calendar item and alarm

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:CalendarAlarm,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:resources

Resources required for the calendar item (equipment, installations...)

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  xsd:string,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:calendarUserType

Link an attendee instance with a cutype

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  scal:CalendarUserType,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:contact

Contact related with the Calendar Item (spec 4.8.4.2)

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:Attendee,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:attendeeRole

Property to link with an attendee role instance

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  scal:AttendeeRole,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:alarmOffset

Offset of the alarm respect to the Calendar item start time. In minutes

`Type` :

  --

`Domain` :

  scal:CalendarAlarm,

`Range` :

  xsd:integer,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:exception

True if this recurrence rules must be interpreted as an exception

`Type` :

  --

`Domain` :

  scal:RecurrenceRule,

`Range` :

  xsd:boolean,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:attachment

Item attached to a calendar item

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  nie:DataObject,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:exceptionRDate

One of more concrete exceptions of the calendar item using ';' as separator. Included for backward compatibility. Use rrule with exception='true' instead

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  xsd:integer,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:rdate

One of more concrete ocurrences of the calendar item using ';' as separator. Included for backward compatibility. Use rrule instead

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  xsd:integer,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:completed

Time when the task was completed

`Type` :

  --

`Domain` :

  scal:Todo,

`Range` :

  scal:TimePoint,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:journalStatus

Link of an journal with its status

`Type` :

  --

`Domain` :

  scal:Journal,

`Range` :

  scal:JournalStatus,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:birthday

links a contact with the calendar event of his birthday. (SCAL version)

`Type` :

  --

`Domain` :

  nco:Contact,

`Range` :

  scal:Event,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:transparency

Time transparency for the item (busy time or transparent)

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:TransparencyValues,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:textLocation

Textual description of location for an item. Sec. 4.8.1.7. Use better mlo:location

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  xsd:integer,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:attendanceStatus

Status of contact's assitance to the event

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  scal:AttendanceStatus,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:todoStatus

Link of an todo with its status

`Type` :

  --

`Domain` :

  scal:Todo,

`Range` :

  scal:TodoStatus,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:belongsToCalendar

Relation between a calendar item and a calendar.

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:Calendar,

`Superproperties` :

  nie:isLogicalPartOf,

`Subproperties` :

  --

### scal:due

Due time for a task to be completed

`Type` :

  --

`Domain` :

  scal:Todo,

`Range` :

  scal:TimePoint,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:rsvp

Link an attendee with his rsvp status

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  scal:RSVPValues,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:recurrenceStartDate

Reuse here the start-date instance of the base event for this recurrence rule. This property makes possible to retrieve all required data to expand the recurrence rule in one short query

`Type` :

  --

`Domain` :

  scal:RecurrenceRule,

`Range` :

  scal:TimePoint,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:alarmAttendee

Alarms can have attendees. RFC has told

`Type` :

  --

`Domain` :

  scal:CalendarAlarm,

`Range` :

  scal:Attendee,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:delegated-to

to indicate the calendar users that the original request was delegated to

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  nco:Contact,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:recurrencePattern

Recurrence pattern enforcing all (14) the fields in RFC2445/4.3.10, with ';' as separator: freq;until;count;interval;bysecond;byminute;byhour;byday;bymonthday;byyearday;byweekno;bymonth;bysetpos;wkst

`Type` :

  --

`Domain` :

  scal:RecurrenceRule,

`Range` :

  xsd:string,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:anniversary

links a contact with the calendar event of an anniversary. (SCAL version)

`Type` :

  --

`Domain` :

  nco:Contact,

`Range` :

  scal:Event,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:end

End time of a calendar item. Set always a value to avoid OPTIONALS

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:TimePoint,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:member

To specify the group or list membership of the calendar user specified by the property

`Type` :

  --

`Domain` :

  scal:Attendee,

`Range` :

  nco:Contact,

`Superproperties` :

  --

`Subproperties` :

  --

### scal:dateTime

Date and time in UTC

`Type` :

  --

`Domain` :

  scal:TimePoint,

`Range` :

  xsd:dateTime,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### scal:rrule

Repeating pattern for recurring CalendarItems

`Type` :

  --

`Domain` :

  scal:CalendarItem,

`Range` :

  scal:RecurrenceRule,

`Superproperties` :

  --

`Subproperties` :

  --