@prefix :      <https://w3id.org/GConsent#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml:   <http://www.w3.org/XML/1998/namespace> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

:ErasureOfPersonalData
        a                 :Processing , :DataErasure , owl:NamedIndividual ;
        rdfs:comment      "Represents Erasure Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Erasure Of Personal Data"@en .

:DisseminationOfPersonalData
        a                 :Processing , :DataDissemination , owl:NamedIndividual ;
        rdfs:comment      "Represents Dissemination Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Dissemination Of Personal Data"@en .

:isPurposeForConsent  a  owl:ObjectProperty ;
        rdfs:comment  "Links purpose with the consent instance associated with it."@en ;
        rdfs:domain   :Purpose ;
        rdfs:label    "is purpose for consent"@en ;
        rdfs:range    :Consent .

:AlterationOfPersonalData
        a                 :Processing , :DataAlteration , owl:NamedIndividual ;
        rdfs:comment      "Represents Alteration Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Alteration Of Personal Data"@en .

<https://w3id.org/GDPRov#DataSubject>
        a       owl:Class .

<http://www.w3.org/2006/time#Instant>
        a       owl:Class .

:RestrictionOfPersonalData
        a                 :Processing , :DataRestriction , owl:NamedIndividual ;
        rdfs:comment      "Represents Restriction Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Restriction Of Personal Data"@en .

:DataRetrieval  a         owl:Class ;
        rdfs:comment      "Represents the type of processing where Retrieval of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Retrieval"@en ;
        rdfs:subClassOf   :Processing .

:Purpose  a               owl:Class ;
        rdfs:comment      "Purpose refers to the aim or goal towards which the data is processed (or associated with any other form of action)."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr> ;
        rdfs:label        "Purpose"@en .

:ConsentStatusNotGiven
        a             :StatusInvalidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates that consent has not been given."@en ;
        rdfs:label    "Not Given"@en .

:DataUse  a               owl:Class ;
        rdfs:comment      "Represents the type of processing where Use of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Use"@en ;
        rdfs:subClassOf   :Processing .

:atTime  a                  owl:ObjectProperty ;
        rdfs:comment        "Specifies the instant at which the consent was created/given/changed."@en ;
        rdfs:domain         :Consent ;
        rdfs:label          "at time"@en ;
        rdfs:range          <http://www.w3.org/2006/time#Instant> ;
        rdfs:subPropertyOf  :hasContext .

:isProcessingForConsent
        a             owl:ObjectProperty ;
        rdfs:comment  "Links an action to the purpose it is associated with."@en ;
        rdfs:domain   :Processing ;
        rdfs:label    "is action for purpose"@en ;
        rdfs:range    :Consent .

:DataRecording  a         owl:Class ;
        rdfs:comment      "Represents the type of processing where Recording of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Recording"@en ;
        rdfs:subClassOf   :Processing .

:DataCollection  a        owl:Class ;
        rdfs:comment      "Represents the type of processing where Collection of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Collection"@en ;
        rdfs:subClassOf   :Processing .

:ConsentStatusImplicitlyGiven
        a             :StatusValidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates consent is given via an implicit action or assumption."@en ;
        rdfs:label    "Implicitly Given"@en .

