OPDA Knowledge base
Logical tier Module: agent

Agent module

Substantial Agents (Person, Organisation), the anti-rigid Roles they play (Buyer, Seller, Proprietor), the Relator that mediates Property ownership (Proprietorship), and the lifecycle event that mutates Person identity (NameChangeEvent).

Entity inventory

EntityUFO meta-categoryNotes
BuyerRoleMixinCross-sortal — borne by Person OR Organisation; founded by Transaction
NameChangeEventEvent particularReified Person name-change event; identity PERSISTS
OrganisationSubstance KindFIBO LegalEntity pattern; subclass of org:Organization
PersonSubstance KindNatural person; PII anchor under DPV co-annotation
ProprietorRoleSortal — borne by Person (with named sub-Role for Organisation); founded by Proprietorship
ProprietorshipRelatorMediates Property + Proprietor against a RegisteredTitle
SellerRoleMixinCross-sortal — borne by Person OR Organisation; founded by Transaction

Enumerations bound by this module

SchemeUsed by attributeClosed/Open
OwnerTypeSchemeProprietor.ownerTypeClosed (2 members)
ParticipantStatusSchemeParticipant lifecycle (overlay profiles)Closed (4 members)
RoleSchemeRoleMixin.role notation surfaceClosed (11 members)
SellersCapacitySchemeSeller.hasAssertedCapacityClosed (5 members)

The agent module also reuses YesNoScheme for the Seller.hasOthersAged17OrOver attribute.

ER diagram

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E1BEE7", "primaryTextColor": "#4A148C", "primaryBorderColor": "#6A1B9A", "lineColor": "#37474F"}}}%% erDiagram accTitle: Agent Module — Entity-Relationship Diagram accDescr: Agent module entities (Person, Organisation as Substance Kinds; Buyer, Seller, Proprietor as Roles; Proprietorship as Relator) plus NameChangeEvent and Claim link. Seller }o--|| Person : "borneBy" Seller }o--|| Organisation : "borneBy" Buyer }o--|| Person : "borneBy" Buyer }o--|| Organisation : "borneBy" Proprietorship }o--|| RegisteredTitle : "bindsTitle" Proprietorship ||--o{ Proprietor : "founds" Proprietor }o--|| Person : "borneBy" Proprietor }o--|| Organisation : "borneBy (sub-Role)" NameChangeEvent }o--|| Person : "prov:wasAssociatedWith" Seller ||--o{ Claim : "hasEvidencedAuthority"

Source file: ../diagrams/agent-er.mmd.

Class hierarchy

OWL/RDFS subclass relationships. Person and Organisation are Substance Kinds (Organisation subclasses org:Organization). Buyer, Seller, Proprietor specialise foundation Role and RoleMixin meta-classes. Proprietorship specialises Relator. NameChangeEvent specialises prov:Activity.

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E1BEE7", "primaryTextColor": "#4A148C", "primaryBorderColor": "#6A1B9A", "lineColor": "#37474F"}}}%% classDiagram accTitle: Agent Module — Class Hierarchy accDescr: OWL/RDFS subclass relationships — Person and Organisation as substantial Kinds, Buyer and Seller as RoleMixins, Proprietor as Role, Proprietorship as Relator, NameChangeEvent as PROV-O Activity. class orgOrganization["org:Organization"] class Role class RoleMixin class Relator class provActivity["prov:Activity"] class Person { hasAssertedCapacity hasSpecialCategoryData } class Organisation { hasAssertedCapacity } class Buyer { role } class Seller { hasAssertedCapacity hasOthersAged17OrOver role } class Proprietor { ownerType role } class Proprietorship { joint-tenancy discriminator } class NameChangeEvent { prov:atTime } orgOrganization <|-- Organisation RoleMixin <|-- Buyer RoleMixin <|-- Seller Role <|-- Proprietor Relator <|-- Proprietorship provActivity <|-- NameChangeEvent

Identity-key summary

--- config: layout: elk elk: mergeEdges: false nodePlacementStrategy: BRANDES_KOEPF --- %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#E1BEE7", "primaryTextColor": "#4A148C", "primaryBorderColor": "#6A1B9A", "lineColor": "#37474F"}}}%% flowchart LR accTitle: Agent Module — Identity-Key Summary accDescr: Identity Criterion key surfaces for the seven agent-module entities — FIBO multi-identifier bundle for Person and Organisation, parasitic identity for Buyer/Seller/Proprietor Roles, Relator-tuple for Proprietorship, PROV-O tuple for NameChangeEvent. classDef icCell fill:#F8BBD9,stroke:#AD1457,stroke-width:2px,color:#880E4F classDef entityCell fill:#B3E5FC,stroke:#0277BD,stroke-width:2px,color:#01579B PersonE[Person]:::entityCell -->|"IC"| PIC["FIBO multi-identifier bundle
NI + passport + driving-licence
+ name + DoB"]:::icCell OrganisationE[Organisation]:::entityCell -->|"IC"| OIC["registration-record bundle
LEI + Companies House CRN"]:::icCell BuyerE[Buyer]:::entityCell -->|"IC"| BIC["bearer-identity +
founding Transaction
(parasitic, NEVER keyed)"]:::icCell SellerE[Seller]:::entityCell -->|"IC"| SIC["bearer-identity +
founding Transaction
(parasitic, NEVER keyed)"]:::icCell ProprietorE[Proprietor]:::entityCell -->|"IC"| PrIC["bearer-identity +
founding Proprietorship
(parasitic, NEVER keyed)"]:::icCell ProprietorshipE[Proprietorship]:::entityCell -->|"IC"| PsIC["(RegisteredTitle,
Persons-set)"]:::icCell NameChangeEventE[NameChangeEvent]:::entityCell -->|"IC"| NCIC["(Person,
prov-timestamp)"]:::icCell

Comments

Loading comments…