Abstract

The Core Public Event Vocabulary is a simplified, reusable and extensible data model that captures the fundamental characteristics of a public event.

Introduction

The Core Public Event Vocabulary provides a minimum set of classes and properties for describing a public event , i.e. something that happens at a particular place and time, organised by one or more agents for a particular purpose, and is of interest to a general audience. This definition excludes natural events such as earthquakes and volcanic eruptions.

Status

This Core Vocabulary has the status SEMIC Candidate Recommendation published at 2024-01-31.

Information about the process and the decisions involved in the creation of this specification are consultable at the Changelog.

License

Copyright © 2024 European Union. All material in this repository is published under the license CC-BY 4.0, unless explicitly otherwise mentioned.

Terminology

A Core Vocabulary (CV) is a basic, reusable and extensible data specification that captures the fundamental characteristics of an entity in a context-neutral fashion. Its main objective is to provide terms to be reused in the broadest possible context. More information can be found on the SEMIC Style Guide.

This specification uses the following prefixes to shorten the URIs for readibility.
PrefixNamespace IRI
cvhttp://data.europa.eu/m8g/
dcthttp://purl.org/dc/terms/
foafhttp://xmlns.com/foaf/0.1/
locnhttp://www.w3.org/ns/locn#
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfshttp://www.w3.org/2000/01/rdf-schema#
skoshttp://www.w3.org/2004/02/skos/core#
timehttp://www.w3.org/2006/time#
xsdhttp://www.w3.org/2001/XMLSchema#

Overview

This document describes the usage of the following main entities for a correct usage of the Core Vocabulary:
| Address | Contact Point | Participation | Public Event |

The main entities are supported by:
| Agent | Document | Linguistic System | Temporal Entity |

And supported by these datatypes:
| Code | Integer | Literal | Text |

Main Entities

The main entities are those that form the core of the Core Vocabulary.

Address

Definition
A spatial object that in a human-readable way identifies a fixed location.
Usage Note
An "address representation" as conceptually defined by the INSPIRE Address Representation data type: "Representation of an address spatial object for use in external application schemas that need to include the basic, address information in a readable way.".

The representation of Addresses varies widely from one country's postal system to another. Even within countries, there are almost always examples of Addresses that do not conform to the stated national standard. However, ISO 19160-1 provides a method through which different Addresses can be converted from one conceptual model to another.

This specification was heavily based on the INSPIRE Address Representation data type. It is noteworthy that if an Address is provided using the detailed breakdown suggested by the properties for this class, then it will be INSPIRE-conformant. To this very granular set of properties, we add two further properties:

- full address (the complete address as a formatted string)
- addressID (a unique identifier for the address).

The first of these allows publishers to simply provide the complete Address as one string, with or without formatting. This is analogous to vCard's label property.

The addressID is part of the INSPIRE guidelines and provides a hook that can be used to link the Address to an alternative representation, such as vCard or OASIS xAL.

This class belongs to Core Location Vocabulary
Properties
For this entity the following properties are defined: address area , address ID , administrative unit level 1 , administrative unit level 2 , full address , locator designator , locator name , post code , post name , post office box , thoroughfare .
Property Range Card Definition Usage
[o] address area Text 0..* The name of a geographic area that groups Addresses. This would typically be part of a city, a neighbourhood or village, e.g. Montmartre. Address area is not an administrative unit.
[o] address ID Literal 0..* A globally unique identifier for each instance of an Address. The concept of adding a globally unique identifier for each instance of an address is a crucial part of the INSPIRE data spec. A number of EU countries have already implemented an ID (a UUID) in their Address Register/gazetteer, among them Denmark. OASIS xAL also includes an address identifier. It is the address Identifier that allows an address to be represented in a format other than INSPIRE whilst remaining conformant to the Core Vocabulary.

The INSPIRE method of representing addresses is very detailed, designed primarily for use in databases of addresses. Whilst data that is published in full conformance with the INSPIRE data structure can be made available using theCore Location Vocabulary the reverse is not true since the Core Vocabulary allows much greater flexibility.

Many datasets that include address data as one piece of information about something else are likely to have that data in simpler formats. These might be tailored to the specific need of the dataset, follow a national norm, or make use of a standard like vCard.

