The GDPR Provenance ontology
type: Ontology
version IRI: gdprov v0.7.owl
imports: p-plan#
imports: prov-o-20130430
abstract: The General Data Protection Regulation (GDPR) is an European law governing the use of consent and personal data. Some of its obligations involve concepts related to the lifecycles of consent and personal data. Such obligations are concerned with how the collection, use, processing, sharing, and storing of consent and personal data takes place and provides the motivation for a form of documentation that can demonstrate the required information towards compliance. GDPRov is an OWL2 ontology for representing this information as provenance metadata using terms relevant to the GDPR. It extends PROV-O and P-Plan to represent the lifecyles as an abstract model of how things should happen or will happen (future) as well as instance of what has happened (past). The ontology is being developed as part of contributions towards PhD research by its primary author.
created: 2017-08-01
creator: http://purl.org/adaptcentre/people/dave_lewis
creator: http://purl.org/adaptcentre/people/harshvardhan_pandit
description: GDPRov is an OWL2 ontology to express provenance metadata of consent and data lifecycles towards documenting compliance for GDPR.
license: https://creativecommons.org/licenses/by/4.0/
modified: 2018-04-06
preferred namespace prefix: gdprov
preferred namespace uri: http://purl.org/adaptcentre/openscience/ontologies/gdprov#
comment: GDPRov is an ontology for expressing provenance metadata in the context of the General Data Protection Regulation (GDPR) and its compliance. It extends PROV-O and P-Plan. PROV-O is the ontology based on the PROV model, a W3C recommendation, while P-Plan is an extension of PROV-O. PROV is used to define terms or 'instances' of what has happened in the past, while P-Plan is used to define the abstract model or 'Plan' of things to happen. GDPRov uses P-Plan to create a template/model/plan as an abstract or model representation of a system which is then recorded using PROV-O instances to show something has happened. The aim of the ontology is to enable representation of consent and personal data lifecycles using terms relevant to GDPR and to facilitate expression of this information towards documentation related to compliance.
version IRI: https://openscience.adaptcentre.ie/ontologies/gdprov/v/gdprov.0.7.owl
version info: 0.7

anonymity level
type: ObjectProperty
domain: Data Entity
range: AnonymityLevel
deprecated: true

archives consent as
type: ObjectProperty
sub property of: hasOutputVar
domain: Consent Archival Step
range: ConsentAgreement
comment: Archives the consent into some entity

collectsData
type: ObjectProperty
sub property of: hasOutputVar
inverse of: isDataCollectedByStep
domain: Data Step
range: Data
comment: Links data obtained (collected) by the step/activity that acquired it

generatesAnonymisedData
type: ObjectProperty
sub property of: generatesData
inverse of: isAnonymisedByStep
domain: Data Anonymisation Step
range: AnonymisedData
comment: Indicates that an DataAnonymisationStep transforms a Data object into AnonymisedData

generatesConsentAgreement
type: ObjectProperty
sub property of: hasOutputVar
inverse of: isGeneratedByStep
domain: Consent Step
range: ConsentAgreement
comment: Generates ConsentAgreement which is a the consent granted by the user based on the ConsentAgreementTemplate through a ConsentAcquisitionStep

generatesData
type: ObjectProperty
sub property of: hasOutputVar
inverse of: isDataGeneratedByStep
domain: Data Step
range: Data
comment: produces data

hasAnonymityLevel
type: ObjectProperty
domain: PersonalData
range: AnonymityLevel
comment: Indicates the anonymity level of an AnonymisedData object using instances of the AnonymityLevel class

hasLegalBasis
type: ObjectProperty
range: LawfulBasisForProcessing

has legal justification
type: ObjectProperty
domain: Activity
range: LawfulBasisForProcessing
deprecated: true

hasSharedDataWith
type: ObjectProperty
domain: Data Sharing Activity
range: Agent

isAnonymisedByStep
type: ObjectProperty
sub property of: isDataGeneratedByStep

