Physical — ontology Module: agent

    Agent module

    The Agent module emits 7 OWL classes: 2 Substance Kinds (Person, Organisation), 3 anti-rigid Roles/RoleMixins (Seller, Buyer, Proprietor), 1 Relator (Proprietorship), and 1 reified PROV-O Event (NameChangeEvent).

    Files

    FileRoleSource
    opda-agent.ttl7 OWL classes + DatatypeProperty/ObjectPropertyopda-agent.ttl
    opda-agent-shapes.ttl2 identity-key + 2 SHACL-AF rules + 1 Cat 4 PII shapeopda-agent-shapes.ttl
    opda-agent-annotations.ttlDPV class-level + 2 variant refinementsopda-agent-annotations.ttl

    Ontology header

    <https://opda.org.uk/pdtf/graph/agent>
        rdf:type owl:Ontology ;
        dct:title "OPDA Agent Module"@en ;
        owl:imports <https://opda.org.uk/pdtf/harness/release/1.0.0/>, <https://opda.org.uk/pdtf/scheme/> ;
        owl:versionIRI <https://opda.org.uk/pdtf/harness/release/agent/1.0.0/> .

    Import chain

    • <https://opda.org.uk/pdtf/harness/release/1.0.0/> — foundation (Role, RoleMixin, Relator meta-classes)
    • <https://opda.org.uk/pdtf/scheme/> — SKOS schemes (RoleScheme, OwnerType, SellersCapacity)

    External vocabularies referenced (not imported):

    • org:Organization — opda:Organisation rdfs:subClassOf org:Organization
    • prov:Activity — superclass of opda:NameChangeEvent

    Classes (7)

    ClassUFO categoryBearer
    opda:BuyerRoleMixinPerson OR Organisation
    opda:NameChangeEventEvent particular(event; no bearer)
    opda:OrganisationSubstance Kind(independent; subclass of org:Organization)
    opda:PersonSubstance Kind(independent)
    opda:ProprietorRolePerson (or Organisation under named specialisation)
    opda:ProprietorshipRelatorProperty + Proprietors + RegisteredTitle
    opda:SellerRoleMixinPerson OR Organisation

    See classes.md for per-class blocks.

    Module class hierarchy

    %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E1BEE7", "primaryTextColor": "#4A148C", "primaryBorderColor": "#6A1B9A", "lineColor": "#37474F"}}}%% classDiagram accTitle: Agent module — class hierarchy accDescr: Seven OWL classes. Person and Organisation are Substance Kinds. Seller and Buyer are RoleMixins (cross-sortal). Proprietor is a Role (sortal). Proprietorship is a Relator. NameChangeEvent is a reified PROV-O Activity. External superclasses shown. class orgOrganization["org_Organization (external)"] class provActivity["prov_Activity (external)"] class RoleMixin["opda_RoleMixin"] class Role["opda_Role"] class Relator["opda_Relator"] class Person["opda_Person"] { owl_Class UFO Substance Kind DOLCE Endurant Agent } class Organisation["opda_Organisation"] { owl_Class UFO Substance Kind } class Seller["opda_Seller"] { owl_Class UFO RoleMixin } class Buyer["opda_Buyer"] { owl_Class UFO RoleMixin } class Proprietor["opda_Proprietor"] { owl_Class UFO Role } class Proprietorship["opda_Proprietorship"] { owl_Class UFO Relator } class NameChangeEvent["opda_NameChangeEvent"] { owl_Class UFO Event particular } orgOrganization <|-- Organisation : rdfs_subClassOf RoleMixin <|-- Seller : rdfs_subClassOf RoleMixin <|-- Buyer : rdfs_subClassOf Role <|-- Proprietor : rdfs_subClassOf Relator <|-- Proprietorship : rdfs_subClassOf provActivity <|-- NameChangeEvent : rdfs_subClassOf

    Module shape-target graph

    --- config: layout: elk --- %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E8F5E9", "primaryTextColor": "#1B5E20", "primaryBorderColor": "#2E7D32", "lineColor": "#37474F"}}}%% flowchart LR accTitle: Agent shapes and their target classes accDescr: Two identity-key shapes plus one Cat-4 PII shape plus two SHACL-AF rules; all five target opda:Person or opda:Organisation. %% @prefix opda: %% @prefix sh: classDef shape fill:#E8F5E9,stroke:#2E7D32,stroke-width:2px,stroke-dasharray:5 5,color:#1B5E20 classDef cls fill:#E1BEE7,stroke:#6A1B9A,stroke-width:2px,color:#4A148C classDef rule fill:#E1F5FE,stroke:#0277BD,stroke-width:2px,color:#01579B classDef violation fill:#FFCDD2,stroke:#C62828,stroke-width:2px,stroke-dasharray:5 5,color:#B71C1C S1[opda:OrganisationIdentityKeyShape]:::shape S2[opda:PersonIdentityKeyShape]:::shape S3[opda:SpecialCategoryPIIWithoutLawfulBasisShape]:::violation R1[opda:IdentifierSuccessionRule]:::rule R2[opda:CapacityAuthorityMatchRule]:::rule C1[opda:Person]:::cls C2[opda:Organisation]:::cls S1 -->|sh:targetClass| C2 S2 -->|sh:targetClass| C1 S3 -->|sh:targetClass via sh:sparql| C1 R1 -->|sh:targetClass| C1 R2 -->|sh:targetClass| C1

    Module DPV co-annotation graph

    --- config: layout: elk --- %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E0F2F1", "primaryTextColor": "#004D40", "primaryBorderColor": "#00695C", "lineColor": "#37474F"}}}%% flowchart LR accTitle: Agent module — DPV personal-data co-annotations accDescr: Person carries dpv-pd:Name baseline. Organisation carries no class-level baseline per ODR-0006 Q6 plus ODR-0018 Rule 4. Two variant refinements scope lawful basis for dateOfBirth and email predicates. %% @prefix opda: %% @prefix dpv-pd: classDef pii fill:#E0F2F1,stroke:#00695C,stroke-width:2px,color:#004D40 classDef dpv fill:#F8BBD9,stroke:#AD1457,stroke-width:2px,color:#880E4F classDef refinement fill:#FFE0B2,stroke:#E65100,stroke-width:2px,color:#BF360C classDef note fill:#ECEFF1,stroke:#455A64,stroke-width:2px,color:#263238 P[opda:Person]:::pii O["opda:Organisation
    no class-level baseline"]:::note Name[dpv-pd:Name]:::dpv DOB[dpv-pd:DateOfBirth]:::dpv Email[dpv-pd:EmailAddress]:::dpv P -->|dpv-pd:hasPersonalDataCategory| Name R1[PersonDateOfBirthRefinement]:::refinement R2[PersonEmailRefinement]:::refinement R1 -->|opda:targetsKind| P R1 -->|opda:lawfulBasis| DOB R2 -->|opda:targetsKind| P R2 -->|opda:lawfulBasis| Email

    SHACL shapes (5 + 2 rules)

    ShapeSeverityCategory
    opda:OrganisationIdentityKeyShapeViolationCat 1
    opda:PersonIdentityKeyShapeViolationCat 1
    opda:SpecialCategoryPIIWithoutLawfulBasisShapeViolationCat 4
    opda:CapacityAuthorityMatchRuleInfoSHACL-AF
    opda:IdentifierSuccessionRuleInfoSHACL-AF

    See shapes.md for per-shape blocks.

    DPV annotations

    Class-level + 2 variant refinements. See annotations.md.

    Source ODR + ADR

    Comments

    Loading comments…