To provide maximum flexibility in the Core Vocabulary, whilst remaining interoperable with INSPIRE Address Guidelines (which EU Member States are obliged to use), the Core Location Vocabulary provides the extra property of full address and makes use of INSPIRE's addressID.
[o] administrative unit level 1 Text 0..* The name of the uppermost level of the address, almost always a country. Best practice is to use the ISO 3166-1 code but if this is inappropriate for the context, country names should be provided in a consistent manner to reduce ambiguity. For example, either write 'France' or 'FRA' consistently throughout the dataset and avoid mixing the two. The Country controlled vocabulary from the Publications Office can be reused for this.
[o] administrative unit level 2 Text 0..* The name of a secondary level/region of the address, usually a county, state or other such area that typically encompasses several localities. Values could be a region or province, more granular than level 1.
[o] full address Text 0..* The complete address written as a string. Use of this property is recommended as it will not suffer any misunderstandings that might arise through the breaking up of an address into its component parts. This property is analogous to vCard's label property but with two important differences: (1) formatting is not assumed so that, unlike vCard label, it may not be suitable to print this on an address label, (2) vCard's label property has a domain of vCard Address; the fullAddress property has no such restriction. An example of a full address is "Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France".
[o] locator designator Literal 0..* A number or sequence of characters that uniquely identifies the locator within the relevant scope. In simpler terms, this is the building number, apartment number, etc. For an address such as "Flat 3, 17 Bridge Street", the locator is "flat 3, 17".
[o] locator name Text 0..* Proper noun(s) applied to the real world entity identified by the locator. The locator name could be the name of the property or complex, of the building or part of the building, or it could be the name of a room inside a building. The locator name could be the name of the property or complex, of the building or part of the building, or it could be the name of a room inside a building.

The key difference between a locator designator and a locator name is that the latter is a proper name and is unlikely to include digits. For example, "Shumann, Berlaymont" is a meeting room within the European Commission headquarters for which locator name is more appropriate than locator.
[o] post code Literal 0..* The code created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points. Post codes are common elements in many countries' postal address systems. One of the many post codes of Paris is for example "75000".
[o] post name Text 0..* A name created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points. Usually a city, for example "Paris".
[o] post office box Literal 0..* A location designator for a postal delivery point at a post office, usually a number. INSPIRE's name for this is "postalDeliveryIdentifier" for which it uses the locator designator property with a type attribute of that name. This vocabulary separates out the Post Office Box for greater independence of technology. An example post office box number is "9383".
[o] thoroughfare Text 0..* The name of a passage or way through from one location to another. A thoroughfare is usually a street, but it might be a waterway or some other feature. For example, "Avenue des Champs-Élysées".

Contact Point

Definition
Information (e.g. e-mail address, telephone number) of a person or department through which the user can get in touch with.
Usage Note
The Core Public Organization Vocabulary defines properties for telephone number, e-mail address and opening hours although it is noteworthy that the class is based on schema.org's ContactPoint class that has additional properties that some implementations may find useful.
Properties
For this entity the following properties are defined: availability restriction , contact page , has email , has telephone , opening hours .
Property Range Card Definition Usage
[o] availability restriction Temporal Entity 0..* The time during which the Contact Point is not available.
[o] contact page Document 0..* A web page that could be used to reach out the Contact Point.
[o] has email Literal 0..* An electronic address through which the Contact Point can be contacted.
[o] has telephone Literal 0..* A telephone number through which the Contact Point can be contacted.
[o] opening hours Temporal Entity 0..* The time at which the Contact Point is normally available.

Participation

Definition
The Participation class allows to define roles within a certain context.
Properties
For this entity the following properties are defined: description , has participant , has time , identifier , role .
Property Range Card Definition Usage
[o] description Text 0..* A textual explanation of the Participation.
[o] has participant Agent 0..* The Agent involved in the Participation.
[o] has time Temporal Entity 0..* The association of a temporal entity (instant or interval) to any thing.
[o] identifier Literal 0..* The unambiguous structured reference for the Participation.
[o] role Code 0..* The function of an Agent within a Participation.

Public Event

