Abstract
The NEPOMUK Calendaring Ontology intends to provide vocabulary for describing calendaring data (events, tasks, journal entries) which is an important part of the body of information usually stored on a desktop. It is an adaptation of the ICALTZD ontology created by the W3C.Table of Contents
ncal:AccessClassification - Access classification of a calendar component. Introduced to express the set of... |
ncal:Alarm - Provide a grouping of component properties that define an alarm. |
ncal:AlarmAction - Action to be performed on alarm. This class has been introduced to express the l... |
ncal:Attachment - An object attached to a calendar entity. This class has been introduced to serve... |
ncal:AttachmentEncoding - Attachment encoding. This class has been introduced to express the limited vocab... |
ncal:Attendee - An attendee of an event. This class has been introduced to serve as the range fo... |
ncal:AttendeeOrOrganizer - A common superclass for ncal:Attendee and ncal:Organizer. |
ncal:AttendeeRole - A role the attendee is going to play during an event. This class has been introd... |
ncal:BydayRulePart - Expresses the compound value of a byday part of a recurrence rule. It stores the... |
ncal:Calendar - A calendar. Inspirations for this class can be traced to the VCALENDAR component... |
ncal:CalendarDataObject - A DataObject found in a calendar. It is usually interpreted as one of the calend... |
ncal:CalendarScale - A calendar scale. This class has been introduced to provide the limited vocabula... |
ncal:CalendarUserType - A calendar user type. This class has been introduced to express the limited voca... |
ncal:Event - Provide a grouping of component properties that describe an event. |
ncal:EventStatus - A status of an event. This class has been introduced to express the limited set ... |
ncal:Freebusy - Provide a grouping of component properties that describe either a request for fr... |
ncal:FreebusyPeriod - An aggregate of a period and a freebusy type. This class has been introduced to ... |
ncal:FreebusyType - Type of a Freebusy indication. This class has been introduced to serve as a limi... |
ncal:Journal - Provide a grouping of component properties that describe a journal entry. |
ncal:JournalStatus - A status of a journal entry. This class has been introduced to express the limit... |
ncal:NcalDateTime - |
ncal:NcalPeriod - A period of time. Inspired by the PERIOD datatype specified in RFC 2445 sec. 4.3... |
ncal:NcalTimeEntity - A time entity. Conceived as a common superclass for NcalDateTime and NcalPeriod.... |
ncal:Organizer - An organizer of an event. This class has been introduced to serve as a range of ... |
ncal:ParticipationStatus - Participation Status. This class has been introduced to express the limited voca... |
ncal:RecurrenceFrequency - Frequency of a recurrence rule. This class has been introduced to express a limi... |
ncal:RecurrenceIdentifier - Recurrence Identifier. Introduced to provide a structure for the value of ncal:r... |
ncal:RecurrenceIdentifierRange - Recurrence Identifier Range. This class has been created to provide means to exp... |
ncal:RecurrenceRule - |
ncal:RequestStatus - Request Status. A class that was introduced to provide a structure for the value... |
ncal:TimeTransparency - Time transparency. Introduced to provide a way to express the limited vocabulary... |
ncal:Timezone - Provide a grouping of component properties that defines a time zone. |
ncal:TimezoneObservance - |
ncal:Todo - Provide a grouping of calendar properties that describe a to-do. |
ncal:TodoStatus - A status of a calendar entity. This class has been introduced to express the lim... |
ncal:Trigger - An alarm trigger. This class has been created to serve as the range of ncal:trig... |
ncal:TriggerRelation - The relation between the trigger and its parent calendar component. This class h... |
ncal:UnionOfAlarmEventFreebusyJournalTodo - |
ncal:UnionOfAlarmEventFreebusyTodo - |
ncal:UnionOfAlarmEventJournalTodo - |
ncal:UnionOfAlarmEventTodo - |
ncal:UnionOfEventFreebusy - |
ncal:UnionOfEventFreebusyJournalTodo - |
ncal:UnionOfEventJournalTimezoneTodo - |
ncal:UnionOfEventJournalTodo - |
ncal:UnionOfEventTodo - |
ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo - |
ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo - |
ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo - |
ncal:UnionParentClass - |
ncal:Weekday - Day of the week. This class has been created to provide the limited vocabulary f... |
ncal:action - This property defines the action to be invoked when an alarm is triggered. Inspi... |
ncal:attach - The property provides the capability to associate a document object with a calen... |
ncal:attachmentContent - The uri of the attachment. Created to express the actual value of the ATTACH pro... |
ncal:attachmentUri - The uri of the attachment. Created to express the actual value of the ATTACH pro... |
ncal:attendee - The property defines an "Attendee" within a calendar component. Inspired by RFC ... |
ncal:byday - Weekdays the recurrence should occur. Defined in RFC 2445 sec. 4.3.10 |
ncal:bydayModifier - An integer modifier for the BYDAY rule part. Each BYDAY value can also be pre... |
ncal:bydayWeekday - Connects a BydayRulePath with a weekday. |
ncal:byhour - Hour of recurrence. Defined in RFC 2445 sec. 4.3.10 |
ncal:byminute - Minute of recurrence. Defined in RFC 2445 sec. 4.3.10 |
ncal:bymonth - Number of the month of the recurrence. Valid values are integers from 1 (January... |
ncal:bymonthday - Day of the month when the event should recur. Defined in RFC 2445 sec. 4.3.10 |
ncal:bysecond - Second of a recurrence. Defined in RFC 2445 sec. 4.3.10 |
ncal:bysetpos - The BYSETPOS rule part specify values which correspond to the nth occurrence wit... |
ncal:byweekno - The number of the week an event should recur. Defined in RFC 2445 sec. 4.3.10 |
ncal:byyearday - Day of the year the event should occur. Defined in RFC 2445 sec. 4.3.10 |
ncal:calscale - This property defines the calendar scale used for the calendar information speci... |
ncal:categories - Categories for a calendar component. Inspired by RFC 2445 sec 4.8.1.2 with the f... |
ncal:class - Defines the access classification for a calendar component. Inspired by RFC 2445... |
ncal:comment - Non-processing information intended to provide a comment to the calendar user. I... |
ncal:commentAltRep - Alternate representation of the comment. Introduced to cover the ALTREP paramet... |
ncal:completed - This property defines the date and time that a to-do was actually completed. Ins... |
ncal:component - Links the Vcalendar instance with the calendar components. This property has no ... |
ncal:contact - The property is used to represent contact information or alternately a reference... |
ncal:contactAltRep - Alternate representation of the contact property. Introduced to cover the ALTRE... |
ncal:count - How many times should an event be repeated. Defined in RFC 2445 sec. 4.3.10 |
ncal:created - This property specifies the date and time that the calendar information was crea... |
ncal:cutype - To specify the type of calendar user specified by the property. Inspired by RFC ... |
ncal:date - Date an instance of NcalDateTime refers to. It was conceived to express values i... |
ncal:dateTime - Representation of a date an instance of NcalDateTime actually refers to. It's pu... |
ncal:daylight - Links a timezone with it's daylight observance. This property has no direct equi... |
ncal:delegatedFrom - To specify the calendar users that have delegated their participation to the cal... |
ncal:delegatedTo - To specify the calendar users to whom the calendar user specified by the propert... |
ncal:description - A more complete description of the calendar component, than that provided by th... |
ncal:descriptionAltRep - Alternate representation of the calendar entity description. Introduced to cover... |
ncal:dir - Specifies a reference to a directory entry associated with the calendar user spe... |
ncal:dtend - This property specifies the date and time that a calendar component ends. Inspir... |
ncal:dtstamp - The property indicates the date/time that the instance of the iCalendar object w... |
ncal:dtstart - This property specifies when the calendar component begins. Inspired by RFC 2445... |
ncal:due - This property defines the date and time that a to-do is expected to be completed... |
ncal:duration - The property specifies a positive duration of time. Inspired by RFC 2445 sec. 4.... |
ncal:encoding - To specify an alternate inline encoding for the property value. Inspired by RFC ... |
ncal:eventStatus - Defines the overall status or confirmation for an Event. Based on the STATUS pro... |
ncal:exdate - This property defines the list of date/time exceptions for a recurring calendar ... |
ncal:exrule - This property defines a rule or repeating pattern for an exception to a recurren... |
ncal:fbtype - To specify the free or busy time type. Inspired by RFC 2445 sec. 4.2.9. The RFC ... |
ncal:fmttype - To specify the content type of a referenced object. Inspired by RFC 2445 sec. 4.... |
ncal:freebusy - The property defines one or more free or busy time intervals. Inspired by RFC 24... |
ncal:freq - Frequency of a recurrence rule. Defined in RFC 2445 sec. 4.3.10 |
ncal:geo - This property specifies information related to the global position for the activ... |
ncal:hasAlarm - Links an event or a todo with a DataObject that can be interpreted as an alarm. ... |
ncal:interval - The INTERVAL rule part contains a positive integer representing how often the re... |
ncal:involvedContact - A contact of the Attendee or the organizer involved in an event or other calenda... |
ncal:journalStatus - Defines the overall status or confirmation for a journal entry. Based on the STA... |
ncal:lastModified - The property specifies the date and time that the information associated with th... |
ncal:location - Defines the intended venue for the activity defined by a calendar component. Ins... |
ncal:locationAltRep - Alternate representation of the event or todo location. Introduced to cover the... |
ncal:member - To specify the group or list membership of the calendar user specified by the pr... |
ncal:method - This property defines the iCalendar object method associated with the calendar o... |
ncal:ncalRelation - A common superproperty for all types of ncal relations. It is not to be used dir... |
ncal:ncalTimezone - The timezone instance that should be used to interpret an NcalDateTime. The purp... |
ncal:organizer - The property defines the organizer for a calendar component. Inspired by RFC 244... |
ncal:partstat - To specify the participation status for the calendar user specified by the prope... |
ncal:percentComplete - This property is used by an assignee or delegatee of a to-do to convey the perce... |
ncal:periodBegin - Beginng of a period. Inspired by the first part of a structured value of the PER... |
ncal:periodDuration - Duration of a period of time. Inspired by the second part of a structured value ... |
ncal:periodEnd - End of a period of time. Inspired by the second part of a structured value of a ... |
ncal:priority - The property defines the relative priority for a calendar component. Inspired by... |
ncal:prodid - This property specifies the identifier for the product that created the iCalenda... |
ncal:range - To specify the effective range of recurrence instances from the instance specifi... |
ncal:rdate - This property defines the list of date/times for a recurrence set. Inspired by R... |
ncal:recurrenceId - This property is used in conjunction with the "UID" and "SEQUENCE" property to i... |
ncal:recurrenceIdDateTime - The date and time of a recurrence identifier. Provided to express the actual val... |
ncal:related - To specify the relationship of the alarm trigger with respect to the start or en... |
ncal:relatedToChild - The property is used to represent a relationship or reference between one calend... |
ncal:relatedToParent - The property is used to represent a relationship or reference between one calend... |
ncal:relatedToSibling - The property is used to represent a relationship or reference between one calend... |
ncal:repeat - This property defines the number of time the alarm should be repeated, after the... |
ncal:requestStatus - This property defines the status code returned for a scheduling request. Inspire... |
ncal:requestStatusData - Additional data associated with a request status. Inspired by the third part of ... |
ncal:resources - Defines the equipment or resources anticipated for an activity specified by a ca... |
ncal:resourcesAltRep - Alternate representation of the resources needed for an event or todo. Introduce... |
ncal:returnStatus - Short return status. Inspired by the first element of the structured value of th... |
ncal:role - To specify the participation role for the calendar user specified by the propert... |
ncal:rrule - This property defines a rule or repeating pattern for recurring events, to-dos, ... |
ncal:rsvp - To specify whether there is an expectation of a favor of a reply from the calend... |
ncal:sentBy - To specify the calendar user that is acting on behalf of the calendar user speci... |
ncal:sequence - This property defines the revision sequence number of the calendar component wit... |
ncal:standard - Links the timezone with the standard timezone observance. This property has no d... |
ncal:statusDescription - Longer return status description. Inspired by the second part of the structured ... |
ncal:summary - Defines a short summary or subject for the calendar component. Inspired by RFC 2... |
ncal:summaryAltRep - Alternate representation of the comment. Introduced to cover the ALTREP paramet... |
ncal:todoStatus - Defines the overall status or confirmation for a todo. Based on the STATUS prope... |
ncal:transp - Defines whether an event is transparent or not to busy time searches. Inspired ... |
ncal:trigger - This property specifies when an alarm will trigger. Inspired by RFC 2445 sec. 4.... |
ncal:triggerDateTime - The exact date and time of the trigger. This property has been created to expres... |
ncal:triggerDuration - The duration of a trigger. This property has been created to express the VALUE=D... |
ncal:tzid - This property specifies the text value that uniquely identifies the "VTIMEZONE" ... |
ncal:tzname - Specifies the customary designation for a timezone description. Inspired by RFC ... |
ncal:tzoffsetfrom - This property specifies the offset which is in use prior to this time zone obser... |
ncal:tzoffsetto - This property specifies the offset which is in use in this time zone observance.... |
ncal:tzurl - The TZURL provides a means for a VTIMEZONE component to point to a network locat... |
ncal:uid - This property defines the persistent, globally unique identifier for the calenda... |
ncal:until - The UNTIL rule part defines a date-time value which bounds the recurrence rule i... |
ncal:url - This property defines a Uniform Resource Locator (URL) associated with the iCale... |
ncal:version - This property specifies the identifier corresponding to the highest version numb... |
ncal:wkst - The day that's counted as the start of the week. It is used to disambiguate the ... |
Nepomuk Calendar Ontology (NCAL) has been designed to describe various entries usually found in calendars. These include events, tasks (todo's) and journal entries. It is an adaptation of the well known iCalendar specification published in 2002 as RFC 2445 [RFC2445]. This section begins with an outline of the previous attempts in adapting RFC 2445 to RDF. It gives an account of the issues with existing ICAL ontologies that make them unusable within Nepomuk. Following subsections describe the process adopted for the creation of NCAL and it's result - the classes and properties of the ontology. Proposed solutions to problems found in existing ICAL ontologies are presented. At the end, a list of known limitations of NCAL is given, followed by ideas for future work on improving NCAL.
The following sections make use of the vocabulary specified in RFC 2445. The reader is advised to get acquainted with it before continuing reading. A nice outline of the structure of iCalendar specification can be found in [ TIMBLICAL].
The need for a common vocabulary for describing calendaring information in RDF has been recognized early within the W3C RDF Interest Group. Organized activity has been started on 9th of October 2002 at the SWAD-Europe Workshop on the Semantic web and Calendaring in Bristol, UK. The report from this workshop [SWAD37] mentions earlier attempts by Tim Berners-Lee ([TIMBLICAL]), Arick and Miller ([ HYBRIDICAL]) and Dan Connoly ([ ANOTHERICAL ], [ PALMICAL]).
Work continued through a series of meetings. Numerous discussions were held using the www-rdf-calendar@w3.org mailing list. The archive is available at hereand the #rdfig channel on the Freenode IRC network. Logs of these discussions are available here.
After three years of research the group has produced two ontologies in OWL and a W3C Interest Group Note ([ ICALNOTE]) describing the design decisions that have been made. The first ontology, hosted under http://www.w3.org/2002/12/cal/icalis more popular, semantic web enthusiasts try to publish their calendars with this vocabulary, even though the creators themselves have abandoned it in favour of a newer one, hosted under http://www.w3.org/2002/12/cal/icaltzd. The main difference between these two lies in treatment of timezones. Many entities in the iCalendar data model contain various dates and times. They are usually accompanied by a timezone that should serve as a context to interpret them. The older ontology represents this fact with a 'tzid' property more in-line with the original representation. The newer one uses a controversial approach of representing the timezones as datatypes for literals.
In the rest of this section the older ontology will be referred to as ICAL ontology, whereas the newer one will be called the ICALTZD ontology to avoid confusion. TZD stands for ``TimeZones as Datatypes''. Whenever concrete properties from the ICAL ontology are referred, they will be given with the 'ical' prefix (e.g. ical:attendee). ICALTZD properties will use the 'icaltzd' prefix (e.g. icaltzd:component).
The ICALTZD ontology is newer and better developed. Therefore it was chosen to serve as a the model for NCAL. Numerous drawbacks have been identified in it though. This section gives an account of them. It is intended to provide justification for the decision not to use ICALTZD directly.
Most of the deficiencies of ICALTZD have been caused by the automatic process of its creation. It is automatically generated from the text of the RFC itself using a combination of a python script and an XSLT transformation. (Refer to [ ICALNOTE] for details). This process overlooks many details that cannot be extracted with a simple analysis of the structure of the document. They would require deeper understanding of the text itself, which is certainly beyond the capabilities of such simple tools. Following subsections explain four kinds of problems encountered when trying to use ICALTZD within Nepomuk: underspecification, bugs, superfluous elements and pieces of design that certainly cannot be considered errors in themselves but are nevertheless against the guidelines for NIE.
ICALTZD is underspecified. There are many places, where certain structural information is not explicitly stated within the ontology. The user needs to be aware of the 'conventions' adopted by the authors.
RFC 2445 specifies a generic model where each calendar property can be adorned with any number of parameters. Some properties (e.g. UID) don't accept any parameters. These can easily be modelled in RDF. Their ranges can be set to appropriate XML Schema datatypes. Other properties (e.g. Attendee) accept a number of parameters. They cannot be easily modelled in RDF because literals cannot serve as subjects of RDF triples. An intermediary node is necessary.
Using intermediary nodes to express property values poses two problems. The first one being the type of that node. ICALTZD uses untyped blank nodes for this purpose. This is against the recomendations for using property domains and ranges within Nepomuk Representational Language (See [ NRLSPEC] sec. 2.3.1). The Closed-World assumption adopted in NRL implies that domains and ranges are constrains that must be met. Untyped resources cannot be related in NRL.
Whenever such intermediary blank nodes are used as property values, the ICALTZD ontology doesn't specify the ranges of those properties at all. (e.g. in icaltzd:attach, icaltzd:dtend, icaltzd:dtstart, icaltzd:due, icaltzd:duration, icaltzd:exdate, icaltzd:exdate, icaltzd:rdate, icaltzd:recurrenceId, icaltzd:trigger, icaltzd:tzurl, icaltzd:url). It is worth noting that in some cases the ICALTZD ontology simplifies the model defined in RFC 2445 and discards some parameters. This happens for instance in 8 properties that use parameters for alternate representation (ALTREP) and language (LANGUAGE) namely: icaltzd:comment, icaltzd:description, icaltzd:location, icaltzd:resources, icaltzd:summary and icaltzd:contact. These simplifications are not documented anywhere. They can only be learned by observing the example files provided with the ontology.
An attempt has been made to develop a utility that would convert raw iCalendar files to an RDF representation conforming to the ICALTZD ontology. It was developed as an element of the Aperture Framework. Due to the underspecification of properties the developers had to document the conventions by themselves. Each property has been characterised with following attributes:
Possible parameters (according to the RFC 2445). Information if those parameters are allowed in the RDF representation or not, which is the case if the model has been simplified.
Information if a property points to a literal value (in which case all parameters specified in RFC 2445 are discarded) or to an untyped blank node.
URI of the property.
URI of a property used to link the intermediary blank node with the actual value of the property.
The last of those four characteristics is especially important since it constitutes the second of those two problems mentioned above. RFC 2445 allows for a property to have multiple value types. The actual type is indicated by a special parameter (VALUE). It is difficult to model this behavior in a general case. ICALTZD makes no attempt to formalize it and forces to user to learn the conventions expressed in examples.
Property parameters are modelled in ICALTZD as rdf properties with no domains and ranges specified at all. Because of that each parameter can just as well be applied to any property. The same applies to parameters of recurrence rules (RRULE and EXRULE property values). Their usage must be learned from the RFC 2445 or from the example files. The ontology itself contains too little information.
RFC 2445 specifies four properties that apply directly to the central Vcalendar object. These are icaltzd: prodid, icaltzd: calscale, icaltzd: method and icaltzd: version. They don't have their domain specified at all.
As said before many properties that accept parameters deserve to have a special classes as their ranges. From these four deserve to be mentioned separately. They are different from other structured values because they are described with their own vocabulary i.e. not with 'normal' ical parameters as defined in sec. 4.2 of RFC 2445.
RFC 2445 defines the concept of a timezone observance. Each timezone can have two observances - daylight and standard. This models a common practice to use different time in the winter and in the summer. Properties responsible for this in the ICALTZD ontology are icaltzd:daylight and icaltzd:standard. They don't have their ranges specified, even though RFC 2445 treats them as separate subcomponents within the timezone component. They are marked with a separate pair of BEGIN and END constructs. The ontology makes no provision for it being a separate class.
A similar situation occurs with recurrence rules i.e. values of RRULE and EXRULE properties. They define patterns for the repetition of a calendar event. ICALTZD doesn't mention them specifically. They are expressed as untyped blank nodes. Recurrence rule properties are attached to untyped blank nodes.
There are also two properties that don't accept any parameters, but their values are structured. That is a comma separated value of the GEO property, which signifies coordinates of a point, and a semicolon-separated value of the REQUEST-STATUS property.
Many properties and parameters defined in RFC 2445 (e.g. CLASS, STATUS, TRANSP, PARTSTAT, RELTYPE etc.) have a limited set of values. This is not expressed in the ICALTZD ontology. The user needs to learn those acceptable values by him- or herself in order to generate RDF that can be exported to a valid iCalendar file.
ICALTZD defines an icaltzd: component property to link the calendar with the components it contains. It is also used to link the events with their alarms but even though Timezone Observances also have their own BEGIN and END constructs, the icaltzd:component property is not used there. These usage patterns have been extracted from the example files provided by the authors of the ICALTZD ontology. The ontology itself doesn't define any domain or range for the icaltzd:component property.
Two problems have been identified when working with the ICALTZD ontology. The first one concerns the domain of the icaltzd:rrule property. It is defined as an anonymous owl union class.
<rdf:Description rdf:ID="rrule"> <rdfs:domain> <owl:Class rdf:nodeID="DomainOf_rrule"> .... </owl:Class> <rdfs:domain> ...</rdf:Description>
We see that the nodeID construct has been used. This means an identifier of a blank node. This might not have been the intention of the author though since two other properties icaltzd:recurrenceId and icaltzd:exdate refer to it, but they do it wrong.
<rdf:Description rdf:ID="recurrenceId"> <rdfs:domain> <owl:Class rdf:about="#DomainOf_rrule"/> </rdfs:domain></rdf:Description>
This construct refers to an URI, not to a blank node. The W3C RDF validatorinterprets the first example as:
subject: http://www.w3.org/2002/12/cal/icaltzd#rrulepredicate: http://www.w3.org/2000/01/rdf-schema#domainobject: genid:UDomainOf_rrule
Whereas the second example is interpreted as:
subject: http://www.w3.org/2002/12/cal/icaltzd#recurrenceIdpredicate: http://www.w3.org/2000/01/rdf-schema#domainobject: http://www.w3.org/2002/12/cal/icaltzd#DomainOf_rrule
Which is clearly not the same.
The second problem with ICALTZD are multiply defined ID's. The W3C RDF Validator finds 53 redefinitions of a previously defined identifiers. This fact has caused problems when working with the RIO 1.0 RDF Parser. It could potentially cause problems with other tools, even though semantically it makes no difference if a statement occurs once or multiple times within an RDF document.
There are also repetitions in OWL unions that describe the domains of properties.
An attempt has been made to model the datatypes of literals that serve as property values. A set of datatypes has been defined. These include icaltzd: Value_DATE-TIME, icaltzd: Value_CAL-ADDRESS, icaltzd: Value_PERIOD, icaltzd: Value_RECUR etc. They have been defined as rdfs: Datatype but there are no additional characteristics of them. In most cases they can safely be expressed with either xml schema datatypes or special-purpose classes. It is worth noting that the datatype for dates and times is defined twice: as icaltzd: Value_DATE-TIME and icaltzd: dateTime.
The most important fact, that inhibits the usability of ICALTZD within Nepomuk is that it is expressed in OWL. This violates the guideline expressed in Use NEPOMUK Representational Language. Even though OWL classes and properties could theoretically be interpreted as RDFS constructs, ICALTZD makes use of OWL unions, which have no equivalent in RDFS.
A second design decision that may be considered controversial is the timezones-as-datatypes idea. Whenever point in time is referenced it is described with a date, time and a timezone. The first two parts can be expressed with a single literal, formatted according to the XML Schema 'dateTime' format. The timezone though is expressed as the datatype of that literal. Example files provided with the ICALTZD ontology contain many entries similar to the following one:
<Vevent rdf:about="#D4F0202E-2F2F-11D7-A96C-000393161A98"> <summary>#rdfig calendar meeting</summary> <tstart rdf:datatype="http://www.w3.org/2002/12/cal/tzd/Europe/London#tz"> 2003-02-05T17:00:00 </dtstart> <dtend rdf:datatype="http://www.w3.org/2002/12/cal/tzd/Europe/London#tz"> 2003-02-05T18:00:00 </dtend> <description> Email www-rdf-calendar@w3.org with agenda suggestions. </description></Vevent>
As you can see the values dtstart and dtend properties have their timezones expressed as URIs. This approach has following disadvantages:
It relies on the timezone database provided by the authors.Available here. This database was created by converting the well-known Olson timezone databaseto RDF. This assumption works as long as the timezone identifiers used in in iCalendar files can easily be translated into URIs from that database. This is often the case, but there are no constraints specified in the RFC 2445 to reinforce that claim. The timezone identifiers are plain strings. The specification states that they should refer to timezone definitions that within the same file. RFC 2445 doesn't mention any centralised timezone database. There are perfectly correct iCalendar files that use timezone identifiers that cannot be easily (that is by simple string operations) mapped to those from the Olson database.
Instances of icaltzd:Vtimezone gathered in the timezone database are not instances of rdfs:Datatype. Using them as datatypes is dubious from the semantic point of view.
This approach makes it impossible to specify the datatype in the ontology itself. The user must learn to use this convention from other sources.
Tight integration between ontologies has been identified as one of the core requirements for NIE (see Integration of ontologies). ICALTZD makes no references to any specific ontology that would make it possible to link calendar events with actual contact information about attendees and organizers.
Issues outlined in the previous section led to a decision to create a new calendaring ontology for Nepomuk. The main goal was to solve the problems described above while retaining compatibility with Nepomuk guidelines.
Development of NCAL began with the ICALTZD ontology. A Java program has been written that transformed it into RDFS and performed some basic transformations. These transformations included:Solving the problem with the domain of rrule property. See
Adding the TimezoneObservance class and including it in domains of appropriated properties.
Removing the cardinality restrictions from class definitions.
Converting the owl unions to appropriate superclasses and adding the rdfs:subClassOf links.
Changing OWL classes and properties into RDFS classes and properties.
Converting all property ranges to XML Schema datatypes
Creating the RecurrenceRule class, adding it as a range of icaltzd:rrule and icaltzd:exrule properties. Setting the domain of all recurrence rule parameters appropriately.
Setting the domain of all four Vcalendar properties correctly.
It became clear that some properties require special classes as their ranges. They would provide explicit hooks to attach the property parameters. In order to get an overview of the needs the definitions of properties in RFC 2445 have been examined carefully. A table has been created with basic information about each property. It had following columns:
Name of the property.
Domain of the property.
Default type of the property value.
Additional possible types of the property value (does the property accept the VALUE parameter).
Does the value accept the timezone identifier parameter?
Other parameters (apart from VALUE and TZID).
Possible values. (If the property has a limited set of possible values).
Multiplicity. Whenever the RFC mentioned the fact that a property can be specified multiple times (or only once), or that it can have many comma-separated values - this fact was recorded.
Other important information.
This table quickly visualised the actual relations between properties and parameters. It enabled us to divide the ical properties into six groups. For each group an approach to represent it in RDF has been chosen.
Properties that accept the ALTREP and LANGUAGE parameters. It has been decided that creating a separate class just to have means to express the alternate representation would not be an elegant solution. Therefore for each property that can accept the ALTREP parameter (i.e. COMMENT, DESCRIPTION, LOCATION, RESOURCES, SUMMARY and CONTACT) a new 'altRep' property has been introduced (i.e. ncal:commentAltRep, ncal:descriptionAltRep, etc.). The LANGUAGE parameter has been removed from the ontology altogether. The user can express the same with language literals available in RDF.
Properties that accept no parameters, but have a limited set of values. This included CLASS, STATUS, TRANSP and ACTION. For each a separate class has been introduced. For each of those classes a set of instances has been created to represent the possible values of each property.
Properties that don't accept and don't have any restrictions on the set of possible values. This was the simplest case. The ranges of those properties have been set to an appropriate XML Schema datatype. (Apart from RRULE and EXRULE, which refer to a RecurrenceRule).
Properties that refer to a Universal Coordinated Time point. (COMPLETED, CREATED, DTSTAMP, LAST-MODIFIED). Their ranges have been set to the dateTime datatype defined in the XML Schema Definition.
Properties that refer to a time point in a concrete timezone (DTEND, DUE, DTSTART, EXDATE, RDATE). The problem of representing the timezone has been solved with the NcalDateTime class. Its properties enable it to be used whenever a DATE-TIME or DATE value is needed. It also provides three ways to express the timezone - a reference to a ncal:Timezoneinstance or a simple string.
Properties that require separate solutions. These included RECURRENCE-ID, TRIGGER, FREEBUSY, ATTENDEE, ORGANIZER, ATTACH, GEO, RELATED-TO. For each of those a separate class has been created and added to the range of the property and to the domain of appropriate parameters.
The overall structure of NCAL is in most respects similar to ICALTZD, which is thoroughly described in [ ICALNOTE]. NCAL only tries to clarify certain underspecified points, as outlined in the sections above. Following paragraphs describe two important changes that break the continuity with ICALTZD.
As already mentioned, NCAL introduces the NcalDateTime class (see ncal:NcalDateTime). It's purpose is to provide a more elegant way to link the time values with their timezones. It can also represent plain dates, which models the fact that four properties have two possible value types: date and date-time. It allows for a clean link between the time value and the timezone (expressed with the ncal:ncalTimezone). Since RFC states that each icalendar document MUST contain exact definitions of all timezones used, it can safely be assumed that all time values can refer to those definitions.
According to the guidelines for NIE (see Integration of ontologies), it is desirable to promote integration between ontologies. That's why ranges of two properties (namely: ncal:attendeeand ncal:organizerhave been equiped with links to the nco:Contact class from the Nepomuk Contact Ontology. This will facilitate integration between addressbooks and calendars.
ICALTZD used OWL unions to define domains of many properties. They don't have their equivalents in NRL, so another solution has been adopted. Each union is now represented as a separate class with whose name has been generated by concatenating the names of classes that comprise the union. (such as UnionOfEventFreebusy).
The reader may now feel the urge to give more "meaningful" (semantic) names to the union classes. It is difficult. The semantic meaning of a union class is defined by the properties that have it as a domain, and it was not possible for us to find a name for the Union classes based on the properies, as they are too diverse.
Nepomuk Calendaring Ontology doesn't capture the whole complexity of the data model defined by RFC 2445. Following limitations have been identified.
Usually in places where a limited set of values is referred to, one of those values is considered default. NCAL doesn't distinguish between default and non-default values.
If a parameter or a property has multiple sets of acceptable values depending on the context - this information is lost. For example the STATUS property can have different values depending on whether it has been applied to a Event, a Todo or a Journal instance. NCAL makes no such distinctions. All possible values are represented as instances of the same class.
Sets of acceptable parameters can also differ between various classes in the domain of a property (e.g. attendee of an alarm cannot have any parameters). NCAL doesn't capture this.
Extension tokens have been altogether ignored.
Rdf calendar - an application of the resource description framework to icalendar datal, Dan Connolly and Libby Miller, W3C Interest Group Note 29 September 2005 http://www.w3.org/TR/rdfcal/
Hybrid ical rdf schema, Michael Arick and Libby Miller http://www.ilrt.bris.ac.uk/discovery/2001/06/schemas/ical-full/hybrid.rdf
A quick look at icalendar, Tim Berners-Lee http://www.w3.org/2000/01/foo
Another icalendar model, Dan Connoly http://www.w3.org/2000/10/swap/pim/ical.rdf
Palm datebook, Dan Connoly http://www.w3.org/2000/08/palm56/datebook
Internet calendaring and scheduling core objects specification, Frank Dawson and Derik Stenerson http://www.ietf.org/rfc/rfc2445.txt
Swad-europe deliverable 3.7: Developer workshop report 2 - semantic web calendaring, Libby Miller http://www.w3.org/2001/sw/Europe/reports/dev_workshop_report_2/
Nepomuk Representational Language (NRL) Vocabulary Specification., Nepomuk Task-Force Ontologies, http://www.semanticdesktop.org/ontologies/nrl
Label | AccessClassification |
Description | Access classification of a calendar component. Introduced to express the set of values for the ncal:class property. The user may use instances provided with this ontology or create his/her own with desired semantics. See the documentation of ncal:class for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:class |
Instances | ncal:confidentialClassification, ncal:privateClassification, ncal:publicClassification |
Label | Alarm |
Description | Provide a grouping of component properties that define an alarm. |
Super-classes | ncal:UnionOfAlarmEventTodo (direct), ncal:UnionParentClass, ncal:UnionOfAlarmEventFreebusyTodo (direct), nie:InformationElement (direct), ncal:UnionOfAlarmEventJournalTodo (direct), ncal:UnionOfAlarmEventFreebusyJournalTodo (direct) |
Sub-classes | |
In domain of | ncal:repeat, ncal:action |
In range of |
Label | AlarmAction |
Description | Action to be performed on alarm. This class has been introduced to express the limited set of values of the ncal:action property. Please refer to the documentation of ncal:action for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:action |
Instances | ncal:audioAction, ncal:procedureAction, ncal:emailAction, ncal:displayAction |
Label | Attachment |
Description | An object attached to a calendar entity. This class has been introduced to serve as a structured value of the ncal:attach property. See the documentation of ncal:attach for details. |
Super-classes | nfo:EmbeddedFileDataObject, nie:DataObject, nfo:Attachment (direct), nfo:FileDataObject |
Sub-classes | |
In domain of | ncal:attachmentUri, ncal:attachmentContent, ncal:fmttype, ncal:encoding |
In range of | ncal:attach |
Label | AttachmentEncoding |
Description | Attachment encoding. This class has been introduced to express the limited vocabulary of values for the ncal:encoding property. See the documentation of ncal:encoding for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:encoding |
Instances | ncal:_8bitEncoding, ncal:base64Encoding |
Label | Attendee |
Description | An attendee of an event. This class has been introduced to serve as the range for ncal:attendee property. See documentation of ncal:attendee for details. |
Super-classes | ncal:AttendeeOrOrganizer (direct) |
Sub-classes | |
In domain of | ncal:member, ncal:partstat, ncal:cutype, ncal:delegatedTo, ncal:rsvp, ncal:delegatedFrom, ncal:role |
In range of | ncal:attendee |
Label | AttendeeOrOrganizer |
Description | A common superclass for ncal:Attendee and ncal:Organizer. |
Super-classes | |
Sub-classes | ncal:Organizer (direct), ncal:Attendee (direct) |
In domain of | ncal:sentBy, ncal:dir, ncal:involvedContact |
In range of |
Label | AttendeeRole |
Description | A role the attendee is going to play during an event. This class has been introduced to express the limited vocabulary for the values of ncal:role property. Please refer to the documentation of ncal:role for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:role |
Instances | ncal:chairRole, ncal:reqParticipantRole, ncal:nonParticipantRole, ncal:optParticipantRole |
Label | BydayRulePart |
Description | Expresses the compound value of a byday part of a recurrence rule. It stores the weekday and the integer modifier. Inspired by RFC 2445 sec. 4.3.10 |
Super-classes | |
Sub-classes | |
In domain of | ncal:bydayWeekday, ncal:bydayModifier |
In range of | ncal:byday |
Label | Calendar |
Description | A calendar. Inspirations for this class can be traced to the VCALENDAR component defined in RFC 2445 sec. 4.4, but it may just as well be used to represent any kind of Calendar. |
Super-classes | nie:InformationElement (direct) |
Sub-classes | |
In domain of | ncal:component, ncal:method, ncal:calscale, ncal:version, ncal:prodid |
In range of |
Label | CalendarDataObject |
Description | A DataObject found in a calendar. It is usually interpreted as one of the calendar entity types (e.g. Event, Journal, Todo etc.) |
Super-classes | nie:DataObject (direct) |
Sub-classes | |
In domain of | |
In range of | ncal:component, ncal:hasAlarm |
Label | CalendarScale |
Description | A calendar scale. This class has been introduced to provide the limited vocabulary for the ncal:calscale property. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:calscale |
Instances | ncal:gregorianCalendarScale |
Label | CalendarUserType |
Description | A calendar user type. This class has been introduced to express the limited vocabulary for the ncal:cutype property. See documentation of ncal:cutype for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:cutype |
Instances | ncal:individualUserType, ncal:roomUserType, ncal:resourceUserType, ncal:unknownUserType, ncal:groupUserType |
Label | Event |
Description | Provide a grouping of component properties that describe an event. |
Super-classes | ncal:UnionOfAlarmEventTodo (direct), ncal:UnionParentClass, ncal:UnionOfEventFreebusy (direct), ncal:UnionOfAlarmEventJournalTodo (direct), ncal:UnionOfEventJournalTodo (direct), ncal:UnionOfEventFreebusyJournalTodo (direct), ncal:UnionOfAlarmEventFreebusyTodo (direct), nie:InformationElement (direct), ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo (direct), ncal:UnionOfEventJournalTimezoneTodo (direct), ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo (direct), ncal:UnionOfEventTodo (direct), ncal:UnionOfAlarmEventFreebusyJournalTodo (direct), ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo (direct) |
Sub-classes | |
In domain of | ncal:transp, ncal:eventStatus |
In range of |
Label | EventStatus |
Description | A status of an event. This class has been introduced to express the limited set of values for the ncal:status property. The user may use the instances provided with this ontology or create his/her own. See the documentation for ncal:eventStatus for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:eventStatus |
Instances | ncal:cancelledEventStatus, ncal:confirmedStatus, ncal:tentativeStatus |
Label | Freebusy |
Description | Provide a grouping of component properties that describe either a request for free/busy time, describe a response to a request for free/busy time or describe a published set of busy time. |
Super-classes | ncal:UnionOfAlarmEventFreebusyTodo (direct), ncal:UnionParentClass, nie:InformationElement (direct), ncal:UnionOfEventFreebusyJournalTodo (direct), ncal:UnionOfEventFreebusy (direct), ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo (direct), ncal:UnionOfAlarmEventFreebusyJournalTodo (direct), ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo (direct) |
Sub-classes | |
In domain of | ncal:freebusy |
In range of |
Label | FreebusyPeriod |
Description | An aggregate of a period and a freebusy type. This class has been introduced to serve as a range of the ncal:freebusy property. See documentation for ncal:freebusy for details. Note that the specification of freebusy property states that the period is to be expressed using UTC time, so the timezone properties should NOT be used for instances of this class. |
Super-classes | ncal:NcalTimeEntity, ncal:NcalPeriod (direct) |
Sub-classes | |
In domain of | ncal:fbtype |
In range of | ncal:freebusy |
Label | FreebusyType |
Description | Type of a Freebusy indication. This class has been introduced to serve as a limited set of values for the ncal:fbtype property. See the documentation of ncal:fbtype for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:fbtype |
Instances | ncal:busyFreebusyType, ncal:busyUnavailableFreebusyType, ncal:freeFreebusyType, ncal:busyTentativeFreebusyType |
Label | Journal |
Description | Provide a grouping of component properties that describe a journal entry. |
Super-classes | ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo (direct), ncal:UnionParentClass, nie:InformationElement (direct), ncal:UnionOfEventFreebusyJournalTodo (direct), ncal:UnionOfEventJournalTimezoneTodo (direct), ncal:UnionOfAlarmEventFreebusyJournalTodo (direct), ncal:UnionOfAlarmEventJournalTodo (direct), ncal:UnionOfEventJournalTodo (direct), ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo (direct) |
Sub-classes | |
In domain of | ncal:journalStatus |
In range of |
Label | JournalStatus |
Description | A status of a journal entry. This class has been introduced to express the limited set of values for the ncal:status property. The user may use the instances provided with this ontology or create his/her own. See the documentation for ncal:journalStatus for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:journalStatus |
Instances | ncal:finalStatus, ncal:cancelledJournalStatus, ncal:draftStatus |
Label | NcalDateTime |
Description | |
Super-classes | ncal:NcalTimeEntity (direct) |
Sub-classes | |
In domain of | ncal:date, ncal:dateTime, ncal:ncalTimezone |
In range of | ncal:due, ncal:dtstart, ncal:dtend, ncal:recurrenceIdDateTime, ncal:exdate |
Mentioned in | Timezones |
Label | NcalPeriod |
Description | A period of time. Inspired by the PERIOD datatype specified in RFC 2445 sec. 4.3.9 |
Super-classes | ncal:NcalTimeEntity (direct) |
Sub-classes | ncal:FreebusyPeriod (direct) |
In domain of | ncal:periodEnd, ncal:periodDuration, ncal:periodBegin |
In range of |
Label | NcalTimeEntity |
Description | A time entity. Conceived as a common superclass for NcalDateTime and NcalPeriod. According to RFC 2445 both DateTime and Period can be interpreted in different timezones. The first case is explored in many properties. The second case is theoretically possible in ncal:rdate property. Therefore the timezone properties have been defined at this level. |
Super-classes | |
Sub-classes | ncal:FreebusyPeriod, ncal:NcalPeriod (direct), ncal:NcalDateTime (direct) |
In domain of | |
In range of | ncal:rdate |
Label | Organizer |
Description | An organizer of an event. This class has been introduced to serve as a range of ncal:organizer property. See documentation of ncal:organizer for details. |
Super-classes | ncal:AttendeeOrOrganizer (direct) |
Sub-classes | |
In domain of | |
In range of | ncal:organizer |
Label | ParticipationStatus |
Description | Participation Status. This class has been introduced to express the limited vocabulary of values for the ncal:partstat property. See the documentation of ncal:partstat for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:partstat |
Instances | ncal:declinedParticipationStatus, ncal:inProcessParticipationStatus, ncal:needsActionParticipationStatus, ncal:tentativeParticipationStatus, ncal:completedParticipationStatus, ncal:delegatedParticipationStatus, ncal:acceptedParticipationStatus |
Label | RecurrenceFrequency |
Description | Frequency of a recurrence rule. This class has been introduced to express a limited set of allowed values for the ncal:freq property. See the documentation of ncal:freq for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:freq |
Instances | ncal:hourly, ncal:secondly, ncal:monthly, ncal:minutely, ncal:daily, ncal:yearly, ncal:weekly |
Label | RecurrenceIdentifier |
Description | Recurrence Identifier. Introduced to provide a structure for the value of ncal:recurrenceId property. See the documentation of ncal:recurrenceId for details. |
Super-classes | |
Sub-classes | |
In domain of | ncal:recurrenceIdDateTime, ncal:range |
In range of | ncal:recurrenceId |
Label | RecurrenceIdentifierRange |
Description | Recurrence Identifier Range. This class has been created to provide means to express the limited set of values for the ncal:range property. See documentation for ncal:range for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:range |
Instances | ncal:thisAndPriorRange, ncal:thisAndFutureRange |
Label | RecurrenceRule |
Description | |
Super-classes | |
Sub-classes | |
In domain of | ncal:freq, ncal:byhour, ncal:bysetpos, ncal:bysecond, ncal:byminute, ncal:bymonth, ncal:bymonthday, ncal:byweekno, ncal:interval, ncal:count, ncal:byday, ncal:wkst, ncal:byyearday, ncal:until |
In range of | ncal:rrule, ncal:exrule |
Label | RequestStatus |
Description | Request Status. A class that was introduced to provide a structure for the value of ncal:requestStatus property. See documentation for ncal:requestStatus for details. |
Super-classes | |
Sub-classes | |
In domain of | ncal:requestStatusData, ncal:returnStatus, ncal:statusDescription |
In range of | ncal:requestStatus |
Label | TimeTransparency |
Description | Time transparency. Introduced to provide a way to express the limited vocabulary for the values of ncal:transp property. See documentation of ncal:transp for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:transp |
Instances | ncal:transparentTransparency, ncal:opaqueTransparency |
Label | Timezone |
Description | Provide a grouping of component properties that defines a time zone. |
Super-classes | ncal:UnionParentClass, nie:InformationElement (direct), ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo (direct), ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo (direct), ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo (direct), ncal:UnionOfEventJournalTimezoneTodo (direct) |
Sub-classes | |
In domain of | ncal:tzurl, ncal:daylight, ncal:tzid, ncal:standard |
In range of | ncal:ncalTimezone |
Mentioned in | NCAL Development process |
Label | TimezoneObservance |
Description | |
Super-classes | ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo (direct), ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo (direct), ncal:UnionParentClass, ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo (direct) |
Sub-classes | |
In domain of | ncal:tzname, ncal:tzoffsetfrom, ncal:tzoffsetto |
In range of | ncal:daylight, ncal:standard |
Label | Todo |
Description | Provide a grouping of calendar properties that describe a to-do. |
Super-classes | ncal:UnionOfEventTodo (direct), ncal:UnionOfAlarmEventTodo (direct), ncal:UnionParentClass, ncal:UnionOfAlarmEventJournalTodo (direct), ncal:UnionOfEventJournalTodo (direct), ncal:UnionOfEventFreebusyJournalTodo (direct), ncal:UnionOfAlarmEventFreebusyTodo (direct), nie:InformationElement (direct), ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo (direct), ncal:UnionOfEventJournalTimezoneTodo (direct), ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo (direct), ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo (direct), ncal:UnionOfAlarmEventFreebusyJournalTodo (direct) |
Sub-classes | |
In domain of | ncal:todoStatus, ncal:completed, ncal:percentComplete, ncal:due |
In range of |
Label | TodoStatus |
Description | A status of a calendar entity. This class has been introduced to express the limited set of values for the ncal:status property. The user may use the instances provided with this ontology or create his/her own. See the documentation for ncal:todoStatus for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:todoStatus |
Instances | ncal:cancelledTodoStatus, ncal:needsActionStatus, ncal:completedStatus, ncal:inProcessStatus |
Label | Trigger |
Description | An alarm trigger. This class has been created to serve as the range of ncal:trigger property. See the documentation for ncal:trigger for more details. |
Super-classes | |
Sub-classes | |
In domain of | ncal:related, ncal:triggerDateTime, ncal:triggerDuration |
In range of | ncal:trigger |
Label | TriggerRelation |
Description | The relation between the trigger and its parent calendar component. This class has been introduced to express the limited vocabulary for the ncal:related property. See the documentation for ncal:related for more details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:related |
Instances | ncal:endTriggerRelation, ncal:startTriggerRelation |
Label | UnionOfAlarmEventFreebusyJournalTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Freebusy (direct), ncal:Event (direct), ncal:Journal (direct), ncal:Alarm (direct), ncal:Todo (direct) |
In domain of | ncal:attendee |
In range of |
Label | UnionOfAlarmEventFreebusyTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Freebusy (direct), ncal:Event (direct), ncal:Alarm (direct), ncal:Todo (direct) |
In domain of | ncal:duration |
In range of |
Label | UnionOfAlarmEventJournalTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Journal (direct), ncal:Event (direct), ncal:Alarm (direct), ncal:Todo (direct) |
In domain of | ncal:summaryAltRep, ncal:attach, ncal:descriptionAltRep, ncal:description, ncal:summary |
In range of |
Label | UnionOfAlarmEventTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Event (direct), ncal:Alarm (direct), ncal:Todo (direct) |
In domain of | ncal:trigger |
In range of |
Label | UnionOfEventFreebusy |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Freebusy (direct), ncal:Event (direct) |
In domain of | ncal:dtend |
In range of |
Label | UnionOfEventFreebusyJournalTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Freebusy (direct), ncal:Journal (direct), ncal:Event (direct), ncal:Todo (direct) |
In domain of | ncal:contactAltRep, ncal:dtstamp, ncal:organizer, ncal:requestStatus, ncal:contact, ncal:url, ncal:uid |
In range of |
Label | UnionOfEventJournalTimezoneTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Journal (direct), ncal:Event (direct), ncal:Timezone (direct), ncal:Todo (direct) |
In domain of | ncal:recurrenceId, ncal:lastModified, ncal:exdate |
In range of |
Label | UnionOfEventJournalTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Event (direct), ncal:Journal (direct), ncal:Todo (direct) |
In domain of | ncal:class, ncal:relatedToChild, ncal:exrule, ncal:relatedToSibling, ncal:categories, ncal:created, ncal:sequence, ncal:relatedToParent, ncal:ncalRelation |
In range of |
Label | UnionOfEventTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Event (direct), ncal:Todo (direct) |
In domain of | ncal:locationAltRep, ncal:resourcesAltRep, ncal:resources, ncal:hasAlarm, ncal:priority, ncal:location, ncal:geo |
In range of |
Label | UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Timezone (direct), ncal:Freebusy (direct), ncal:Todo (direct), ncal:Event (direct), ncal:TimezoneObservance (direct), ncal:Journal (direct) |
In domain of | ncal:commentAltRep, ncal:comment |
In range of |
Label | UnionOfTimezoneObservanceEventFreebusyTimezoneTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Freebusy (direct), ncal:TimezoneObservance (direct), ncal:Event (direct), ncal:Timezone (direct), ncal:Todo (direct) |
In domain of | ncal:dtstart |
In range of |
Label | UnionOfTimezoneObservanceEventJournalTimezoneTodo |
Description | |
Super-classes | ncal:UnionParentClass (direct) |
Sub-classes | ncal:Journal (direct), ncal:TimezoneObservance (direct), ncal:Event (direct), ncal:Timezone (direct), ncal:Todo (direct) |
In domain of | ncal:rdate, ncal:rrule |
In range of |
Label | UnionParentClass |
Description | |
Super-classes | |
Sub-classes | ncal:UnionOfEventTodo (direct), ncal:UnionOfAlarmEventTodo (direct), ncal:Timezone, ncal:UnionOfEventFreebusyJournalTodo (direct), ncal:Freebusy, ncal:UnionOfAlarmEventJournalTodo (direct), ncal:Alarm, ncal:UnionOfEventJournalTodo (direct), ncal:Todo, ncal:UnionOfAlarmEventFreebusyTodo (direct), ncal:Event, ncal:TimezoneObservance, ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo (direct), ncal:UnionOfEventFreebusy (direct), ncal:UnionOfEventJournalTimezoneTodo (direct), ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo (direct), ncal:Journal, ncal:UnionOfAlarmEventFreebusyJournalTodo (direct), ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo (direct) |
In domain of | |
In range of |
Label | Weekday |
Description | Day of the week. This class has been created to provide the limited vocabulary for ncal:byday property. See the documentation for ncal:byday for details. |
Super-classes | |
Sub-classes | |
In domain of | |
In range of | ncal:bydayWeekday, ncal:wkst |
Instances | ncal:monday, ncal:saturday, ncal:tuesday, ncal:wednesday, ncal:thursday, ncal:friday, ncal:sunday |
Label | action |
Description | This property defines the action to be invoked when an alarm is triggered. Inspired by RFC 2445 sec 4.8.6.1. Originally this property had a limited set of values. They are expressed as instances of the AlarmAction class. |
Domain | ncal:Alarm |
Range | ncal:AlarmAction |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | attach |
Description | The property provides the capability to associate a document object with a calendar component. Defined in the RFC 2445 sec. 4.8.1.1 |
Domain | ncal:UnionOfAlarmEventJournalTodo |
Range | ncal:Attachment |
Cardinality | none |
Super-properties | nie:hasPart (direct), nie:relatedTo |
Sub-properties |
Label | attachmentContent |
Description | The uri of the attachment. Created to express the actual value of the ATTACH property defined in RFC 2445 sec. 4.8.1.1. This property expresses the BINARY datatype of that property. see ncal:attachmentUri for the URI datatype. |
Domain | ncal:Attachment |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | attachmentUri |
Description | The uri of the attachment. Created to express the actual value of the ATTACH property defined in RFC 2445 sec. 4.8.1.1. This property expresses the default URI datatype of that property. see ncal:attachmentContents for the BINARY datatype. |
Domain | ncal:Attachment |
Range | rdfs:Resource |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | attendee |
Description | The property defines an "Attendee" within a calendar component. Inspired by RFC 2445 sec. 4.8.4.1. Originally this property accepted many parameters. The Attendee class has been introduced to express them all. Note that NCAL is aligned with NCO. The actual value (of the CAL-ADDRESS type) is expressed as an instance of nco:Contact. Remember that the CN parameter has been removed from NCAL. Instead that value should be expressed using nco:fullname property of the above mentioned nco:Contact instance. The RFC stated that whenever this property is attached to a Valarm instance, the Attendee cannot have any parameters apart from involvedContact. |
Domain | ncal:UnionOfAlarmEventFreebusyJournalTodo |
Range | ncal:Attendee |
Cardinality | none |
Super-properties | |
Sub-properties | |
Mentioned in | Alignment with NCO |
Label | byday |
Description | Weekdays the recurrence should occur. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | ncal:BydayRulePart |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | bydayModifier |
Description | An integer modifier for the BYDAY rule part. Each BYDAY value can also be preceded by a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of the specific day within the MONTHLY or YEARLY RRULE. For example, within a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday within the month, whereas -1MO represents the last Monday of the month. If an integer modifier is not present, it means all days of this type within the specified frequency. For example, within a MONTHLY rule, MO represents all Mondays within the month. Inspired by RFC 2445 sec. 4.3.10 |
Domain | ncal:BydayRulePart |
Range | xsd:integer |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | bydayWeekday |
Description | Connects a BydayRulePath with a weekday. |
Domain | ncal:BydayRulePart |
Range | ncal:Weekday |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | byhour |
Description | Hour of recurrence. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | byminute |
Description | Minute of recurrence. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | bymonth |
Description | Number of the month of the recurrence. Valid values are integers from 1 (January) to 12 (December). Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | bymonthday |
Description | Day of the month when the event should recur. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | bysecond |
Description | Second of a recurrence. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | bysetpos |
Description | The BYSETPOS rule part specify values which correspond to the nth occurrence within the set of events specified by the rule. Valid values are 1 to 366 or -366 to -1. It MUST only be used in conjunction with another BYxxx rule part. For example "the last work day of the month" could be represented as: RRULE: FREQ=MONTHLY; BYDAY=MO, TU, WE, TH, FR; BYSETPOS=-1. Each BYSETPOS value can include a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of the specific occurrence within the set of events specified by the rule. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | byweekno |
Description | The number of the week an event should recur. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | byyearday |
Description | Day of the year the event should occur. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | calscale |
Description | This property defines the calendar scale used for the calendar information specified in the iCalendar object. Defined in RFC 2445 sec. 4.7.1 |
Domain | ncal:Calendar |
Range | ncal:CalendarScale |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | categories |
Description | Categories for a calendar component. Inspired by RFC 2445 sec 4.8.1.2 with the following reservations: The LANGUAGE parameter has been discarded. Please use xml:lang literals to express multiple languages. This property can specify multiple comma-separated categories. The order of categories doesn't matter. Please use a separate triple for each category. |
Domain | ncal:UnionOfEventJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | class |
Description | Defines the access classification for a calendar component. Inspired by RFC 2445 sec. 4.8.1.3 with the following reservations: this property has limited vocabulary. Possible values are: PUBLIC, PRIVATE and CONFIDENTIAL. The default is PUBLIC. Those values are expressed as instances of the AccessClassification class. The user may create his/her own if necessary. |
Domain | ncal:UnionOfEventJournalTodo |
Range | ncal:AccessClassification |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | comment |
Description | Non-processing information intended to provide a comment to the calendar user. Inspired by RFC 2445 sec. 4.8.1.4 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the commentAltRep property. |
Domain | ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | nie:comment (direct) |
Sub-properties |
Label | commentAltRep |
Description | Alternate representation of the comment. Introduced to cover the ALTREP parameter of the COMMENT property. See documentation of ncal:comment for details. |
Domain | ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties | |
Mentioned in | NCAL Development process |
Label | completed |
Description | This property defines the date and time that a to-do was actually completed. Inspired by RFC 2445 sec. 4.8.2.1. Note that the RFC allows ONLY UTC time values for this property. |
Domain | ncal:Todo |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | component |
Description | Links the Vcalendar instance with the calendar components. This property has no direct equivalent in the RFC specification. It has been introduced to express the containmnent relations. |
Domain | ncal:Calendar |
Range | ncal:CalendarDataObject |
Cardinality | none |
Super-properties | nie:hasPart (direct), nie:relatedTo |
Sub-properties |
Label | contact |
Description | The property is used to represent contact information or alternately a reference to contact information associated with the calendar component. Inspired by RFC 2445 sec. 4.8.4.2 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the contactAltRep property.RFC doesn't define any format for the string. |
Domain | ncal:UnionOfEventFreebusyJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | contactAltRep |
Description | Alternate representation of the contact property. Introduced to cover the ALTREP parameter of the CONTACT property. See documentation of ncal:contact for details. |
Domain | ncal:UnionOfEventFreebusyJournalTodo |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | count |
Description | How many times should an event be repeated. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | created |
Description | This property specifies the date and time that the calendar information was created by the calendar user agent in the calendar store. Note: This is analogous to the creation date and time for a file in the file system. Inspired by RFC 2445 sec. 4.8.7.1. Note that this property is a subproperty of nie:created. The domain of nie:created is nie:DataObject. It is not a superclass of UnionOf_Vevent_Vjournal_Vtodo, but since that union is conceived as an 'abstract' class, and in real-life all resources referenced by this property will also be DataObjects, than this shouldn't cause too much of a problem. Note that RFC allows ONLY UTC time values for this property. |
Domain | ncal:UnionOfEventJournalTodo |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | nao:created, nao:modified, nie:modified, nie:created (direct), nao:annotation |
Sub-properties |
Label | cutype |
Description | To specify the type of calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.3. This parameter has a limited vocabulary. The terms that may serve as values for this property have been expressed as instances of CalendarUserType class. The user may use instances provided with this ontology or create his own. |
Domain | ncal:Attendee |
Range | ncal:CalendarUserType |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | date |
Description | Date an instance of NcalDateTime refers to. It was conceived to express values in DATE datatype specified in RFC 2445 4.3.4 |
Domain | ncal:NcalDateTime |
Range | xsd:date |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | dateTime |
Description | Representation of a date an instance of NcalDateTime actually refers to. It's purpose is to express values in DATE-TIME datatype, as defined in RFC 2445 sec. 4.3.5 |
Domain | ncal:NcalDateTime |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | daylight |
Description | Links a timezone with it's daylight observance. This property has no direct equivalent in the RFC 2445. It has been inspired by the structure of the Vtimezone component defined in sec.4.6.5 |
Domain | ncal:Timezone |
Range | ncal:TimezoneObservance |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | delegatedFrom |
Description | To specify the calendar users that have delegated their participation to the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.4. Originally the value type for this property was CAL-ADDRESS. This has been expressed as nco:Contact to promote integration between NCAL and NCO. |
Domain | ncal:Attendee |
Range | nco:Contact |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | delegatedTo |
Description | To specify the calendar users to whom the calendar user specified by the property has delegated participation. Inspired by RFC 2445 sec. 4.2.5. Originally the value type for this parameter was CAL-ADDRESS. This has been expressed as nco:Contact to promote integration between NCAL and NCO. |
Domain | ncal:Attendee |
Range | nco:Contact |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | description |
Description | A more complete description of the calendar component, than that provided by the ncal:summary property.Inspired by RFC 2445 sec. 4.8.1.5 with following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the descriptionAltRep property. |
Domain | ncal:UnionOfAlarmEventJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | nao:description, nao:annotation, nie:description (direct) |
Sub-properties |
Label | descriptionAltRep |
Description | Alternate representation of the calendar entity description. Introduced to cover the ALTREP parameter of the DESCRIPTION property. See documentation of ncal:description for details. |
Domain | ncal:UnionOfAlarmEventJournalTodo |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties | |
Mentioned in | NCAL Development process |
Label | dir |
Description | Specifies a reference to a directory entry associated with the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.6. Originally the data type of the value of this parameter was URI (Usually an LDAP URI). This has been expressed as rdfs:resource. |
Domain | ncal:AttendeeOrOrganizer |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | dtend |
Description | This property specifies the date and time that a calendar component ends. Inspired by RFC 2445 sec. 4.8.2.2 |
Domain | ncal:UnionOfEventFreebusy |
Range | ncal:NcalDateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | dtstamp |
Description | The property indicates the date/time that the instance of the iCalendar object was created. Inspired by RFC 2445 sec. 4.8.7.1. Note that the RFC allows ONLY UTC values for this property. |
Domain | ncal:UnionOfEventFreebusyJournalTodo |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | dtstart |
Description | This property specifies when the calendar component begins. Inspired by RFC 2445 sec. 4.8.2.4 |
Domain | ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo |
Range | ncal:NcalDateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | due |
Description | This property defines the date and time that a to-do is expected to be completed. Inspired by RFC 2445 sec. 4.8.2.3 |
Domain | ncal:Todo |
Range | ncal:NcalDateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | duration |
Description | The property specifies a positive duration of time. Inspired by RFC 2445 sec. 4.8.2.5 |
Domain | ncal:UnionOfAlarmEventFreebusyTodo |
Range | xsd:duration |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | encoding |
Description | To specify an alternate inline encoding for the property value. Inspired by RFC 2445 sec. 4.2.7. Originally this property had a limited vocabulary. ('8BIT' and 'BASE64'). The terms of this vocabulary have been expressed as instances of the AttachmentEncoding class |
Domain | ncal:Attachment |
Range | ncal:AttachmentEncoding |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | status |
Description | Defines the overall status or confirmation for an Event. Based on the STATUS property defined in RFC 2445 sec. 4.8.1.11. |
Domain | ncal:Event |
Range | ncal:EventStatus |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | exdate |
Description | This property defines the list of date/time exceptions for a recurring calendar component. Inspired by RFC 2445 sec. 4.8.5.1 |
Domain | ncal:UnionOfEventJournalTimezoneTodo |
Range | ncal:NcalDateTime |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | exrule |
Description | This property defines a rule or repeating pattern for an exception to a recurrence set. Inspired by RFC 2445 sec. 4.8.5.2. |
Domain | ncal:UnionOfEventJournalTodo |
Range | ncal:RecurrenceRule |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | fbtype |
Description | To specify the free or busy time type. Inspired by RFC 2445 sec. 4.2.9. The RFC specified a limited vocabulary for the values of this property. The terms of this vocabulary have been expressed as instances of the FreebusyType class. The user can use instances provided with this ontology or create his own. |
Domain | ncal:FreebusyPeriod |
Range | ncal:FreebusyType |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | fmttype |
Description | To specify the content type of a referenced object. Inspired by RFC 2445 sec. 4.2.8. The value of this property should be an IANA-registered content type (e.g. application/binary) |
Domain | ncal:Attachment |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | freebusy |
Description | The property defines one or more free or busy time intervals. Inspired by RFC 2445 sec. 4.8.2.6. Note that the periods specified by this property can only be expressed with UTC times. Originally this property could have many comma-separated values. Please use a separate triple for each value. |
Domain | ncal:Freebusy |
Range | ncal:FreebusyPeriod |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | freq |
Description | Frequency of a recurrence rule. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | ncal:RecurrenceFrequency |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | geo |
Description | This property specifies information related to the global position for the activity specified by a calendar component. Inspired by RFC 2445 sec. 4.8.1.6 |
Domain | ncal:UnionOfEventTodo |
Range | http://www.w3.org/2003/01/geo/wgs84_pos#Point |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | hasAlarm |
Description | Links an event or a todo with a DataObject that can be interpreted as an alarm. This property has no direct equivalent in the RFC 2445. It has been provided to express this relation. |
Domain | ncal:UnionOfEventTodo |
Range | ncal:CalendarDataObject |
Cardinality | none |
Super-properties | nie:hasPart (direct), nie:relatedTo |
Sub-properties |
Label | interval |
Description | The INTERVAL rule part contains a positive integer representing how often the recurrence rule repeats. The default value is "1", meaning every second for a SECONDLY rule, or every minute for a MINUTELY rule, every hour for an HOURLY rule, every day for a DAILY rule, every week for a WEEKLY rule, every month for a MONTHLY rule andevery year for a YEARLY rule. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | xsd:integer |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | involvedContact |
Description | A contact of the Attendee or the organizer involved in an event or other calendar entity. This property has been introduced to express the actual value of the ATTENDEE and ORGANIZER properties. The contact will also represent the CN parameter of those properties. See documentation of ncal:attendee or ncal:organizer for more details. |
Domain | ncal:AttendeeOrOrganizer |
Range | nco:Contact |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | status |
Description | Defines the overall status or confirmation for a journal entry. Based on the STATUS property defined in RFC 2445 sec. 4.8.1.11. |
Domain | ncal:Journal |
Range | ncal:JournalStatus |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | lastModified |
Description | The property specifies the date and time that the information associated with the calendar component was last revised in the calendar store. Note: This is analogous to the modification date and time for a file in the file system. Inspired by RFC 2445 sec. 4.8.7.3. Note that the RFC allows ONLY UTC time values for this property. |
Domain | ncal:UnionOfEventJournalTimezoneTodo |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | location |
Description | Defines the intended venue for the activity defined by a calendar component. Inspired by RFC 2445 sec 4.8.1.7 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the locationAltRep property. |
Domain | ncal:UnionOfEventTodo |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | locationAltRep |
Description | Alternate representation of the event or todo location. Introduced to cover the ALTREP parameter of the LOCATION property. See documentation of ncal:location for details. |
Domain | ncal:UnionOfEventTodo |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | member |
Description | To specify the group or list membership of the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.11. Originally this parameter had a value type of CAL-ADDRESS. This has been expressed as nco:Contact to promote integration between NCAL and NCO |
Domain | ncal:Attendee |
Range | nco:Contact |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | method |
Description | This property defines the iCalendar object method associated with the calendar object. Defined in RFC 2445 sec. 4.7.2 |
Domain | ncal:Calendar |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | ncalRelation |
Description | A common superproperty for all types of ncal relations. It is not to be used directly. |
Domain | ncal:UnionOfEventJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties | ncal:relatedToParent (direct), ncal:relatedToChild (direct), ncal:relatedToSibling (direct) |
Label | ncalTimezone |
Description | The timezone instance that should be used to interpret an NcalDateTime. The purpose of this property is similar to the TZID parameter specified in RFC 2445 sec. 4.2.19 |
Domain | ncal:NcalDateTime |
Range | ncal:Timezone |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties | |
Mentioned in | Timezones |
Label | organizer |
Description | The property defines the organizer for a calendar component. Inspired by RFC 2445 sec. 4.8.4.3. Originally this property accepted many parameters. The Organizer class has been introduced to express them all. Note that NCAL is aligned with NCO. The actual value (of the CAL-ADDRESS type) is expressed as an instance of nco:Contact. Remember that the CN parameter has been removed from NCAL. Instead that value should be expressed using nco:fullname property of the above mentioned nco:Contact instance. |
Domain | ncal:UnionOfEventFreebusyJournalTodo |
Range | ncal:Organizer |
Cardinality | none |
Super-properties | |
Sub-properties | |
Mentioned in | Alignment with NCO |
Label | partstat |
Description | To specify the participation status for the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.12. Originally this parameter had three sets of allowed values. Which set applied to a particular case - depended on the type of calendar entity this parameter occured in. (event, todo, journal entry). This would be awkward to model in RDF so a single ParticipationStatus class has been introduced. Terms of the values vocabulary are expressed as instances of this class. Users are advised to pay attention which instances they use. |
Domain | ncal:Attendee |
Range | ncal:ParticipationStatus |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | percentComplete |
Description | This property is used by an assignee or delegatee of a to-do to convey the percent completion of a to-do to the Organizer. Inspired by RFC 2445 sec. 4.8.1.8 |
Domain | ncal:Todo |
Range | xsd:integer |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | periodBegin |
Description | Beginng of a period. Inspired by the first part of a structured value of the PERIOD datatype specified in RFC 2445 sec. 4.3.9 |
Domain | ncal:NcalPeriod |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | periodDuration |
Description | Duration of a period of time. Inspired by the second part of a structured value of the PERIOD datatype specified in RFC 2445 sec. 4.3.9. Note that a single NcalPeriod instance shouldn't have the periodEnd and periodDuration properties specified simultaneously. |
Domain | ncal:NcalPeriod |
Range | xsd:duration |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | periodEnd |
Description | End of a period of time. Inspired by the second part of a structured value of a PERIOD datatype specified in RFC 2445 sec. 4.3.9. Note that a single NcalPeriod instance shouldn't have the periodEnd and periodDuration properties specified simultaneously. |
Domain | ncal:NcalPeriod |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | priority |
Description | The property defines the relative priority for a calendar component. Inspired by RFC 2445 sec. 4.8.1.9 |
Domain | ncal:UnionOfEventTodo |
Range | xsd:integer |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | prodid |
Description | This property specifies the identifier for the product that created the iCalendar object. Defined in RFC 2445 sec. 4.7.2 |
Domain | ncal:Calendar |
Range | xsd:string |
Cardinality | none |
Super-properties | nie:generator (direct) |
Sub-properties |
Label | range |
Description | To specify the effective range of recurrence instances from the instance specified by the recurrence identifier specified by the property. It is intended to express the RANGE parameter specified in RFC 2445 sec. 4.2.13. The set of possible values for this property is limited. See also the documentation for ncal:recurrenceId for more details. |
Domain | ncal:RecurrenceIdentifier |
Range | ncal:RecurrenceIdentifierRange |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | rdate |
Description | This property defines the list of date/times for a recurrence set. Inspired by RFC 2445 sec. 4.8.5.3. Note that RFC allows both DATE, DATE-TIME and PERIOD values for this property. That's why the range has been set to NcalTimeEntity. |
Domain | ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo |
Range | ncal:NcalTimeEntity |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | recurrenceId |
Description | This property is used in conjunction with the "UID" and "SEQUENCE" property to identify a specific instance of a recurring "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property value is the effective value of the "DTSTART" property of the recurrence instance. Inspired by the RFC 2445 sec. 4.8.4.4 |
Domain | ncal:UnionOfEventJournalTimezoneTodo |
Range | ncal:RecurrenceIdentifier |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | recurrenceIdDateTime |
Description | The date and time of a recurrence identifier. Provided to express the actual value of the ncal:recurrenceId property. See documentation for ncal:recurrenceId for details. |
Domain | ncal:RecurrenceIdentifier |
Range | ncal:NcalDateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | related |
Description | To specify the relationship of the alarm trigger with respect to the start or end of the calendar component. Inspired by RFC 2445 4.2.14. The RFC has specified two possible values for this property ('START' and 'END') they have been expressed as instances of the TriggerRelation class. |
Domain | ncal:Trigger |
Range | ncal:TriggerRelation |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | relatedToChild |
Description | The property is used to represent a relationship or reference between one calendar component and another. Inspired by RFC 2445 sec. 4.8.4.5. Originally this property had a RELTYPE parameter. It has been decided to introduce three different properties to express the values of that parameter. This property expresses the RELATED-TO property with RELTYPE=CHILD parameter. |
Domain | ncal:UnionOfEventJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | ncal:ncalRelation (direct) |
Sub-properties |
Label | relatedToParent |
Description | The property is used to represent a relationship or reference between one calendar component and another. Inspired by RFC 2445 sec. 4.8.4.5. Originally this property had a RELTYPE parameter. It has been decided that it is more natural to introduce three different properties to express the values of that parameter. This property expresses the RELATED-TO property with no RELTYPE parameter (the default value is PARENT), or with explicit RELTYPE=PARENT parameter. |
Domain | ncal:UnionOfEventJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | ncal:ncalRelation (direct) |
Sub-properties |
Label | relatedToSibling |
Description | The property is used to represent a relationship or reference between one calendar component and another. Inspired by RFC 2445 sec. 4.8.4.5. Originally this property had a RELTYPE parameter. It has been decided that it is more natural to introduce three different properties to express the values of that parameter. This property expresses the RELATED-TO property with RELTYPE=SIBLING parameter. |
Domain | ncal:UnionOfEventJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | ncal:ncalRelation (direct) |
Sub-properties |
Label | repeat |
Description | This property defines the number of time the alarm should be repeated, after the initial trigger. Inspired by RFC 2445 sec. 4.8.6.2 |
Domain | ncal:Alarm |
Range | xsd:integer |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | requestStatus |
Description | This property defines the status code returned for a scheduling request. Inspired by RFC 2445 sec. 4.8.8.2. Original value of this property was a four-element structure. The RequestStatus class has been introduced to express it. In RFC 2445 this property could have the LANGUAGE parameter. This has been discarded in this ontology. Use xml:lang literals to express it if necessary. |
Domain | ncal:UnionOfEventFreebusyJournalTodo |
Range | ncal:RequestStatus |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | requestStatusData |
Description | Additional data associated with a request status. Inspired by the third part of the structured value for the REQUEST-STATUS property defined in RFC 2445 sec. 4.8.8.2 ("Textual exception data. For example, the offending property name and value or complete property line") |
Domain | ncal:RequestStatus |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | resources |
Description | Defines the equipment or resources anticipated for an activity specified by a calendar entity. Inspired by RFC 2445 sec. 4.8.1.10 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the resourcesAltRep property. This property specifies multiple resources. The order is not important. it is recommended to introduce a separate triple for each resource. |
Domain | ncal:UnionOfEventTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | resourcesAltRep |
Description | Alternate representation of the resources needed for an event or todo. Introduced to cover the ALTREP parameter of the resources property. See documentation for ncal:resources for details. |
Domain | ncal:UnionOfEventTodo |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | returnStatus |
Description | Short return status. Inspired by the first element of the structured value of the REQUEST-STATUS property described in RFC 2445 sec. 4.8.8.2. The short return status is a PERIOD character (US-ASCII decimal 46) separated 3-tuple of integers. For example, "3.1.1". The successive levels of integers provide for a successive level of status code granularity. The following are initial classes for the return status code. Individual iCalendar object methods will define specific return status codes for these classes. In addition, other classes for the return status code may be defined using the registration process defined later in this memo. 1.xx - Preliminary success. This class of status of status code indicates that the request has request has been initially processed but that completion is pending. 2.xx -Successful. This class of status code indicates that the request was completed successfuly. However, the exact status code can indicate that a fallback has been taken. 3.xx - Client Error. This class of status code indicates that the request was not successful. The error is the result of either a syntax or a semantic error in the client formatted request. Request should not be retried until the condition in the request is corrected. 4.xx - Scheduling Error. This class of status code indicates that the request was not successful. Some sort of error occurred within the calendaring and scheduling service, not directly related to the request itself. |
Domain | ncal:RequestStatus |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | role |
Description | To specify the participation role for the calendar user specified by the property. Inspired by the RFC 2445 sec. 4.2.16. Originally this property had a limited vocabulary for values. The terms of that vocabulary have been expressed as instances of the AttendeeRole class. |
Domain | ncal:Attendee |
Range | ncal:AttendeeRole |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | rrule |
Description | This property defines a rule or repeating pattern for recurring events, to-dos, or time zone definitions. sec. 4.8.5.4 |
Domain | ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo |
Range | ncal:RecurrenceRule |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | rsvp |
Description | To specify whether there is an expectation of a favor of a reply from the calendar user specified by the property value. Inspired by RFC 2445 sec. 4.2.17 |
Domain | ncal:Attendee |
Range | xsd:boolean |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | sentBy |
Description | To specify the calendar user that is acting on behalf of the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.18. The original data type of this property was a mailto: URI. This has been changed to nco:Contact to promote integration between NCO and NCAL. |
Domain | ncal:AttendeeOrOrganizer |
Range | nco:Contact |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | sequence |
Description | This property defines the revision sequence number of the calendar component within a sequence of revisions. Inspired by RFC 2445 sec. 4.8.7.4 |
Domain | ncal:UnionOfEventJournalTodo |
Range | xsd:integer |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | standard |
Description | Links the timezone with the standard timezone observance. This property has no direct equivalent in the RFC 2445. It has been inspired by the structure of the Vtimezone component defined in sec.4.6.5 |
Domain | ncal:Timezone |
Range | ncal:TimezoneObservance |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | statusDescription |
Description | Longer return status description. Inspired by the second part of the structured value of the REQUEST-STATUS property defined in RFC 2445 sec. 4.8.8.2 |
Domain | ncal:RequestStatus |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | summary |
Description | Defines a short summary or subject for the calendar component. Inspired by RFC 2445 sec 4.8.1.12 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the summaryAltRep property. |
Domain | ncal:UnionOfAlarmEventJournalTodo |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | summaryAltRep |
Description | Alternate representation of the comment. Introduced to cover the ALTREP parameter of the SUMMARY property. See documentation of ncal:summary for details. |
Domain | ncal:UnionOfAlarmEventJournalTodo |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | status |
Description | Defines the overall status or confirmation for a todo. Based on the STATUS property defined in RFC 2445 sec. 4.8.1.11. |
Domain | ncal:Todo |
Range | ncal:TodoStatus |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | transp |
Description | Defines whether an event is transparent or not to busy time searches. Inspired by RFC 2445 sec.4.8.2.7. Values for this property can be chosen from a limited vocabulary. To express this a TimeTransparency class has been introduced. |
Domain | ncal:Event |
Range | ncal:TimeTransparency |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | trigger |
Description | This property specifies when an alarm will trigger. Inspired by RFC 2445 sec. 4.8.6.3 Originally the value of this property could accept two types : duration and date-time. To express this fact a Trigger class has been introduced. It also has a related property to account for the RELATED parameter. |
Domain | ncal:UnionOfAlarmEventTodo |
Range | ncal:Trigger |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | triggerDateTime |
Description | The exact date and time of the trigger. This property has been created to express the VALUE=DATE, and VALUE=DATE-TIME parameters of the TRIGGER property. See the documentation for ncal:trigger for more details |
Domain | ncal:Trigger |
Range | xsd:dateTime |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | triggerDuration |
Description | The duration of a trigger. This property has been created to express the VALUE=DURATION parameter of the TRIGGER property. See documentation for ncal:trigger for more details. |
Domain | ncal:Trigger |
Range | xsd:duration |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | tzid |
Description | This property specifies the text value that uniquely identifies the "VTIMEZONE" calendar component. Inspired by RFC 2445 sec 4.8.3.1 |
Domain | ncal:Timezone |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | tzname |
Description | Specifies the customary designation for a timezone description. Inspired by RFC 2445 sec. 4.8.3.2 The LANGUAGE parameter has been discarded. Please xml:lang literals to express languages. Original specification for the domain of this property stated that it must appear within the timezone component. In this ontology the TimezoneObservance class has been itroduced to clarify this specification. |
Domain | ncal:TimezoneObservance |
Range | xsd:string |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | tzoffsetfrom |
Description | This property specifies the offset which is in use prior to this time zone observance. Inspired by RFC 2445 sec. 4.8.3.3. The original domain was underspecified. It said that this property must appear within a Timezone component. In this ontology a TimezoneObservance class has been introduced to clarify this specification. The original range was UTC-OFFSET. There is no equivalent among the XSD datatypes so plain string was chosen. |
Domain | ncal:TimezoneObservance |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | tzoffsetto |
Description | This property specifies the offset which is in use in this time zone observance. nspired by RFC 2445 sec. 4.8.3.4. The original domain was underspecified. It said that this property must appear within a Timezone component. In this ontology a TimezoneObservance class has been introduced to clarify this specification. The original range was UTC-OFFSET. There is no equivalent among the XSD datatypes so plain string was chosen. |
Domain | ncal:TimezoneObservance |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | tzurl |
Description | The TZURL provides a means for a VTIMEZONE component to point to a network location that can be used to retrieve an up-to- date version of itself. Inspired by RFC 2445 sec. 4.8.3.5. Originally the range of this property had been specified as URI. |
Domain | ncal:Timezone |
Range | rdfs:Resource |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | uid |
Description | This property defines the persistent, globally unique identifier for the calendar component. Inspired by the RFC 2445 sec 4.8.4.7 |
Domain | ncal:UnionOfEventFreebusyJournalTodo |
Range | xsd:string |
Maximum Cardinality | 1 |
Super-properties | nie:identifier (direct), nao:identifier |
Sub-properties |
Label | until |
Description | The UNTIL rule part defines a date-time value which bounds the recurrence rule in an inclusive manner. If the value specified by UNTIL is synchronized with the specified recurrence, this date or date-time becomes the last instance of the recurrence. If specified as a date-time value, then it MUST be specified in an UTC time format. If not present, and the COUNT rule part is also not present, the RRULE is considered to repeat forever. |
Domain | ncal:RecurrenceRule |
Range | xsd:dateTime |
Cardinality | none |
Super-properties | |
Sub-properties |
Label | url |
Description | This property defines a Uniform Resource Locator (URL) associated with the iCalendar object. Inspired by the RFC 2445 sec. 4.8.4.6. Original range had been specified as URI. |
Domain | ncal:UnionOfEventFreebusyJournalTodo |
Range | rdfs:Resource |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |
Label | version |
Description | This property specifies the identifier corresponding to the highest version number or the minimum and maximum range of the iCalendar specification that is required in order to interpret the iCalendar object. Defined in RFC 2445 sec. 4.7.4 |
Domain | ncal:Calendar |
Range | xsd:string |
Cardinality | none |
Super-properties | nie:generatorOption (direct) |
Sub-properties |
Label | wkst |
Description | The day that's counted as the start of the week. It is used to disambiguate the byweekno rule. Defined in RFC 2445 sec. 4.3.10 |
Domain | ncal:RecurrenceRule |
Range | ncal:Weekday |
Maximum Cardinality | 1 |
Super-properties | |
Sub-properties |