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 - ../metadata - ./Standard - ./RegistrationAuthority - ./Country - ./Subregion - ../slots/has_or_had_description - ../slots/specificity_annotation - ../slots/has_or_had_score - ./SpecificityAnnotation - ./TemplateSpecificityScore - ./TemplateSpecificityType - ./TemplateSpecificityTypes - ../enums/AllocationDomainEnum 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: 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.\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: "['*']" custodian_types_rationale: Universal utility concept