Definition
Something that happens at a particular place and time, organised by one or more agents for a particular purpose, and is of interest to a general audience. This definition excludes natural events such as earthquakes and volcanic eruptions.
Properties
For this entity the following properties are defined: accessibility , address , audience , contact point , description , event number , event status , event type , expected number of participants , format , has next event , has participation , has previous event , has time , homepage , identifier , language , parent event , registration page , sub event , title , topic .
Property Range Card Definition Usage
[o] accessibility Text 0..* Information about how the Public Event can be approached, reached or entered, in particular for people with special needs. This property may be provided in multiple languages with multiple instances of the accessibility property.
[o] address Address 0..* Associates any Resource with the corresponding Address. Asserting the address relationship implies that the Resource has an Address.
[o] audience Code 0..* The target group of people for whom the Public Event is created.
[o] contact point Contact Point 0..* The main contact information of the resource. Usually a phone number and e-mail address. Other contact methods may be included, including online contact information, but this is conceptually distinct from the organization's homepage that may or may not provide contact information.
[o] description Text 0..* A textual explanation of the Pulblic Event. Descriptions may be provided in multiple languages with multiple instances of the description property.
[o] event number Text 0..* The sequence position of the Public Event. Examples could be the ''4th" or "2022".
[o] event status Code 0..* This property defines the overall status of the event. The recomended code list is the Event Status Controlled vocabulary maintained by the Publications Office of the EU.
[o] event type Code 0..* The nature or genre of the Public Event. Examples include conferences and summits, meetings, exhibitions, and public debates. The eventType property links the event to a SKOS Concept that provides a classification. An existing classification from Publications Office could be used, see Public Event Type.
[o] expected number of participants Integer 0..* The number of participants expected to participate in the event.
[o] format Code 0..* A plan of organisation or arrangement of the Public Event. Examples include conference call, physical meeting or hybrid.
[o] has next event Public Event 0..* The Public Event that comes after this one.
[o] has participation Participation 0..* The way how a resource is organized.
[o] has previous event Public Event 0..* The Public Event that comes before this one.
[o] has time Temporal Entity 0..* The association of a temporal entity (instant or interval) to any thing. This property can be used to specify date or time of a Public Event via the Temporal Entity class, see the date time example from the Time ontology.
[o] homepage Document 0..* The website of the Public Event. The value of this property is a URL.
[o] identifier Literal 0..* The unambiguous structured reference for the Public Event.
[o] language Linguistic System 0..* The language in which the Public Event is given. The recommended controlled vocabularies for this property is the Language Authority Table of the Publications Office.
[o] parent event Public Event 0..* A relation to another Public Event that encompasses it.
[o] registration page Document 0..* A web page that provides means to attend the Public Event.
[o] sub event Public Event 0..* A relation towards another Public Event that belong to it.
[o] title Text 0..* The name given to the Public Event. Titles may be provided in multiple languages with multiple instances of the title property.
[o] topic Code 0..* The subject of the Public Event. Examples include culture, sport or tourism.

Supportive Entities

The supportive entities are supporting the main entities in the Core Vocabulary. They are included in the Core Vocabulary because they form the range of properties.

Agent

Definition
Entity that is able to carry out action.
Usage Note
In compliance with the description from FOAF, an Agent is considered as any entity that is able to carry out actions. The Agent class acts as a generic element which can be further specified by implementers for their usages, for example by defining the Person class from the Core Person Vocabulary or Organization from W3C's Organization Ontology as a subclasses of Agent. This Person or Organization can then issue a certain Requirement or be concerned by an Evidence provided.
Properties
For this entity the following properties are defined: address , name , participates , type .
Property Range Card Definition Usage
[o] address Address 0..* Associates any Resource with the corresponding Address.
[o] name Text 0..* The noun given to the Agent.
[o] participates Participation 0..* The participation in which an Agent is involved.
[o] type Code 0..* A classification assigned to an Agent.

Document

Definition
A self-contained collection of information in a readable format.
Usage Note
In alignment with FOAF, there is no distinction between physical and electronic documents, or between copies of a work and the abstraction those copies embody.
Properties
This specification does not impose any additional requirements to properties for this entity.

Linguistic System

Definition
A system of signs, symbols, sounds, gestures, or rules used in communication.
Properties
This specification does not impose any additional requirements to properties for this entity.

Temporal Entity

Definition
A temporal interval or instant.
Properties
For this entity the following properties are defined: description , frequency .
Property Range Card Definition Usage
[o] description Text 0..* A textual representation of the Temporal Entity.
[o] frequency Code 0..* The recurrence of an instant or period. It is recommended to use the frequency from an existing vocabulary like the Frequency from the Publications Office.

Datatypes

The following datatypes are used within this specification.
Class Definition
(create issue) An idea or notion; a unit of thought.
(create issue) Integer is ·derived· from decimal by fixing the value of ·fractionDigits· to be 0 and disallowing the trailing decimal point. This results in the standard mathematical concept of the integer numbers. The ·value space· of integer is the infinite set {...,-2,-1,0,1,2,...}. The ·base type· of integer is decimal.
(create issue) The class of literal values, eg. textual strings and integers.
(create issue) The text data type is a combination of a string and a language identifier.