isConsentAgreementTemplateForStep
type: ObjectProperty
sub property of: isInputVarOf
inverse of: usesConsentAgreementTemplate

isDataCollectedByStep
type: ObjectProperty
sub property of: isOutputVarOf

isDataGeneratedByStep
type: ObjectProperty
sub property of: isOutputVarOf

isGeneratedByStep
type: ObjectProperty
sub property of: isOutputVarOf

isJustificationForDataStep
type: ObjectProperty
sub property of: isInputVarOf
inverse of: isJustifiedUsingConsentAgreement

isJustifiedUsingConsentAgreement
type: ObjectProperty
sub property of: hasInputVar
domain: Data Step
range: ConsentAgreement
comment: justifies use of data by step through specified consent agreement

isPartOfProcess
type: ObjectProperty
sub property of: isStepOfPlan

isTermsAndConditionsForStep
type: ObjectProperty
sub property of: isInputVarOf
inverse of: usesTermsAndConditions

isUsedByStep
type: ObjectProperty
sub property of: isInputVarOf
inverse of: usesData

sharesData
type: ObjectProperty
sub property of: hasInputVar
inverse of: wasSharedBy
domain: Data Sharing Step
range: Data
comment: Indicates sharing of Data through a DataStep

sharesDataWith
type: ObjectProperty
domain: Data Sharing Step
range: Agent

sharesDataWithThirdParty
type: ObjectProperty
sub property of: topObjectProperty
domain: Data Sharing Step
range: ThirdParty
comment: Shares data with a third party
deprecated: true

transferredDataToRegion
type: ObjectProperty
domain: Cross Border Transfer Activity

transfersDataToRegion
type: ObjectProperty
domain: Cross-border Data Transfer

uses Consent Agreement
type: ObjectProperty
sub property of: hasInputVar
domain: Consent Step
range: ConsentAgreement
comment: uses Consent Agreement entity

usesConsentAgreementTemplate
type: ObjectProperty
sub property of: hasInputVar
domain: Consent Acquisition Step
range: ConsentAgreementTemplate
comment: links a Consent Acquisition Step with the Consent Agreement Template used to acquire consent

usesData
type: ObjectProperty
sub property of: hasInputVar
domain: Data Step
range: Data
comment: links step with data used

usesTermsAndConditions
type: ObjectProperty
sub property of: hasInputVar
domain: Consent Acquisition Step
range: TermsAndConditions
comment: Links a Consent Acquisition Step with the Terms and Conditions presented to the user when acquiring Consent

Acquire Consent Activity
type: Class
subclass of: Consent Activity
comment: Is an activity that acquires consent.

Anonymisation Activity
type: Class
subclass of: Data Transformation Activity
comment: Is an activity that anonymises data.

AnonymisedData
type: Class
subclass of: PersonalData
subclass of: Restriction
  on property: hasAnonymityLevel
  some values from: AnonymityLevel
comment: Represents data that has been Anonymised at some level reflected by the hasAnonymityLevel object property

Anonymised Data Entity
type: Class
subclass of: Personal Data Entity
comment: Is an entity where personal data has been anonymised to some extent.

AnonymityLevel
type: Class
comment: Provides a way to express the Anonymity Level of AnonymisedData objects through the object property hasAnonymityLevel

Appoint Processor
type: Class
subclass of: Process
comment: Reflects the process(es) used to appoint processors

Archive Consent Activity
type: Class
subclass of: Consent Activity
comment: An activity that archives given/acquired consent for storage.

AutomatedStep
type: Class
subclass of: Step

Consent Acquisition Step
type: Class
subclass of: Consent Step
comment: ConsentAcquisitionStep deals with acquiring consent from the user. It uses Terms and Conditions along with the appropriate Consent Model as the basis of obtaining consent from the user. The output of this step is the consent object agreed upon by the user.

Consent Activity
type: Class
subclass of: Activity
comment: Is an activity dealing with consent.