:involvesThirdParty  a          owl:ObjectProperty ;
        rdfs:comment            "Indicates the involvement by association of a Third Party."@en ;
        rdfs:domain             [ a            owl:Class ;
                                  owl:unionOf  ( :Processing :Purpose )
                                ] ;
        rdfs:label              "involves third party"@en ;
        rdfs:range              :ThirdParty ;
        owl:propertyChainAxiom  ( :hasAssociation <http://www.w3.org/ns/prov#agent> ) .

<http://www.w3.org/ns/prov#Delegation>
        a       owl:Class .

:isProvidedBy  a       owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment   "Indicates the entity or activitiy that provided the consent."@en ;
        rdfs:domain    [ a            owl:Class ;
                         owl:unionOf  ( :Consent :Delegation )
                       ] ;
        rdfs:label     "is provided by"@en ;
        rdfs:range     [ a            owl:Class ;
                         owl:unionOf  ( <http://www.w3.org/ns/prov#Person> :DataSubject :Delegation )
                       ] ;
        owl:inverseOf  :providedConsent .

:ConsentStatusRequested
        a             :StatusInvalidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates consent has been requested but has not been given (yet)."@en ;
        rdfs:label    "Requested"@en .

<http://purl.org/dc/terms/license>
        a       owl:AnnotationProperty .

:isContextForConsent  a  owl:ObjectProperty ;
        rdfs:comment  "links a context to the consent instance it describes"@en ;
        rdfs:label    "is context for consent"@en ;
        rdfs:range    :Consent .

<http://www.w3.org/ns/prov#wasInfluencedBy>
        a       owl:ObjectProperty .

:Delegation  a           owl:Class ;
        rdfs:comment     "A Delegation of consent occurs when another entity, whether a data subject or their representative or an automated mechanism, provides the consent on behalf of the intended Data Subject. The delegated consent is provided through the mechanism of a _delegation_. This involves three entities - the Data Subject the delegation occurs for, the entity that acts as the delegate, and the mechanism used to verify the authority to delegate. They (first two) are provided respectively by the properties `isConsentDelegationFor`, and `hasConsentGivenByDelegate`."@en ;
        rdfs:label       "Delegation" ;
        rdfs:subClassOf  <http://www.w3.org/ns/prov#Delegation> .

:StructuringOfPersonalData
        a                 :Processing , :DataStructuring , owl:NamedIndividual ;
        rdfs:comment      "Represents Structuring Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Structuring Of Personal Data"@en .

:isProvidedByPerson  a      owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment        "Specifies the Person that provided this consent."@en ;
        rdfs:domain         [ a            owl:Class ;
                              owl:unionOf  ( :Consent :Delegation )
                            ] ;
        rdfs:label          "is provided by person"@en ;
        rdfs:range          <http://www.w3.org/ns/prov#Person> ;
        rdfs:subPropertyOf  :isProvidedBy .

<http://www.w3.org/ns/prov#wasAttributedTo>
        a       owl:ObjectProperty .

<http://www.w3.org/ns/prov#Association>
        a       owl:Class .

:isStatusForConsent  a  owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Links a status to the consent that uses it."@en ;
        rdfs:domain   :Status ;
        rdfs:label    "is status for consent"@en ;
        rdfs:range    :Consent .

<http://www.w3.org/ns/prov#Entity>
        a       owl:Class .

:ConsentStatusUnknown
        a             :StatusInvalidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates the consent status is unknown."@en ;
        rdfs:label    "Unknown"@en .

<http://purl.org/dc/terms/created>
        a       owl:AnnotationProperty .

:CombinationOfPersonalData
        a                 :Processing , :DataCombination , owl:NamedIndividual ;
        rdfs:comment      "Represents Combination Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Combination Of Personal Data"@en .

:PersonalData  a          owl:Class ;
        rdfs:comment      "As per Article 4(1) of the GDPR, ‘personal data’ means any information relating to an identified or identifiable natural person (‘data subject’);"@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#recital26> , <https://w3id.org/GDPRtEXT/gdpr#article4-1> , <https://w3id.org/GDPRtEXT#PersonalData> ;
        rdfs:label        "Personal Data"@en ;
        rdfs:subClassOf   [ a            owl:Class ;
                            owl:unionOf  ( <https://w3id.org/GDPRov#PersonalData> <https://w3id.org/GDPRov#PersonalDataEntity> )
                          ] .

:GivenConsent  a             owl:Class ;
        rdfs:comment         "Represents a consent entity that is considered given whether implicitly, explicitly, or by delegation."@en ;
        rdfs:label           "Given Consent"@en ;
        rdfs:subClassOf      :Consent ;
        rdfs:subClassOf      [ a            owl:Class ;
                               owl:unionOf  ( [ a               owl:Restriction ;
                                                owl:hasValue    :ConsentStatusExplicitlyGiven ;
                                                owl:onProperty  :hasStatus
                                              ] [ a               owl:Restriction ;
                                                  owl:hasValue    :ConsentStatusGivenByDelegation ;
                                                  owl:onProperty  :hasStatus
                                                ] [ a               owl:Restriction ;
                                                    owl:hasValue    :ConsentStatusImplicitlyGiven ;
                                                    owl:onProperty  :hasStatus
                                                  ] )
                             ] ;
        owl:equivalentClass  <https://w3id.org/GDPRov#GivenConsent> .

:isConsentForDataSubject
        a             owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Links a consent instance with the data subject it is associated with."@en ;
        rdfs:domain   :Consent ;
        rdfs:label    "is consent for data subject"@en ;
        rdfs:range    :DataSubject .

:DataOrganisation  a      owl:Class ;
        rdfs:comment      "Represents the type of processing where Organisation of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Organisation"@en ;
        rdfs:subClassOf   :Processing .

<http://purl.org/vocab/vann/preferredNamespacePrefix>
        a       owl:AnnotationProperty .

:isProvidedToController
        a                   owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment        "Indicates the Organisation the consent was provided to."@en ;
        rdfs:domain         :Consent ;
        rdfs:label          "is provided to controller"@en ;
        rdfs:range          :DataController ;
        rdfs:subPropertyOf  :isProvidedTo .

<https://w3id.org/GDPRov#Controller>
        a       owl:Class .

:DataRestriction  a       owl:Class ;
        rdfs:comment      "Represents the type of processing where Restriction of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Restriction"@en ;
        rdfs:subClassOf   :Processing .

<https://w3id.org/GConsent>
        a                     owl:Ontology ;
        <http://purl.org/dc/terms/abstract>
                "Consent is one of the legal basis for processing personal data under the General Data Protection Regulation (GDPR), which is the current Eurpoean data protection law enforced from 25th May 2018. GDPR stipulates obligations on how consent should be obtained, used, modified, and recorded. Additionally, it provides data subjects with the right to modify or withdraw their consent at any time. Demonstrating compliance to these rights and obligations requires maintaining information about the consent lifecycle. Existing work has demonstrated the feasibility of using semantic web technologies to represent and query this information. GConsent is an OWL2 ontology for representing consent for GDPR compliance. The ontology is based on an analysis of modelling metadata requirements related to the consent lifecycle for GDPR compliance. It allows modelling and representation of information related to compliance in an extensible and comprehensive manner."@en ;
        <http://purl.org/dc/terms/created>
                "2018-08-24"^^xsd:date ;
        <http://purl.org/dc/terms/creator>
                "https://harshp.com/i/me#HJP"^^xsd:anyURI ;
        <http://purl.org/dc/terms/description>
                "GConsent provides concepts and relationships for defining consent and its associated information or metadata with a view towards GDPR compliance. It is the outcome of an analysis of consent and requirements associated with obtaining, using, and changes in consent as per the GDPR. The ontology also provides an approach to using its terms in various scenarios and use-cases (see more information in the documentation) which is intended to assist in its adoption." ;
        <http://purl.org/dc/terms/license>
                <https://creativecommons.org/licenses/by/4.0/> ;
        <http://purl.org/dc/terms/modified>
                "2018-11-21"^^xsd:date ;
        <http://purl.org/dc/terms/publisher>
                "ADAPT Centre, Trinity College" ;
        <http://purl.org/dc/terms/title>
                "GConsent - a consent ontology based on the GDPR"@en ;
        <http://purl.org/ontology/bibo/status>
                <http://purl.org/ontology/bibo/status/draft> ;
        <http://purl.org/vocab/vann/preferredNamespacePrefix>
                "gc" ;
        <http://purl.org/vocab/vann/preferredNamespaceUri>
                "https://w3id.org/GConsent"^^xsd:anyURI ;
        owl:incompatibleWith  <http://purl.org/adaptcentre/openscience/ontologies/consent> ;
        owl:versionIRI        <https://w3id.org/GConsent/versions/v0.5> ;
        owl:versionInfo       "0.5" .

<http://www.w3.org/ns/prov#agent>
        a       owl:ObjectProperty .

:CollectionOfPersonalData
        a                 :Processing , :DataCollection , owl:NamedIndividual ;
        rdfs:comment      "Represents Collection Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Collection Of Personal Data"@en .

:DisclosureByTransmissionOfPersonalData
        a                 :Processing , :DataDisclosureByTransmission , owl:NamedIndividual ;
        rdfs:comment      "Represents Disclosure by Transmission Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Disclosure by Transmission Of Personal Data"@en .

<http://purl.org/vocab/vann/preferredNamespaceUri>
        a       owl:AnnotationProperty .

:DataDissemination  a     owl:Class ;
        rdfs:comment      "Represents the type of processing where Dissemination of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Dissemination"@en ;
        rdfs:subClassOf   :Processing .

:Medium  a            owl:Class ;
        rdfs:comment  "Describes the medium through which consent was given/provided. Example: web form, recorded voice, signature on document."@en ;
        rdfs:label    "Medium"@en .

:hasContext  a         owl:ObjectProperty ;
        rdfs:comment   "Links a consent instance to the context in which it was acquired/provided/given."@en ;
        rdfs:domain    :Consent ;
        rdfs:label     "has context"@en ;
        owl:inverseOf  :isContextForConsent .

:AlignmentOfPersonalData
        a                 :Processing , :DataAlignment , owl:NamedIndividual ;
        rdfs:comment      "Represents Alignment Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Alignment Of Personal Data"@en .

:ConsentStatusRefused
        a             :StatusInvalidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates that consent has been refused (to be given)."@en ;
        rdfs:label    "Refused"@en .

:DataController  a           owl:Class ;
        rdfs:comment         "A Data Controller is defined as \"The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data.\""@en ;
        rdfs:isDefinedBy     <https://w3id.org/GDPRtEXT/gdpr#article4-7> , <https://w3id.org/GDPRtEXT#Controller> ;
        rdfs:label           "Data Controller" ;
        rdfs:subClassOf      <http://www.w3.org/ns/prov#Organisation> ;
        owl:equivalentClass  <https://w3id.org/GDPRov#Controller> .

:Status  a            owl:Class ;
        rdfs:comment  "Represents the status of consent for the data subject. This allows persisting the determination of the validatity or suitability of consent (as an entity or instance) for use in processing and other activities. Examples: consent is given, consent is requested but not given, consent was withdrawn."@en ;
        rdfs:label    "Status"@en .

<http://purl.org/dc/terms/abstract>
        a       owl:AnnotationProperty .

:forPersonalData  a       owl:ObjectProperty ;
        rdfs:comment      "Links the consent to personal data it is associated with it."@en ;
        rdfs:domain       :Consent ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT#PersonalData> ;
        rdfs:label        "for personal data"@en ;
        rdfs:range        :PersonalData ;
        owl:inverseOf     :isPersonalDataForConsent .

:OrganisationOfPersonalData
        a                 :Processing , :DataOrganisation , owl:NamedIndividual ;
        rdfs:comment      "Represents Organisation Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Organisation Of Personal Data"@en .

:ConsentStatusGivenByDelegation
        a             :StatusValidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates consent is given via delegation."@en ;
        rdfs:label    "Given by Delegation"@en .

:hasExpiry  a         owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Specifies the Instant or Duration in which the consent expires."@en ;
        rdfs:domain   :Consent ;
        rdfs:label    "has expiry"@en ;
        rdfs:range    <http://www.w3.org/2006/time#TemporalEntity> .

:UseOfPersonalData  a     :Processing , :DataUse , owl:NamedIndividual ;
        rdfs:comment      "Represents Use Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Use Of Personal Data"@en .

:hasStatus  a          owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment   "Denotes the state or status of consent."@en ;
        rdfs:domain    :Consent ;
        rdfs:label     "has status"@en ;
        rdfs:range     :Status ;
        owl:inverseOf  :isStatusForConsent .

<http://www.w3.org/ns/prov#Role>
        a       owl:Class .

:DataCombination  a       owl:Class ;
        rdfs:comment      "Represents the type of processing where Combination of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Combination"@en ;
        rdfs:subClassOf   :Processing .

:DataStorage  a           owl:Class ;
        rdfs:comment      "Represents the type of processing where Storage of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Storage"@en ;
        rdfs:subClassOf   :Processing .

:inMedium  a                owl:ObjectProperty ;
        rdfs:comment        "Specifies the medium through which the consent was given. Examples are web forms, paper documents."@en ;
        rdfs:domain         :Consent ;
        rdfs:label          "in medium"@en ;
        rdfs:range          :Medium ;
        rdfs:subPropertyOf  :hasContext .

:hasRole  a           owl:ObjectProperty ;
        rdfs:comment  "Indicates the role played by specified Person or Organisation or Third Party in the specified Association."@en ;
        rdfs:domain   <http://www.w3.org/ns/prov#Association> ;
        rdfs:label    "hasRole"@en ;
        rdfs:range    <http://www.w3.org/ns/prov#Role> .

<http://purl.org/dc/terms/title>
        a       owl:AnnotationProperty .

<http://www.w3.org/ns/prov#Person>
        a       owl:Class .

:StatusValidForProcessing
        a                owl:Class ;
        rdfs:comment     "Represents consent states that are valid for processing"@en ;
        rdfs:label       "Status valid for Processing"@en ;
        rdfs:subClassOf  :Status .

:sharesDataWithThirdParty
        a                       owl:ObjectProperty ;
        rdfs:comment            "Indicates sharing of personal data with a Third Party through the association."@en ;
        rdfs:domain             :DataSharing ;
        rdfs:range              :ThirdParty ;
        rdfs:subPropertyOf      :involvesThirdParty ;
        owl:propertyChainAxiom  ( :hasAssociation <http://www.w3.org/ns/prov#agent> ) .

:RecordingOfPersonalData
        a                 :Processing , :DataRecording , owl:NamedIndividual ;
        rdfs:comment      "Represents Recording Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Recording Of Personal Data"@en .

:hasAssociation  a     owl:ObjectProperty ;
        rdfs:comment   "Indicates an Association with another entity for a Purpose or Processing"@en ;
        rdfs:domain    [ a            owl:Class ;
                         owl:unionOf  ( :Processing :Purpose )
                       ] ;
        rdfs:label     "has association"@en ;
        rdfs:range     <http://www.w3.org/ns/prov#Association> ;
        owl:inverseOf  :isAssociationFor .

:forPurpose  a            owl:ObjectProperty ;
        rdfs:comment      "Links a consent instace to the purpose(s) it is associated with."@en ;
        rdfs:domain       :Consent ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT#PurposeLimitation> ;
        rdfs:label        "for purpose"@en ;
        rdfs:range        :Purpose ;
        owl:inverseOf     :isPurposeForConsent .

:ConsentStatusWithdrawn
        a             :StatusInvalidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates consent has been withdrawn."@en ;
        rdfs:label    "Withdrawn"@en .

:providedConsent  a       owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Links the entity or activity that gave consent to the entity or activity representing the consent (or its delegation)."@en ;
        rdfs:domain       [ a            owl:Class ;
                            owl:unionOf  ( <http://www.w3.org/ns/prov#Person> :DataSubject :Delegation )
                          ] ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT#GivenConsent> ;
        rdfs:label        "gave consent"@en ;
        rdfs:range        [ a            owl:Class ;
                            owl:unionOf  ( :Consent :Delegation )
                          ] .

<http://purl.org/dc/terms/modified>
        a       owl:AnnotationProperty .

:forProcessing  a      owl:ObjectProperty ;
        rdfs:comment   "Links the consent with its associated processing."@en ;
        rdfs:domain    :Consent ;
        rdfs:label     "for processing"@en ;
        rdfs:range     :Processing ;
        owl:inverseOf  :isProcessingForConsent .

:isProvidedByDelegation
        a                   owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment        "Specifies the delegation that provided this consent."@en ;
        rdfs:domain         [ a            owl:Class ;
                              owl:unionOf  ( :Consent :Delegation )
                            ] ;
        rdfs:label          "is provided by delegation"@en ;
        rdfs:range          :Delegation ;
        rdfs:subPropertyOf  :isProvidedBy .

:StorageOfPersonalData
        a                 :Processing , :DataStorage , owl:NamedIndividual ;
        rdfs:comment      "Represents Storage Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Storage Of Personal Data"@en .

:ThirdParty  a               owl:Class ;
        rdfs:comment         "Represents an Agent that is a Person or an Organisation other than the current entity (w.r.t. data protection laws)."@en ;
        rdfs:label           "Third Party"@en ;
        rdfs:subClassOf      [ a            owl:Class ;
                               owl:unionOf  ( <http://www.w3.org/ns/prov#Organisation> <http://www.w3.org/ns/prov#Person> )
                             ] ;
        owl:equivalentClass  <https://w3id.org/GDPRov#ThirdParty> .

:DataStructuring  a       owl:Class ;
        rdfs:comment      "Represents the type of processing where Structuring of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Structuring"@en ;
        rdfs:subClassOf   :Processing .

:MinorDataSubject  a     owl:Class ;
        rdfs:comment     "A Minor is a Data Subject who cannot provide their own consent (that is legally valid). Therefore, their consent must be obtained via a Guardian or Legal Representative or Parent. Minor is a subclass of Data Subject.\n\nConsent given in lieu of a Minor (by their Representative) is associated with the `ConsentInstance` class/instance using the `wasGivenBy` property.\n\nThe ontology currently does not capture this relationship between the Minor and their Representative. This is due to required clarifications regarding how this role should be represented. For example, the `DataSubject` cannot be subclassed to create a `Representative` class, as this would make the `DataSubject` a permanent representative for the Minor. Instead, the role of 'acting as representative' is only for the instance of the given consent. Therefore, this could be represented with a `ConsentRepresentativeRole` class that links to the `MinorDataSubject` with `roleHadDataSubject` property, and the `DataSubject` that gave the consent via the `roleHadRepresentative` property. The relationship or reason or situation of this given consent can be captured by further annotating the `ConsentRepresentativeRole` instance. This approach can also be extended to other similar situations where one `DataSubject` gives consent in lieu of another.\n\nNote: A Minor can provide their own consent in certain cases, or conversely, a minor's consent may need to be provided by a 'parental' representative in some cases."@en ;
        rdfs:label       "Minor Data Subject"@en ;
        rdfs:subClassOf  <https://w3id.org/GDPRov#DataSubject> , :DataSubject .

:ConsentStatusInvalidated
        a             :StatusInvalidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates the consent has been invalidated."@en ;
        rdfs:label    "Invalidated"@en .

<http://purl.org/dc/terms/creator>
        a       owl:AnnotationProperty .

<http://purl.org/ontology/bibo/status>
        a       owl:AnnotationProperty .

:isPreviousConsentFor
        a                   owl:IrreflexiveProperty , owl:ObjectProperty ;
        rdfs:comment        "Denotes that this consent instance is the previous consent for the specified consent instance."@en ;
        rdfs:domain         :Consent ;
        rdfs:label          "is previous consent for"@en ;
        rdfs:range          :Consent ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/prov#wasInfluencedBy> ;
        owl:inverseOf       :isUpdatedConsentFor .

:StatusInvalidForProcessing
        a                 owl:Class ;
        rdfs:comment      "Represents consent states that are invalid for processing."@en ;
        rdfs:label        "Status invalid for Processing"@en ;
        rdfs:subClassOf   :Status ;
        owl:disjointWith  :StatusValidForProcessing .

:hasConsent  a            owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Links a data subject to their consent."@en ;
        rdfs:domain       :DataSubject ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT#Consent> ;
        rdfs:label        "has consent"@en ;
        rdfs:range        :Consent ;
        owl:inverseOf     :isConsentForDataSubject .

:DataAlteration  a        owl:Class ;
        rdfs:comment      "Represents the type of processing where Alteration of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Alteration"@en ;
        rdfs:subClassOf   :Processing .

<http://www.w3.org/ns/prov#Location>
        a       owl:Class .

:Consent  a               owl:Class ;
        rdfs:comment      "As per Article 4(11) of the GDPR, ‘consent’ of the data subject means any freely given, specific, informed and unambiguous indication of the data subject’s wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her;\n\nIn the case of this ontology, 'Consent' is a concept as well as a tangible entity (something that has a provenance record). To separate this distinction with relation to the data subject, the Consent class represents the consent of the data subject in its entirely, including any history and annotations for it.\n\nTo link the `Consent` instance with the `DataSubject` instance, use the `isConsentForDataSubject` and `hasConsent` properties."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT#GivenConsent> ;
        rdfs:label        "Consent"@en ;
        rdfs:subClassOf   <http://www.w3.org/ns/prov#Entity> ;
        rdfs:subClassOf   [ a                         owl:Restriction ;
                            owl:onClass               :DataSubject ;
                            owl:onProperty            :isConsentForDataSubject ;
                            owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                          ] ;
        rdfs:subClassOf   [ a                         owl:Restriction ;
                            owl:onClass               :Status ;
                            owl:onProperty            :hasStatus ;
                            owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                          ] .

:SharingOfPersonalData
        a             :Processing , :DataSharing , owl:NamedIndividual ;
        rdfs:comment  "Represents sharing of personal data"@en ;
        rdfs:label    "Sharing of Personal Data"@en .

[ a                    owl:AllDifferent ;
  owl:distinctMembers  ( :AdaptationOfPersonalData :AlignmentOfPersonalData :AlterationOfPersonalData :CollectionOfPersonalData :CombinationOfPersonalData :ConsultationOfPersonalData :DestructionOfPersonalData :DisclosureByTransmissionOfPersonalData :DisseminationOfPersonalData :ErasureOfPersonalData :OrganisationOfPersonalData :RecordingOfPersonalData :RestrictionOfPersonalData :RetrievalOfPersonalData :SharingOfPersonalData :StorageOfPersonalData :StructuringOfPersonalData :UseOfPersonalData )
] .

:wasProvidedConsent  a  owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:ObjectProperty ;
        rdfs:comment  "Indicates that the specified Person or Data Controller was provided the associated consent."@en ;
        rdfs:domain   [ a            owl:Class ;
                        owl:unionOf  ( <http://www.w3.org/ns/prov#Person> :DataController )
                      ] ;
        rdfs:label    "was provided consent"@en ;
        rdfs:range    :Consent .

<http://purl.org/dc/terms/description>
        a       owl:AnnotationProperty .

:DataSharing  a          owl:Class ;
        rdfs:comment     "Type of processing where sharing of data takes place with a Third Party."@en ;
        rdfs:label       "Data Sharing"@en ;
        rdfs:subClassOf  :Processing .

:RetrievalOfPersonalData
        a                 :Processing , :DataRetrieval , owl:NamedIndividual ;
        rdfs:comment      "Represents Retrieval Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Retrieval Of Personal Data"@en .

<http://www.w3.org/2006/time#TemporalEntity>
        a       owl:Class .

<http://www.w3.org/ns/prov#atLocation>
        a       owl:ObjectProperty .

<https://w3id.org/GDPRov#PersonalData>
        a       owl:Class .

[ a                    owl:AllDifferent ;
  owl:distinctMembers  ( :ConsentStatusExpired :ConsentStatusExplicitlyGiven :ConsentStatusGivenByDelegation :ConsentStatusImplicitlyGiven :ConsentStatusInvalidated :ConsentStatusNotGiven :ConsentStatusRefused :ConsentStatusRequested :ConsentStatusUnknown :ConsentStatusWithdrawn )
] .

:DataSubject  a              owl:Class ;
        rdfs:comment         "Data Subject is defined as an identified or identifiable natural person (‘data subject’); an identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person; - according to Article 4(1) of the GDPR pertaining to the definition of Personal Data.\n\nIn the case of this ontology, a Data Subject refers to the person(s) as per the definition of the GDPR. Since a Data Subject is a Person, it is defined as a subclass of foaf:Person.\n\nThe Data Subject is linked to the Consent instance via the isConsentForDataSubject and hasConsent properties."@en ;
        rdfs:isDefinedBy     <https://w3id.org/GDPRtEXT#DataSubject> ;
        rdfs:label           "Data Subject"@en ;
        rdfs:subClassOf      <http://www.w3.org/ns/prov#Person> ;
        owl:equivalentClass  <https://w3id.org/GDPRov#DataSubject> .

<https://w3id.org/GDPRov#PersonalDataEntity>
        a       owl:Class .

:isProvidedToPerson  a      owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment        "Indicates the Person the consent was provided to."@en ;
        rdfs:domain         :Consent ;
        rdfs:label          "is provided to person"@en ;
        rdfs:range          <http://www.w3.org/ns/prov#Person> ;
        rdfs:subPropertyOf  :isProvidedTo .

<https://w3id.org/GDPRov#GivenConsent>
        a       owl:Class .

:isAssociationFor  a  owl:ObjectProperty ;
        rdfs:comment  "Indicates an Association is for the associated Purpose or Processing."@en ;
        rdfs:domain   <http://www.w3.org/ns/prov#Association> ;
        rdfs:label    "is association for"@en ;
        rdfs:range    [ a            owl:Class ;
                        owl:unionOf  ( :Processing :Purpose )
                      ] .

:isPersonalDataForConsent
        a             owl:ObjectProperty ;
        rdfs:comment  "Links personal data with the consent it is associated with."@en ;
        rdfs:domain   :PersonalData ;
        rdfs:label    "is personal data for consent"@en ;
        rdfs:range    :Consent .

:isUpdatedConsentFor  a     owl:IrreflexiveProperty , owl:ObjectProperty ;
        rdfs:comment        "Specifies the consent instance which this instance is an update or revision of."@en ;
        rdfs:domain         :Consent ;
        rdfs:label          "is updated consent for"@en ;
        rdfs:range          :Consent ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/prov#wasInfluencedBy> .

:atLocation  a              owl:ObjectProperty ;
        rdfs:comment        "Specifies the location at which the consent was given."@en ;
        rdfs:domain         :Consent ;
        rdfs:label          "at location"@en ;
        rdfs:range          <http://www.w3.org/ns/prov#Location> ;
        rdfs:subPropertyOf  :hasContext , <http://www.w3.org/ns/prov#atLocation> .

:ConsentStatusExpired
        a             :StatusInvalidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates the consent has expired."@en ;
        rdfs:label    "Expired"@en .

:DataAlignment  a         owl:Class ;
        rdfs:comment      "Represents the type of processing where Alignment of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Alignment"@en ;
        rdfs:subClassOf   :Processing .

:isProvidedTo  a       owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment   "Indicates the Person or Data Controller the consent was provided to."@en ;
        rdfs:domain    :Consent ;
        rdfs:label     "is provided to"@en ;
        rdfs:range     [ a            owl:Class ;
                         owl:unionOf  ( <http://www.w3.org/ns/prov#Person> :DataController )
                       ] ;
        owl:inverseOf  :wasProvidedConsent .

:AdaptationOfPersonalData
        a                 :Processing , :DataAdaptation , owl:NamedIndividual ;
        rdfs:comment      "Represents Adaptation Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Adaptation Of Personal Data"@en .

<https://w3id.org/GDPRov#ThirdParty>
        a       owl:Class .

:DataAdaptation  a        owl:Class ;
        rdfs:comment      "Represents the type of processing where Adaptation of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Adaptation"@en ;
        rdfs:subClassOf   :Processing .

<http://purl.org/dc/terms/publisher>
        a       owl:AnnotationProperty .

:DestructionOfPersonalData
        a                 :Processing , :DataDestruction , owl:NamedIndividual ;
        rdfs:comment      "Represents Destruction Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Destruction Of Personal Data"@en .

:ConsultationOfPersonalData
        a                 :Processing , :DataConsultation , owl:NamedIndividual ;
        rdfs:comment      "Represents Consultation Of personal data."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Consultation Of Personal Data"@en .

<http://www.w3.org/ns/prov#Organisation>
        a       owl:Class .

:isProvidedByDataSubject
        a                   owl:ObjectProperty ;
        rdfs:domain         :Consent ;
        rdfs:range          :DataSubject ;
        rdfs:subPropertyOf  :isProvidedBy .

:DataErasure  a           owl:Class ;
        rdfs:comment      "Represents the type of processing where Erasure of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Erasure"@en ;
        rdfs:subClassOf   :Processing .

:DataDisclosureByTransmission
        a                 owl:Class ;
        rdfs:comment      "Represents the type of processing where Disclosure by Transmission of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Disclosure by Transmission"@en ;
        rdfs:subClassOf   :Processing .

:ConsentStatusExplicitlyGiven
        a             :StatusValidForProcessing , :Status , owl:NamedIndividual ;
        rdfs:comment  "Indicates consent is explicitly given."@en ;
        rdfs:label    "Explicitly Given"@en .

:Processing  a            owl:Class ;
        rdfs:comment      "Processing is defined by the GDPR (Article 4-2) as \"any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction;\".\n\nProcessing can be considered as the action, within an activity for example, that uses data in a particular or specific way. Therefore, processing specifies what is happening to/with the data. \n\nTo define a type of processing (or its associated action), the Processing class should be subclassed for each type. Furthermore, each subclass should define a instance as a generic representative of that action. For example, \"collect\" as a type of processing (defined by the GDPR), is defined as the class DataCollection, which is a subclass of Processing, and has the individual CollectionOfPersonalData to represent a generic instance of the concept. This is to provide a ready-to-use ontology in terms of \"collect\" as an action, while also providing a way to specialise the action/processing.\nGConsent defines several such types of processing taken from the text of the GDPR."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT#DataActivity> ;
        rdfs:label        "Processing"@en .

owl:versionIRI  a  owl:AnnotationProperty .

:DataConsultation  a      owl:Class ;
        rdfs:comment      "Represents the type of processing where Consultation of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Consultation"@en ;
        rdfs:subClassOf   :Processing .

:DataDestruction  a       owl:Class ;
        rdfs:comment      "Represents the type of processing where Destruction of data takes place."@en ;
        rdfs:isDefinedBy  <https://w3id.org/GDPRtEXT/gdpr#article4-2> ;
        rdfs:label        "Data Destruction"@en ;
        rdfs:subClassOf   :Processing .