Examples

Example Public Event

Usage Guidelines

Support for implementation

The following section provides support for implementing the Core Public Event Vocabulary.

JSON-LD context file

One common technical question is the format in which the data is being exchanged. For conformance with the Core Public Event Vocabulary, it is not mandatory that this happens in a RDF serialisation, but the exhanged format SHOULD be unambiguously be transformable into RDF. For the format JSON, a popular format to exchange data between systems, SEMIC provides a JSON-LD context file. JSON-LD is a W3C Recommendation [[[json-ld11]]] that provided a standard approach to interpret JSON structures as RDF. The provided JSON-LD context file can be used by implementers. This JSON-LD context is not normative, i.e. other JSON-LD contexts are allowed.

The JSON-LD context file downloadable here.

Validation

To verify if the data is (technically) conformant to the Core Public Event Vocabulary, the exchanged data can be validated using the provided SHACL shapes. SHACL is a W3C Recommendation to express constraints on a RDF knowledge graph.

To support the check whether or not a catalogue satisfies the expressed constraints in this Core Vocabulary, the constraints in this specification are expressed using SHACL [[shacl]]. Each constraint in this specification that could be converted into a SHACL expression has been included. As such this collection of SHACL expressions that can be used to build a validation check for data.

It is up to the implementers to define the validation they expect. Each implementation happens within a context, and that context is beyond the SHACL expressions here.

The shapes can be found here.

RDF representation

The RDF representation of the Core Public Event Vocabulary is available here.

UML representation

The UML representation from which the Core Public Event Vocabulary has been build is available here.

Governance

Versioning governance

All specifications produced in SEMIC will follow the versioning rule described by the SEMIC Style Guide rule PC-R3. In case a SEMIC asset is deprecated the asset will remain available through its PURI.

The serialisation will have:

Governance requirements for re-used assets

In order to adhere to the SEMIC Style Guide rule GC-R2 a specification should have quality and governance standards for the assets that are being reused.

In order for an asset to be considered for reuse within a SEMIC specification it can be requested by a community member or it requires to adhere to the following requirements:

After being taken into consideration the asset will be validated in three steps:

Once considered and validated an asset can be adopted if it is approved by the community.

Lexicalisation rules

In order to adhere to the SEMIC Style Guide rule SC-R3 a specification requires formal lexicalisation rules. The Style Guide proposes two options either by using RDFS or SKOS lexicalisation.

SEMIC uses and will use the RDFS lexicalisation for all of its specifications. More specifically:

Mappings

A mapping towards Schema.org can be found here.

Quick Reference of Classes and Properties