ConsentAgreement
type: Class
subclass of: Variable
disjoint with: ConsentAgreementTemplate
disjoint with: Data
disjoint with: TermsAndConditions
comment: ConsentAgreement reflects the consent provided by the user based on the provided Terms and Conditions and Consent Agreement Templates. It is the set of permissions the user has specifically provided or refused to provide. This consent is useful to provide justification of activities that use user data.

ConsentAgreementTemplate
type: Class
subclass of: Variable
disjoint with: Data
disjoint with: TermsAndConditions
comment: This is a template for consent requested from the user.

Consent Archival Step
type: Class
subclass of: Consent Step
comment: ConsentArchivalStep archives acquired consent to form a record of the consent given by the user.

Consent Modification Step
type: Class
subclass of: Consent Step
comment: ConsentModificationStep deals with modifications to the consent by the user. It invalidates the previous consent object and produces a new updated consent object that represents the modified consent.

Consent Step
type: Class
subclass of: Step
comment: A ConsentStep acts/interacts with/uses Consent

Consent Withdrawal Process
type: Class
subclass of: Process
comment: A ConsentWithdrawalProcess deals with the withdrawal of consent by the user and the corresponding activity carried out within the system

Consent Withdrawal Step
type: Class
subclass of: Consent Modification Step
comment: ConsentWithdrawalStep deals with withdrawal of consent

Controller
type: Class
subclass of: ThirdParty
comment: A ThirdPartyDataController is a Third Party entity that acts as a Data Controller

Controller Representative
type: Class
subclass of: Agent
comment: A Representative of the Controller

Cross-border Data Transfer
type: Class
subclass of: Data Step
comment: Reflects cross-border transfer of data

Cross Border Transfer Activity
type: Class
subclass of: Data Activity
comment: Is an activity that transfer data across borders (as defined in the GDPR).

Data Protection Officer (DPO)
type: Class
subclass of: Agent
comment: The Data Protection Officer appointed to an organisation.

Data
type: Class
subclass of: Variable
disjoint with: TermsAndConditions
comment: Represents class of data collected or generated through various activities

Data Access Process
type: Class
subclass of: Process
comment: A DataAccessProcess corresponds to the request made by an user for access to their data within the system. This process is responsible for handling the request process and providing the appropriate data to the end user.

Data Activity
type: Class
subclass of: Activity
comment: Is an activity involving data.

Data Anonymisation Step
type: Class
subclass of: Data Transformation Step
comment: DataAnonymisationStep anonymises data by transforming it from one form to another along the anonymisation chain. Anonymisation can be represented as a spectrum going from raw user data to pseudo-anonymised data that can be de-anonymised by the same agent/organisation to pseudo-anonymous data that cannot be deanonymised internally, but may be done by external agents who have access to other data, and finally to completely anonymised data.

Data Archival Activity
type: Class
subclass of: Data Storage Activity
subclass of: Data Transformation Activity
comment: Is an activity that archives data. Archival is transformation of data into some form for storage.

Data Archival Process
type: Class
subclass of: Process
comment: A DataArchivalProcess describes the process of data archival

Data Archival Step
type: Class
subclass of: Data Storage Step
subclass of: Data Transformation Step
comment: DataArchivalStep archives data by transforming it and storing it

Data Breach Activity
type: Class
subclass of: Activity
comment: Is an activity dealing with data breach.

Data Breach Record
type: Class
subclass of: Variable
comment: A record of a data breach.

Data Breach Step
type: Class
subclass of: Step
comment: Step representing an action associated with data breach.

Data Collection Activity
type: Class
subclass of: Data Activity
comment: Is an activity that collects or acquires data.

Data Collection Step
type: Class
subclass of: Data Step
comment: DataCollectionStep collects data from the user

Data Deanonymisation Step
type: Class
subclass of: Data Transformation Step
comment: DataDeanonymisationStep deanonymises data by transforming it from one form to another along the anonymisation chain.

Data Deletion Activity
type: Class
subclass of: Data Activity
comment: Is an activity that deletes or erases data.

