glam/schemas/20251121/linkml/modules/classes/AllocationAgency.yaml
2026-01-31 00:15:53 +01:00

232 lines
8.2 KiB
YAML

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/
hc: https://nde.nl/ontology/hc/
imports:
- linkml:types
- ../enums/AllocationDomainEnum
- ../metadata
- ../slots/has_or_had_description
- ../slots/has_or_had_score
- ../slots/specificity_annotation
- ./Country
- ./RegistrationAuthority
- ./SpecificityAnnotation
- ./Standard
- ./Subregion
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
classes:
AllocationAgency:
class_uri: org:FormalOrganization
description: "An organization that allocates identifiers within a specific geographic area \nand/or domain of heritage institutions.\n\n**Key Distinction from RegistrationAuthority:**\n\n- **RegistrationAuthority**: Maintains the GLOBAL registry for a standard\n - Example: Danish Agency for Culture and Palaces maintains global ISIL registry\n - Example: ISNI International Agency (WIPO) maintains global ISNI database\n\n- **AllocationAgency**: Allocates identifiers LOCALLY within constraints\n - Example: Koninklijke Bibliotheek allocates ISIL for Dutch public libraries\n - Example: OCLC allocates ISIL for Dutch academic libraries\n - Example: Nationaal Archief allocates ISIL for Dutch archives\n\n**Multi-Dimensional Scope:**\n\nAllocationAgencies have both:\n1. **Geographic scope**: Which country/region they serve\n2. **Domain scope**: Which types of institutions they serve\n\nThis allows multiple agencies per country, each serving different domains:\n- NL public libraries \u2192\
\ KB\n- NL academic libraries \u2192 OCLC\n- NL archives \u2192 Nationaal Archief\n\n**Relationship to Standard:**\n\nAn AllocationAgency allocates for one or more Standards:\n- AllocationAgency.allocates_for \u2192 Standard[]\n- Standard can have multiple AllocationAgencies (one per country/domain)\n\n**Examples:**\n\n| Agency | Country | Domain | Standard |\n|--------|---------|--------|----------|\n| Koninklijke Bibliotheek | NL | Public libraries | ISIL |\n| OCLC | NL | Academic libraries | ISIL |\n| Nationaal Archief | NL | Archives | ISIL |\n| British Library | GB | All | ISIL |\n| Library of Congress | US | All | ISIL |\n| OCLC | Global | Academic | VIAF |\n| Deutsche Nationalbibliothek | DE | All | ISNI |\n\n**Ontology Alignment:**\n\n- org:FormalOrganization - W3C Organization Ontology\n- Extends gleif_base:RegistrationAuthority concept (but for allocation, not registration)\n"
exact_mappings:
- org:FormalOrganization
close_mappings:
- gleif_base:RegistrationAuthority
- 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).\n\nExamples:\n- \"Koninklijke Bibliotheek\" (Dutch)\n- \"Deutsche Nationalbibliothek\" (German)\n- \"Biblioth\xE8que nationale de France\" (French)\n"
range: string
has_or_had_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).\n\nFor agencies that only serve specific regions within a country.\n\nExamples:\n- Staatsarchiv M\xFCnchen: [DE-BY] (Bavaria only)\n"
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: string
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.\n\nAllocationAgencies report their allocations to the global RegistrationAuthority.\n\nExamples:\n- KB (NL ISIL) \u2192 Danish Agency for Culture and Palaces\n- DNB (DE ISNI) \u2192 ISNI International Agency\n"
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: hc:hasWebsite
description: 'Official website of the allocation agency.
Preferably the page about identifier allocation services.
Note: slot_uri changed from schema:url to hc:hasWebsite to resolve OWL ambiguous type warning. schema:url is typically a DatatypeProperty but range: uri in LinkML can be ambiguous.
'
range: uri
close_mappings:
- schema:url
allocation_policy_url:
slot_uri: schema:usageInfo
description: 'URL to the allocation policy documentation.
Describes eligibility, process, requirements for obtaining identifiers.
'
range: uri
agency_description:
slot_uri: schema:description
description: Description of the agency's allocation services and scope
range: string
slots:
- specificity_annotation
- has_or_had_score
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"