This section provides a condensed tabular overview of the mentioned classes and properties in this specification. The properties are indicated as mandatory, recommended, optional and deprecated. These terms have the following meaning.
ClassClass IRIProperty TypePropertyProperty IRI
Address
http://www.w3.org/ns/locn#Address
address area
http://www.w3.org/ns/locn#addressArea
Address
http://www.w3.org/ns/locn#Address
address ID
http://www.w3.org/ns/locn#addressId
Address
http://www.w3.org/ns/locn#Address
administrative unit level 1
http://www.w3.org/ns/locn#adminUnitL1
Address
http://www.w3.org/ns/locn#Address
administrative unit level 2
http://www.w3.org/ns/locn#adminUnitL2
Address
http://www.w3.org/ns/locn#Address
full address
http://www.w3.org/ns/locn#fullAddress
Address
http://www.w3.org/ns/locn#Address
locator designator
http://www.w3.org/ns/locn#locatorDesignator
Address
http://www.w3.org/ns/locn#Address
locator name
http://www.w3.org/ns/locn#locatorName
Address
http://www.w3.org/ns/locn#Address
post code
http://www.w3.org/ns/locn#postCode
Address
http://www.w3.org/ns/locn#Address
post name
http://www.w3.org/ns/locn#postName
Address
http://www.w3.org/ns/locn#Address
post office box
http://www.w3.org/ns/locn#poBox
Address
http://www.w3.org/ns/locn#Address
thoroughfare
http://www.w3.org/ns/locn#thoroughfare
Agent
http://xmlns.com/foaf/0.1/Agent
address
http://www.w3.org/ns/locn#address
Agent
http://xmlns.com/foaf/0.1/Agent
name
http://purl.org/dc/terms/title
Agent
http://xmlns.com/foaf/0.1/Agent
participates
http://data.europa.eu/m8g/participates
Agent
http://xmlns.com/foaf/0.1/Agent
type
http://purl.org/dc/terms/type
Contact Point
http://data.europa.eu/m8g/ContactPoint
availability restriction
http://data.europa.eu/m8g/specialOpeningHoursSpecification
Contact Point
http://data.europa.eu/m8g/ContactPoint
contact page
http://data.europa.eu/m8g/contactPage
Contact Point
http://data.europa.eu/m8g/ContactPoint
has email
http://data.europa.eu/m8g/email
Contact Point
http://data.europa.eu/m8g/ContactPoint
has telephone
http://data.europa.eu/m8g/telephone
Contact Point
http://data.europa.eu/m8g/ContactPoint
opening hours
http://data.europa.eu/m8g/openingHours
Document
http://xmlns.com/foaf/0.1/Document
Linguistic System
http://purl.org/dc/terms/LinguisticSystem
Participation
http://data.europa.eu/m8g/Participation
description
http://purl.org/dc/terms/description
Participation
http://data.europa.eu/m8g/Participation
has participant
http://data.europa.eu/m8g/hasParticipant
Participation
http://data.europa.eu/m8g/Participation
has time
http://www.w3.org/2006/time#hasTime
Participation
http://data.europa.eu/m8g/Participation
identifier
http://purl.org/dc/terms/identifier
Participation
http://data.europa.eu/m8g/Participation
role
http://data.europa.eu/m8g/role
Public Event
http://data.europa.eu/m8g/PublicEvent
accessibility
http://data.europa.eu/m8g/accessibility
Public Event
http://data.europa.eu/m8g/PublicEvent
address
http://www.w3.org/ns/locn#address
Public Event
http://data.europa.eu/m8g/PublicEvent
audience
http://data.europa.eu/m8g/audience
Public Event
http://data.europa.eu/m8g/PublicEvent
contact point
http://data.europa.eu/m8g/contactPoint
Public Event
http://data.europa.eu/m8g/PublicEvent
description
http://purl.org/dc/terms/description
Public Event
http://data.europa.eu/m8g/PublicEvent
event number
http://data.europa.eu/m8g/eventNumber
Public Event
http://data.europa.eu/m8g/PublicEvent
event status
http://data.europa.eu/m8g/eventStatus
Public Event
http://data.europa.eu/m8g/PublicEvent
event type
http://purl.org/dc/terms/type
Public Event
http://data.europa.eu/m8g/PublicEvent
expected number of participants
http://data.europa.eu/m8g/expectedNumberOfParticipants
Public Event
http://data.europa.eu/m8g/PublicEvent
format
http://data.europa.eu/m8g/format
Public Event
http://data.europa.eu/m8g/PublicEvent
has next event
http://data.europa.eu/m8g/hasNextEvent
Public Event
http://data.europa.eu/m8g/PublicEvent
has participation
http://data.europa.eu/m8g/hasParticipation
Public Event
http://data.europa.eu/m8g/PublicEvent
has previous event
http://data.europa.eu/m8g/hasPreviousEvent
Public Event
http://data.europa.eu/m8g/PublicEvent
has time
http://www.w3.org/2006/time#hasTime
Public Event
http://data.europa.eu/m8g/PublicEvent
homepage
http://xmlns.com/foaf/0.1/homepage
Public Event
http://data.europa.eu/m8g/PublicEvent
identifier
http://purl.org/dc/terms/identifier
Public Event
http://data.europa.eu/m8g/PublicEvent
language
http://purl.org/dc/terms/language
Public Event
http://data.europa.eu/m8g/PublicEvent
parent event
http://data.europa.eu/m8g/parentEvent
Public Event
http://data.europa.eu/m8g/PublicEvent
registration page
http://data.europa.eu/m8g/registrationPage
Public Event
http://data.europa.eu/m8g/PublicEvent
sub event
http://data.europa.eu/m8g/subEvent
Public Event
http://data.europa.eu/m8g/PublicEvent
title
http://purl.org/dc/terms/title
Public Event
http://data.europa.eu/m8g/PublicEvent
topic
http://purl.org/dc/terms/subject
Temporal Entity
http://www.w3.org/2006/time#TemporalEntity
description
http://purl.org/dc/terms/description
Temporal Entity
http://www.w3.org/2006/time#TemporalEntity
frequency
http://data.europa.eu/m8g/frequency