glam/schemas/20251121/linkml/modules/classes/AllocationAgency.yaml
2025-12-01 16:06:34 +01:00

340 lines
12 KiB
YAML

# Allocation Agency Class
# Organizations that allocate identifiers locally (country/domain-specific)
#
# Key distinction from RegistrationAuthority:
# - RegistrationAuthority: Maintains the GLOBAL registry (e.g., OCLC for VIAF)
# - AllocationAgency: Allocates identifiers LOCALLY (e.g., KB for ISIL in NL public libraries)
#
# Examples for ISIL (ISO 15511):
# - RegistrationAuthority: Danish Agency for Culture and Palaces (global ISIL registry)
# - AllocationAgency NL (libraries): Koninklijke Bibliotheek
# - AllocationAgency NL (academic): OCLC
# - AllocationAgency NL (archives): Nationaal Archief
#
# Design notes:
# - Multiple AllocationAgencies can exist per country (domain-specific)
# - AllocationAgency has both geographic_scope AND allocation_domain
# - Links to Standard via allocates_for relationship
id: https://nde.nl/ontology/hc/class/AllocationAgency
name: allocation_agency
title: Allocation Agency Class
prefixes:
linkml: https://w3id.org/linkml/
schema: http://schema.org/
org: http://www.w3.org/ns/org#
gleif-base: https://www.gleif.org/ontology/Base/
imports:
- linkml:types
- ../metadata
# NOTE: ./Standard import removed to break circular dependency
# Standard class is referenced by name in slot range (forward reference)
- ./Country
- ./Subregion
- ../slots/description
- ../slots/website
- ../slots/contact_email
classes:
AllocationAgency:
class_uri: org:FormalOrganization
description: >-
An organization that allocates identifiers within a specific geographic area
and/or domain of heritage institutions.
**Key Distinction from RegistrationAuthority:**
- **RegistrationAuthority**: Maintains the GLOBAL registry for a standard
- Example: Danish Agency for Culture and Palaces maintains global ISIL registry
- Example: ISNI International Agency (WIPO) maintains global ISNI database
- **AllocationAgency**: Allocates identifiers LOCALLY within constraints
- Example: Koninklijke Bibliotheek allocates ISIL for Dutch public libraries
- Example: OCLC allocates ISIL for Dutch academic libraries
- Example: Nationaal Archief allocates ISIL for Dutch archives
**Multi-Dimensional Scope:**
AllocationAgencies have both:
1. **Geographic scope**: Which country/region they serve
2. **Domain scope**: Which types of institutions they serve
This allows multiple agencies per country, each serving different domains:
- NL public libraries → KB
- NL academic libraries → OCLC
- NL archives → Nationaal Archief
**Relationship to Standard:**
An AllocationAgency allocates for one or more Standards:
- AllocationAgency.allocates_for → Standard[]
- Standard can have multiple AllocationAgencies (one per country/domain)
**Examples:**
| Agency | Country | Domain | Standard |
|--------|---------|--------|----------|
| Koninklijke Bibliotheek | NL | Public libraries | ISIL |
| OCLC | NL | Academic libraries | ISIL |
| Nationaal Archief | NL | Archives | ISIL |
| British Library | GB | All | ISIL |
| Library of Congress | US | All | ISIL |
| OCLC | Global | Academic | VIAF |
| Deutsche Nationalbibliothek | DE | All | ISNI |
**Ontology Alignment:**
- org:FormalOrganization - W3C Organization Ontology
- Extends gleif-base:RegistrationAuthority concept (but for allocation, not registration)
exact_mappings:
- org:FormalOrganization
close_mappings:
- gleif-base:RegistrationAuthority # Similar but for allocation
- schema:Organization
attributes:
id:
identifier: true
slot_uri: schema:identifier
description: >-
Unique identifier for this allocation agency.
Recommended format: {country}-{abbreviation} or {abbreviation}
Examples: "nl-kb", "nl-oclc", "nl-na", "gb-bl", "us-loc"
range: uriorcurie
required: true
name:
slot_uri: schema:name
description: >-
Official full name of the allocation agency.
Examples:
- "Koninklijke Bibliotheek"
- "Nationaal Archief"
- "British Library"
- "Library of Congress"
range: string
required: true
name_local:
slot_uri: schema:alternateName
description: >-
Name in local language (if different from English name).
Examples:
- "Koninklijke Bibliotheek" (Dutch)
- "Deutsche Nationalbibliothek" (German)
- "Bibliothèque nationale de France" (French)
range: string
abbreviation:
slot_uri: schema:alternateName
description: >-
Common abbreviation.
Examples: "KB", "NA", "BL", "LOC", "BnF", "DNB"
range: string
country_scope:
slot_uri: gleif-base:hasCoverageArea
description: >-
Geographic area(s) where this agency allocates identifiers.
Usually a single country, but can be multiple countries or subregions.
Examples:
- [NL] for Koninklijke Bibliotheek
- [GB] for British Library
- [US] for Library of Congress
- [DE-BY, DE-BW] for regional German agency
range: Country
multivalued: true
required: true
inlined: false
subregion_scope:
slot_uri: schema:areaServed
description: >-
Subregion-level geographic scope (if more specific than country).
For agencies that only serve specific regions within a country.
Examples:
- Staatsarchiv München: [DE-BY] (Bavaria only)
range: Subregion
multivalued: true
inlined: false
allocation_domain:
slot_uri: schema:audienceType
description: >-
Types of institutions this agency allocates identifiers for.
Multiple values allowed for agencies serving multiple domains.
Examples:
- KB: [LIBRARY_PUBLIC]
- OCLC: [LIBRARY_ACADEMIC, LIBRARY_RESEARCH]
- Nationaal Archief: [ARCHIVE]
- British Library: [LIBRARY_PUBLIC, LIBRARY_ACADEMIC, ARCHIVE] (all types)
range: AllocationDomainEnum
multivalued: true
required: true
allocates_for:
slot_uri: schema:serviceOutput
description: >-
Standards for which this agency allocates identifiers.
Most agencies allocate for a single standard, but some handle multiple.
Examples:
- KB: [ISIL]
- DNB: [ISIL, ISNI]
- OCLC: [ISIL, VIAF]
range: Standard
multivalued: true
required: true
inlined: false
allocation_prefix:
slot_uri: schema:identifier
description: >-
Prefix used by this agency when allocating identifiers.
For ISIL, this is typically the country code.
Examples:
- Netherlands ISIL: "NL-"
- Germany ISIL: "DE-"
- UK ISIL: "UK-" or "GB-" (both used historically)
range: string
parent_registration_authority:
slot_uri: schema:parentOrganization
description: >-
The registration authority to which this agency reports allocations.
AllocationAgencies report their allocations to the global RegistrationAuthority.
Examples:
- KB (NL ISIL) → Danish Agency for Culture and Palaces
- DNB (DE ISNI) → ISNI International Agency
range: RegistrationAuthority
inlined: false
allocation_start_date:
slot_uri: schema:startDate
description: >-
Date when this agency started allocating identifiers.
Format: ISO 8601 date
range: date
allocation_end_date:
slot_uri: schema:endDate
description: >-
Date when this agency stopped allocating (if no longer active).
Null if still active.
range: date
is_active:
slot_uri: schema:status
description: Whether this agency is currently allocating identifiers
range: boolean
required: true
website:
slot_uri: schema:url
description: >-
Official website of the allocation agency.
Preferably the page about identifier allocation services.
range: uri
contact_email:
slot_uri: schema:email
description: >-
Contact email for identifier allocation requests.
Examples: "isil@kb.nl", "isni@dnb.de"
range: string
allocation_policy_url:
slot_uri: schema:usageInfo
description: >-
URL to the allocation policy documentation.
Describes eligibility, process, requirements for obtaining identifiers.
range: uri
description:
slot_uri: schema:description
description: Description of the agency's allocation services and scope
range: string
enums:
AllocationDomainEnum:
description: >-
Types of heritage institutions that an AllocationAgency can serve.
Based on GLAMORCUBESFIXPHDNT taxonomy but focused on allocation domains.
permissible_values:
LIBRARY_PUBLIC:
description: >-
Public libraries (openbare bibliotheken).
Examples: Municipal libraries, regional libraries
LIBRARY_ACADEMIC:
description: >-
Academic and university libraries.
Examples: University libraries, polytechnic libraries
LIBRARY_RESEARCH:
description: >-
Research and special libraries.
Examples: Corporate libraries, government agency libraries
LIBRARY_NATIONAL:
description: >-
National libraries.
Examples: Koninklijke Bibliotheek, Library of Congress
ARCHIVE:
description: >-
Archives of all types.
Examples: National archives, regional archives, municipal archives
MUSEUM:
description: >-
Museums of all types.
Examples: Art museums, history museums, science museums
GALLERY:
description: >-
Art galleries and exhibition spaces.
Examples: Commercial galleries, kunsthallen
HERITAGE_SOCIETY:
description: >-
Heritage and historical societies.
Examples: Heemkundige kringen, genealogical societies
RESEARCH_ORGANIZATION:
description: >-
Research organizations and documentation centers.
Examples: Research institutes, knowledge centers
EDUCATION_PROVIDER:
description: >-
Educational institutions with heritage collections.
Examples: Universities, academies
RELIGIOUS_INSTITUTION:
description: >-
Religious institutions with collections.
Examples: Church archives, monastery libraries
GOVERNMENT_AGENCY:
description: >-
Government agencies and official institutions.
Examples: Ministries, provincial heritage services
ALL:
description: >-
Agency allocates for all institution types.
Used when there's a single national agency for all domains.