Data Deletion Step
type: Class
subclass of: Data Step
comment: DataDeletionStep deletes data from within the system; The deletion is expressed as prov:invalidated over the dataset.

Data Entity
type: Class
subclass of: Entity
comment: Represents a data entity.

Data Erasure Process
type: Class
subclass of: Process
comment: A DataErasureProcess is responsible for handling the data erasure of a data subject.

Data Rectification Process
type: Class
subclass of: Process
comment: A DataRectificationProcess describes the process of data rectification, which is the correction of data already present within the system

Data Sharing Activity
type: Class
subclass of: Data Activity
comment: Is an activity that shares data.

Data Sharing Step
type: Class
subclass of: Data Step
comment: DataSharingStep shares data with another agent/organisation. These may be internal or external entities.

Data Step
type: Class
subclass of: Step
comment: A DataStep deals with data

Data Step without Provenance
type: Class
subclass of: Data Step

Data Storage Activity
type: Class
subclass of: Data Activity
comment: Is an activity that stores data.

Data Storage Step
type: Class
subclass of: Data Step
comment: DataStorageStep stores data within the system

Data Subject
type: Class
subclass of: Agent
comment: An individual or entity

Data Transfer Activity
type: Class
subclass of: Data Activity

DataTransferStep
type: Class
subclass of: Data Step

Data Transformation Activity
type: Class
subclass of: Data Activity
comment: Is an activity that transforms data.

Data Transformation Step
type: Class
subclass of: Data Step
comment: DataTransformationStep transforms data from one form into another.

Data Usage Activity
type: Class
subclass of: Data Activity
comment: Is an activity that uses data. Can also be termed as 'Processing' of data.

Data Usage Step
type: Class
subclass of: Data Step
comment: A DataUsageStep is a DataStep that uses existing data present within the system

DeAnonymisation Activity
type: Class
subclass of: Data Transformation Activity
comment: Is an activity that deanonymises data.

Direct Marketing
type: Class
subclass of: Marketing
comment: Direct Marketing where the marketing is done directly to the data subject.

Given Consent
type: Class
subclass of: Entity
comment: Represents the given consent by the data subject.

Given Consent Template
type: Class
subclass of: Entity
comment: Is the template used to obtain the given consent.

HandleDataBreachProcess
type: Class
subclass of: Process
comment: A process that defines the actions that should be undertaken in event of a data breach

Handle Right of Data Portability
type: Class
subclass of: Process
comment: The process or series of steps that handle the right of data portability.

Handle Right of Erasure
type: Class
subclass of: Process
comment: The process or series of steps that handle the right of erasure.

Handle Right to access Personal Data
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to access personal data.

Handle Right to basic information about Processing
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to basic information about processing.

Handle Right to not be evaluated through Automated Processing
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to not be processed automatically.

Handle Right to Object to Direct Marketing
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to object to direct marketing.

Handle Right to Object to Processing
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to object to processing.

Handle Right to Rectification
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to rectification of personal data.

Handle Right to restrict Processing
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to restrict processing.

Handle Right to Transparency
type: Class
subclass of: Process
comment: The process or series of steps that handle the right to transparency.

HandleSAR
type: Class
subclass of: Process

Impact Assessment
type: Class
subclass of: Process
comment: Represents the process or collection of steps representing the Impact Assessment.

Joint Controller(s)
type: Class
subclass of: Controller
comment: A Joint Controller is where two or more controllers jointly determine the purposes and means of processing.

Marketing
type: Class
subclass of: Process
comment: Marketing as a process or collection of steps.

Modify Consent Activity
type: Class
subclass of: Consent Activity
comment: Is an activity that modifies given consent.

Monitor Compliance
type: Class
subclass of: Process
comment: The process of monitoring compliance as mandated by the GDPR.

Notify Controller
type: Class
subclass of: Data Breach Step
comment: Step that notifies the controller of data breach.

Notify Controller Activity
type: Class
subclass of: Data Breach Activity
comment: Is an activity that notifies controller about data breach

