glam/schemas/20251121/linkml/modules/classes/RegistrationInfo.yaml
kempersc 0393b321c9 refactor(schema): unify custodian_type slots into has_or_had_custodian_type (Rule 39, 43)
- Migrate 236+ class files from custodian_types to has_or_had_custodian_type
- Archive deprecated slots: custodian_type, custodian_types, custodian_type_broader/narrower/related
- Update main schema and manifest imports
- Fix Custodian.yaml class to use new slot
- Fix annotation format (list→scalar) in has_or_had_custodian_type.yaml

Rules applied:
- Rule 39: RiC-O naming convention (hasOrHad pattern)
- Rule 43: Slot nouns must be singular (multivalued:true for cardinality)
- Rule 38: Slot centralization with semantic URI
2026-01-09 10:55:21 +01:00

212 lines
8.2 KiB
YAML

id: https://nde.nl/ontology/hc/class/RegistrationInfo
name: registration_info_classes
title: Registration Information Classes
description: |
Classes for capturing organizational registration details including
registration numbers, dates, authorities, and trade registers.
This module provides the foundation for tracking legal entity registrations
across multiple jurisdictions worldwide.
prefixes:
linkml: https://w3id.org/linkml/
rov: http://www.w3.org/ns/regorg#
gleif_base: https://www.gleif.org/ontology/Base/
gleif_ra: https://www.gleif.org/ontology/RegistrationAuthority/
org: http://www.w3.org/ns/org#
schema: http://schema.org/
imports:
- linkml:types
- ../metadata
- ./TimeSpan
- ./Jurisdiction
- ./RegistrationAuthority
- ../slots/jurisdiction
- ../slots/description
- ../slots/website
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
RegistrationNumber:
class_uri: gleif_base:RegistryIdentifier
description: "Official registration number assigned by an authority and recorded\
\ in a trade register.\n\n**Ontology Alignment:**\n\n- gleif_base:RegistryIdentifier\
\ - \"An identifier associated with an entry in a registry,\n i.e., one that\
\ provides an index to the registry for the recorded item.\"\n- rov:registration\
\ - \"The registration is a fundamental relationship between a legal \n entity\
\ and the authority with which it is registered\"\n\n**Examples:**\n\n- Dutch\
\ KvK number: \"41215422\" (Rijksmuseum)\n- UK Companies House: \"RC000024\"\
\ or \"00000224\"\n- German HRB: \"HRB 123456 B\" (Berlin)\n- Irish charity\
\ number: \"CHY 4700\"\n- US EIN: \"12-3456789\"\n\n**Key Properties:**\n\n\
- number: The actual registration string\n- type: Classification of the registration\
\ (KvK, EIN, CHY, etc.)\n- trade_register: The register where this number is\
\ recorded\n- temporal_validity: When this registration was/is valid\n\nSee\
\ also:\n- TradeRegister: The register that issued this number\n- RegistrationAuthority:\
\ The organization maintaining the register\n"
exact_mappings:
- gleif_base:RegistryIdentifier
close_mappings:
- rov:registration
- schema:identifier
attributes:
id:
identifier: true
slot_uri: schema:identifier
description: Unique identifier for this registration record
range: uriorcurie
required: true
number:
slot_uri: gleif_base:hasTag
description: "The actual registration number/code.\n\ngleif_base:hasTag -\
\ \"Has a unique combination of alphanumeric characters \ncorresponding\
\ to the identifier\"\n\nExamples: \n- \"41215422\" (KvK number)\n- \"CHY\
\ 4700\" (Irish charity number)\n- \"HRB 123456 B\" (German commercial register)\n"
range: string
required: true
type:
slot_uri: schema:additionalType
description: "Type/scheme of registration number.\n\nExamples: \n- \"KvK\"\
\ (Dutch Chamber of Commerce)\n- \"EIN\" (US Employer ID)\n- \"CRN\" (UK\
\ Company Registration Number)\n- \"CHY\" (Irish Charity Number)\n- \"HRB\"\
\ (German Handelsregister B - for GmbH, AG)\n- \"HRA\" (German Handelsregister\
\ A - for partnerships)\n"
range: string
required: true
trade_register:
slot_uri: gleif_base:isRegisteredIn
description: |
The trade register where this number is recorded.
gleif_base:isRegisteredIn - "indicates the registry that something is registered in"
Links to TradeRegister class.
range: TradeRegister
required: false
temporal_validity:
slot_uri: schema:temporalCoverage
description: |
Time period during which this registration number is/was valid.
Captures registration date through deregistration (if applicable).
Uses TimeSpan class for fuzzy temporal boundaries.
range: TimeSpan
required: true
slots:
- specificity_annotation
- template_specificity
slot_usage:
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
GovernanceStructure:
class_uri: org:hasUnit
description: |
Organizational governance structure including departments, branches, and units.
Used to model the internal structure of complex organizations.
Maps to:
- org:hasUnit (W3C Organization Ontology)
- org:OrganizationalUnit
attributes:
id:
identifier: true
slot_uri: schema:identifier
description: Unique identifier for the governance structure
range: uriorcurie
required: true
structure_type:
slot_uri: schema:additionalType
description: |
Type of governance structure.
Examples: "hierarchical", "matrix", "flat", "network"
range: string
required: true
organizational_units:
slot_uri: org:hasUnit
description: |
List of organizational units within the structure.
Note: Range references CustodianLegalStatus (circular dependency handled at runtime).
range: string
multivalued: true
governance_body:
slot_uri: org:reportsTo
description: |
Top-level governance body (board, trustees, council).
Note: Range references CustodianLegalStatus (circular dependency handled at runtime).
range: string
description:
slot_uri: schema:description
description: Description of the governance structure and its characteristics
range: string
slots:
- specificity_annotation
- template_specificity
slot_usage:
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
LegalStatus:
class_uri: gleif_base:RegistrationStatus
description: "Legal status of an organization (active, dissolved, suspended, etc.).\n\
\n**Ontology Alignment:**\n\n- gleif_base:RegistrationStatus - \"A lifecycle\
\ stage indicating the status of a \n given registration of something, such\
\ as a business or legal entity.\"\n- gleif_base:EntityStatus - ACTIVE or INACTIVE\
\ (GLEIF enumeration)\n\nStatus definitions vary by jurisdiction and legal framework.\n"
exact_mappings:
- gleif_base:RegistrationStatus
close_mappings:
- gleif_base:EntityStatus
- schema:status
attributes:
id:
identifier: true
slot_uri: schema:identifier
description: Unique identifier for the legal status
range: uriorcurie
required: true
status_code:
slot_uri: gleif_base:hasTag
description: "Standardized status code.\n\ngleif_base:hasTag - \"Has a unique\
\ combination of alphanumeric characters \ncorresponding to the identifier\"\
\n\nExamples: \"ACTIVE\", \"DISSOLVED\", \"SUSPENDED\", \"MERGED\"\n\nGLEIF\
\ defines: ACTIVE, INACTIVE\n"
range: string
required: true
pattern: ^[A-Z_]+$
status_name:
slot_uri: schema:name
description: Human-readable status name
range: string
required: true
description:
slot_uri: schema:description
description: Detailed description of what this status means legally
range: string
temporal_validity:
slot_uri: schema:temporalCoverage
description: Time period during which this status applies
range: TimeSpan
required: true
jurisdiction:
slot_uri: gleif_base:hasLegalJurisdiction
description: "Legal jurisdiction where this status is defined.\n\ngleif_base:hasLegalJurisdiction\
\ - \"The jurisdiction of legal formation \nand registration of the entity\"\
\n"
range: Jurisdiction
slots:
- specificity_annotation
- template_specificity
slot_usage:
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true