An event is an occurrence that people may attend.

1. Use cases & requirements

The Event class should have properties for:

  1. name

    1st Session of the 41st Parliament

  2. description

    Parliament convened on June 2, 2011, with the election of Andrew Scheer as Speaker, followed the next day with the Speech from the Throne.

  3. start date and time

    June 2nd, 2011

  4. end date and time

    September 13, 2013

  5. location

    House of Commons

  6. status

    Confirmed

  7. identifier

    1

  8. classification

    legislative session

  9. the organization responsible for the event

    Parliament of Canada

  10. attendees

    Members of Parliament

  11. parent event

    41st Parliament

2. Standard reuse

Dublin Core, Schema.org and NEPOMUK Calendar Ontology terms are retained from the inventory of terms.

2.1. Range restrictions

According to Schema.org, an event can be organized and attended by either people or organizations; in this data specification, only organizations can organize events, and only people can attend events.

3. Classes and properties

Term Mapping Definition
Event schema:Event An occurrence that people may attend
name schema:name The event's name
description schema:description The event's description
start time schema:startDate The time at which the event starts
end time schema:endDate The time at which the event ends
location schema:location The event's location
status schema:eventStatus The event's status
identifier dcterms:identifier An issued identifier, e.g. an Open Civic Data Division Identifier
classification ncal:categories The event's category
organization schema:organizer The organization organizing the event
attendee schema:attendee A person attending the event
parent event schema:superEvent An event that this event is a part of

4. Serialization

JSON differences from other RDF serializations:

  • The value of the location property is a string, instead of a schema:Place or schema:PostalAddress.
  • The term status is used instead of eventStatus, as the class name prefix is unnecessary and inconsistent with all other properties.
  • The value of the status property is a string, instead of a schema:EventStatusType.
  • The term identifiers is used instead of identifier and is serialized as an array of identifier objects.
  • The term classification is used instead of categories, to be consistent with the Organization class.
  • The term organization is used instead of organizer, to be consistent with the Membership class.
  • The term attendees is used instead of attendee, to agree with the grammatical number of other properties.
  • The term parent is used instead of superEvent, due to its popularity among ORMs.

5. Code lists

Status

Implementations may use values from outside the following lists.

The following is a copy of RFC 5545 (iCalendar)’s code list.

  • cancelled
  • confirmed
  • tentative

The following is a copy of Schema.org’s EventStatusType enumeration.

  • cancelled
  • postponed
  • rescheduled