Notify Data Protection Authority
type: Class
subclass of: Data Breach Step
comment: Step that notifies the Data Protection Authorities of a data breach.

Notify DPA Activity
type: Class
subclass of: Data Breach Activity
comment: Is an activity that notifies data protection authorities about data breach

Notify Data Subject
type: Class
subclass of: Data Breach Step
comment: Step that notifies the data subject of data breach.

Notify Data Subject Activity
type: Class
subclass of: Data Breach Activity
comment: Is an activity that notifies data subjects about data breach

PersonalData
type: Class
subclass of: Data
comment: PersonalData is any data pertaining to the user which can contain personally identifiable information or a data set generated by the system using personally identifiable information acquired through direct or indirect means

Personal Data Entity
type: Class
subclass of: Data Entity
comment: Represents a personal data entity.

Process
type: Class
subclass of: Plan
comment: A Process describes a 'Plan' of action for carrying out a particular activity that uses or is related to Data or Consent

Processor
type: Class
subclass of: ThirdParty
comment: A ThirdPartyDataProcessor is a Third Party entity that acts as a Data Processor
label: Processor

Processor Representative
type: Class
subclass of: Agent
comment: A representative of the Processor.

Provide copy of Personal Data
type: Class
subclass of: Data Step
comment: A step that provides the data subject with a copy of their personal data.

Rectify Data
type: Class
subclass of: Data Step
comment: Rectifies existing data

Rectify Data Activity
type: Class
subclass of: Data Activity
comment: Is an activity that recitifies data.

Report Data Breach
type: Class
subclass of: HandleDataBreachProcess
comment: The process of reporting after a data breach has taken place.

Sensitive Personal Data
type: Class
subclass of: PersonalData
comment: Personal data revealing racial or ethnic origin, political opinions, religious or philosophical beliefs, or trade union membership, and the processing of genetic data, biometric data for the purpose of uniquely identifying a natural person, data concerning health or data concerning a natural person's sex life or sexual orientation.

Sensitive Data Entity
type: Class
subclass of: Personal Data Entity
comment: Is an entity containing sensitive personal information.

Sub-Processor
type: Class
subclass of: Processor
comment: A Processor appointed under or by another Processor is a Sub-Processor.

TermsAndConditions
type: Class
subclass of: Variable
comment: Terms and Conditions of usage as provided to the user in agreement of provided service

Terms and Conditions Entity
type: Class
subclass of: Entity
comment: Represents the Terms and Conditions entity.

ThirdParty
type: Class
subclass of: Agent
comment: A ThirdParty is any external entitiy associated with some internal activity

UserIdentifier
type: Class
subclass of: PersonalData
comment: An UserIdentifier is a specific way to identify the user through a unique ID or a combination of other attributes

User Identifier Entity
type: Class
subclass of: Personal Data Entity
comment: Is an entity acting as the user identifier. Or contains an identifier.

User Input Step
type: Class
subclass of: User Interaction Step

User Interaction Step
type: Class
subclass of: Step

User Output Step
type: Class
subclass of: User Interaction Step

Withdraw Consent Activity
type: Class
subclass of: Modify Consent Activity
comment: Is an activity that withdraws given consent. Can also term it so as to depict withdrawal as a modification of consent.

Anonymised
type: NamedIndividual
comment: Anonymised represents the Anonymisation level where the data cannot be de-anonymised to retrieve personally identifiable information.

DeAnonymised
type: NamedIndividual
comment: DeAnonymised represents the Anonymisation level where the data is completely de-anonymised and contains directly accessible personally identifiable information.

PseudoAnonymised
type: NamedIndividual
comment: PseudoAnonymised represents the Anonymisation level where the data is anonymised but cannot be de-anonymised without additional data which is NOT accessible to the data-holding organisation to retrieve personally identifiable information.

PseudoOrganisationalOrganised
type: NamedIndividual
comment: PseudoOrganisationalAnonymised represents the Anonymisation level where the data is anonymised but cannot be de-anonymised without additional data which is accessible to the data-holding organisation to recreate the de-anonymised information.