438 lines
16 KiB
YAML
438 lines
16 KiB
YAML
# Standards Ecosystem Examples
|
|
# Demonstrates the full identifier standards modeling pattern
|
|
#
|
|
# Examples:
|
|
# 1. ISIL (ISO 15511) - Library/Archive identifier
|
|
# 2. ISNI (ISO 27729) - Name identifier (dual-purpose)
|
|
# 3. Wikidata - Non-ISO standard
|
|
#
|
|
# Shows relationships between:
|
|
# - StandardsOrganization (defines standards)
|
|
# - Standard (defines identifier formats)
|
|
# - RegistrationAuthority (maintains global registry)
|
|
# - AllocationAgency (allocates locally)
|
|
# - IdentifierFormat (format variants)
|
|
# - CustodianIdentifier (actual identifier values)
|
|
|
|
# ==============================================================================
|
|
# STANDARDS ORGANIZATIONS
|
|
# ==============================================================================
|
|
|
|
standards_organizations:
|
|
- id: iso
|
|
name: International Organization for Standardization
|
|
abbreviation: ISO
|
|
organization_type: INTERGOVERNMENTAL
|
|
founded_year: 1947
|
|
headquarters_country: CH
|
|
website: https://www.iso.org/
|
|
description: |
|
|
ISO is an independent, non-governmental international organization with a
|
|
membership of 167 national standards bodies. Through its members, it brings
|
|
together experts to share knowledge and develop voluntary, consensus-based,
|
|
market-relevant International Standards.
|
|
member_countries:
|
|
- NL
|
|
- DE
|
|
- GB
|
|
- FR
|
|
- US
|
|
- JP
|
|
# ... 167 member countries
|
|
|
|
- id: oclc
|
|
name: Online Computer Library Center
|
|
abbreviation: OCLC
|
|
organization_type: LIBRARY_COOPERATIVE
|
|
founded_year: 1967
|
|
headquarters_country: US
|
|
website: https://www.oclc.org/
|
|
description: |
|
|
OCLC is a global library cooperative that provides shared technology services,
|
|
original research, and community programs for its membership and the library
|
|
community at large. OCLC manages WorldCat and VIAF.
|
|
|
|
- id: wikimedia
|
|
name: Wikimedia Foundation
|
|
abbreviation: WMF
|
|
organization_type: INDUSTRY_CONSORTIUM
|
|
founded_year: 2003
|
|
headquarters_country: US
|
|
website: https://wikimediafoundation.org/
|
|
description: |
|
|
The Wikimedia Foundation operates Wikipedia and Wikidata. Wikidata provides
|
|
structured data identifiers (Q-numbers) for entities including heritage institutions.
|
|
|
|
# ==============================================================================
|
|
# STANDARDS
|
|
# ==============================================================================
|
|
|
|
standards:
|
|
- id: isil
|
|
name: International Standard Identifier for Libraries and Related Organizations
|
|
abbreviation: ISIL
|
|
iso_standard_number: ISO 15511
|
|
defined_by: iso
|
|
registration_authority: danish-culture-agency # RegistrationAuthority reference
|
|
scope_type: GLOBAL
|
|
identifier_domain: ORGANIZATION
|
|
first_published_year: 2003
|
|
current_version: "ISO 15511:2019"
|
|
website: https://www.iso.org/standard/77849.html
|
|
lookup_url_template: "https://ld.zdb-services.de/resource/organisations/{id}"
|
|
description: |
|
|
ISIL (ISO 15511) provides a unique identifier for libraries and related
|
|
organizations such as archives, museums, and consortia. The identifier
|
|
consists of a country prefix and a locally-assigned code.
|
|
formats:
|
|
- id: isil-full
|
|
format_name: Full ISIL (with country prefix)
|
|
pattern: "^[A-Z]{2}-[A-Za-z0-9-]+$"
|
|
example: NL-AmRMA
|
|
is_canonical: true
|
|
is_uri_format: false
|
|
- id: isil-local
|
|
format_name: Local part only
|
|
pattern: "^[A-Za-z0-9-]+$"
|
|
example: AmRMA
|
|
is_canonical: false
|
|
is_uri_format: false
|
|
transformation_to_canonical: "Prepend country code prefix with hyphen"
|
|
- id: isil-uri
|
|
format_name: ZDB URI format
|
|
pattern: "^https://ld\\.zdb-services\\.de/resource/organisations/[A-Z]{2}-[A-Za-z0-9-]+$"
|
|
example: https://ld.zdb-services.de/resource/organisations/NL-AmRMA
|
|
is_canonical: false
|
|
is_uri_format: true
|
|
transformation_to_canonical: "Extract ISIL code from URI path"
|
|
canonical_format: isil-full
|
|
|
|
- id: isni
|
|
name: International Standard Name Identifier
|
|
abbreviation: ISNI
|
|
iso_standard_number: ISO 27729
|
|
defined_by: iso
|
|
registration_authority: isni-international # RegistrationAuthority reference
|
|
scope_type: GLOBAL
|
|
identifier_domain: NAME_AUTHORITY # Note: NAME_AUTHORITY, not just ORGANIZATION
|
|
first_published_year: 2012
|
|
current_version: "ISO 27729:2012"
|
|
website: https://isni.org/
|
|
lookup_url_template: "https://isni.org/isni/{id}"
|
|
description: |
|
|
ISNI (ISO 27729) is an identifier for the public identities of contributors
|
|
to creative works. It identifies names, not just organizations. This means
|
|
an ISNI identifies BOTH the entity AND its authoritative name record.
|
|
formats:
|
|
- id: isni-display
|
|
format_name: Display format with spaces
|
|
pattern: "^[0-9]{4} [0-9]{4} [0-9]{4} [0-9]{3}[0-9X]$"
|
|
example: "0000 0001 2146 5765"
|
|
is_canonical: false
|
|
is_uri_format: false
|
|
transformation_to_canonical: "Remove all spaces"
|
|
- id: isni-compact
|
|
format_name: Compact format (canonical)
|
|
pattern: "^[0-9]{15}[0-9X]$"
|
|
example: "0000000121465765"
|
|
is_canonical: true
|
|
is_uri_format: false
|
|
- id: isni-uri
|
|
format_name: ISNI URI format
|
|
pattern: "^https://isni\\.org/isni/[0-9]{15}[0-9X]$"
|
|
example: https://isni.org/isni/0000000121465765
|
|
is_canonical: false
|
|
is_uri_format: true
|
|
transformation_to_canonical: "Extract 16-digit code from URI path"
|
|
canonical_format: isni-compact
|
|
|
|
- id: wikidata
|
|
name: Wikidata Entity Identifier
|
|
abbreviation: Q-ID
|
|
iso_standard_number: null # Not an ISO standard
|
|
defined_by: wikimedia
|
|
registration_authority: wikimedia-foundation # RegistrationAuthority reference
|
|
scope_type: GLOBAL
|
|
identifier_domain: ORGANIZATION # Can be any entity type
|
|
first_published_year: 2012
|
|
current_version: null
|
|
website: https://www.wikidata.org/
|
|
lookup_url_template: "https://www.wikidata.org/wiki/{id}"
|
|
description: |
|
|
Wikidata Q-IDs are unique identifiers for entities in the Wikidata knowledge base.
|
|
They can identify any type of entity including organizations, people, places, and concepts.
|
|
formats:
|
|
- id: wikidata-qid
|
|
format_name: Q-ID format
|
|
pattern: "^Q[0-9]+$"
|
|
example: Q190804
|
|
is_canonical: true
|
|
is_uri_format: false
|
|
- id: wikidata-uri
|
|
format_name: Wikidata entity URI
|
|
pattern: "^https?://www\\.wikidata\\.org/(?:wiki|entity)/Q[0-9]+$"
|
|
example: https://www.wikidata.org/entity/Q190804
|
|
is_canonical: false
|
|
is_uri_format: true
|
|
transformation_to_canonical: "Extract Q-number from URI path"
|
|
canonical_format: wikidata-qid
|
|
|
|
- id: viaf
|
|
name: Virtual International Authority File
|
|
abbreviation: VIAF
|
|
iso_standard_number: null # Not an ISO standard (OCLC/national libraries collaboration)
|
|
defined_by: oclc
|
|
registration_authority: oclc-viaf # RegistrationAuthority reference
|
|
scope_type: GLOBAL
|
|
identifier_domain: NAME_AUTHORITY
|
|
first_published_year: 2003
|
|
current_version: null
|
|
website: https://viaf.org/
|
|
lookup_url_template: "https://viaf.org/viaf/{id}"
|
|
description: |
|
|
VIAF is an international authority file that combines authority records from
|
|
national libraries and other contributors into clusters. Each cluster has a
|
|
VIAF ID that links to the contributing authority records.
|
|
formats:
|
|
- id: viaf-numeric
|
|
format_name: Numeric VIAF ID
|
|
pattern: "^[0-9]+$"
|
|
example: "148691498"
|
|
is_canonical: true
|
|
is_uri_format: false
|
|
- id: viaf-uri
|
|
format_name: VIAF URI format
|
|
pattern: "^https://viaf\\.org/viaf/[0-9]+$"
|
|
example: https://viaf.org/viaf/148691498
|
|
is_canonical: false
|
|
is_uri_format: true
|
|
transformation_to_canonical: "Extract numeric ID from URI path"
|
|
canonical_format: viaf-numeric
|
|
|
|
# ==============================================================================
|
|
# ALLOCATION AGENCIES
|
|
# ==============================================================================
|
|
|
|
allocation_agencies:
|
|
# Dutch ISIL allocation (multiple agencies by domain)
|
|
- id: nl-kb-isil
|
|
name: Koninklijke Bibliotheek
|
|
name_local: Koninklijke Bibliotheek
|
|
abbreviation: KB
|
|
geographic_scope:
|
|
- alpha_2: NL
|
|
alpha_3: NLD
|
|
allocation_domain:
|
|
- LIBRARY_PUBLIC
|
|
- LIBRARY_NATIONAL
|
|
allocates_for:
|
|
- isil
|
|
allocation_prefix: "NL-"
|
|
parent_registration_authority: danish-culture-agency
|
|
is_active: true
|
|
website: https://www.kb.nl/
|
|
contact_email: isil@kb.nl
|
|
allocation_policy_url: https://www.kb.nl/isil
|
|
description: |
|
|
The Koninklijke Bibliotheek (Royal Library) is the national library of the
|
|
Netherlands and allocates ISIL codes for Dutch public and national libraries.
|
|
|
|
- id: nl-oclc-isil
|
|
name: OCLC Netherlands
|
|
abbreviation: OCLC
|
|
geographic_scope:
|
|
- alpha_2: NL
|
|
alpha_3: NLD
|
|
allocation_domain:
|
|
- LIBRARY_ACADEMIC
|
|
- LIBRARY_RESEARCH
|
|
allocates_for:
|
|
- isil
|
|
allocation_prefix: "NL-"
|
|
parent_registration_authority: danish-culture-agency
|
|
is_active: true
|
|
website: https://www.oclc.org/nl/
|
|
description: |
|
|
OCLC allocates ISIL codes for Dutch academic and research libraries,
|
|
particularly those participating in the WorldShare platform.
|
|
|
|
- id: nl-na-isil
|
|
name: Nationaal Archief
|
|
name_local: Nationaal Archief
|
|
abbreviation: NA
|
|
geographic_scope:
|
|
- alpha_2: NL
|
|
alpha_3: NLD
|
|
allocation_domain:
|
|
- ARCHIVE
|
|
allocates_for:
|
|
- isil
|
|
allocation_prefix: "NL-"
|
|
parent_registration_authority: danish-culture-agency
|
|
is_active: true
|
|
website: https://www.nationaalarchief.nl/
|
|
description: |
|
|
The Nationaal Archief allocates ISIL codes for Dutch archives,
|
|
coordinating with regional and municipal archives.
|
|
|
|
# Dutch ISNI allocation
|
|
- id: nl-kb-isni
|
|
name: Koninklijke Bibliotheek
|
|
abbreviation: KB
|
|
geographic_scope:
|
|
- alpha_2: NL
|
|
alpha_3: NLD
|
|
allocation_domain:
|
|
- ALL # ISNI is for all types
|
|
allocates_for:
|
|
- isni
|
|
parent_registration_authority: isni-international
|
|
is_active: true
|
|
website: https://www.kb.nl/
|
|
description: |
|
|
The KB allocates ISNI codes for Dutch entities as the national
|
|
ISNI allocation agency for the Netherlands.
|
|
|
|
# German ISNI allocation
|
|
- id: de-dnb-isni
|
|
name: Deutsche Nationalbibliothek
|
|
abbreviation: DNB
|
|
geographic_scope:
|
|
- alpha_2: DE
|
|
alpha_3: DEU
|
|
allocation_domain:
|
|
- ALL
|
|
allocates_for:
|
|
- isni
|
|
parent_registration_authority: isni-international
|
|
is_active: true
|
|
website: https://www.dnb.de/
|
|
description: |
|
|
The Deutsche Nationalbibliothek allocates ISNI codes for German entities.
|
|
|
|
# UK ISIL allocation (single agency for all types)
|
|
- id: gb-bl-isil
|
|
name: British Library
|
|
abbreviation: BL
|
|
geographic_scope:
|
|
- alpha_2: GB
|
|
alpha_3: GBR
|
|
allocation_domain:
|
|
- ALL # British Library handles all types
|
|
allocates_for:
|
|
- isil
|
|
allocation_prefix: "GB-"
|
|
parent_registration_authority: danish-culture-agency
|
|
is_active: true
|
|
website: https://www.bl.uk/
|
|
description: |
|
|
The British Library is the national ISIL allocation agency for the
|
|
United Kingdom, handling all institution types.
|
|
|
|
# ==============================================================================
|
|
# CUSTODIAN IDENTIFIERS (Examples with full provenance)
|
|
# ==============================================================================
|
|
|
|
# Example identifiers for Rijksmuseum Amsterdam
|
|
custodian_identifiers:
|
|
# ISIL identifier
|
|
- identifier_scheme: ISIL
|
|
identifier_value: NL-AmRMA
|
|
canonical_value: NL-AmRMA
|
|
defined_by_standard: isil
|
|
allocated_by: nl-kb-isil # Allocated by KB
|
|
identifier_format_used: isil-full
|
|
allocation_date: "2005-03-15T00:00:00Z"
|
|
# identifies_custodian: rijksmuseum-hub # Reference (not inlined in example)
|
|
|
|
# ISNI identifier (dual-purpose: identifies entity AND name)
|
|
- identifier_scheme: ISNI
|
|
identifier_value: "0000 0001 2146 5765"
|
|
canonical_value: "0000000121465765"
|
|
defined_by_standard: isni
|
|
allocated_by: nl-kb-isni # Allocated by KB (ISNI)
|
|
identifier_format_used: isni-display
|
|
allocation_date: "2013-06-01T00:00:00Z"
|
|
# identifies_custodian: rijksmuseum-hub
|
|
# also_identifies_name: rijksmuseum-official-name # Dual-purpose! (reference)
|
|
|
|
# Wikidata identifier
|
|
- identifier_scheme: Wikidata
|
|
identifier_value: Q190804
|
|
canonical_value: Q190804
|
|
defined_by_standard: wikidata
|
|
identifier_format_used: wikidata-qid
|
|
# identifies_custodian: rijksmuseum-hub
|
|
# No allocated_by - Wikidata is self-service
|
|
|
|
# VIAF identifier (also dual-purpose for name authority)
|
|
- identifier_scheme: VIAF
|
|
identifier_value: "148691498"
|
|
canonical_value: "148691498"
|
|
defined_by_standard: viaf
|
|
identifier_format_used: viaf-numeric
|
|
# identifies_custodian: rijksmuseum-hub
|
|
# also_identifies_name: rijksmuseum-official-name # Dual-purpose! (reference)
|
|
|
|
# Example identifier for a Dutch public library (different allocator)
|
|
- identifier_scheme: ISIL
|
|
identifier_value: NL-AmOBA
|
|
canonical_value: NL-AmOBA
|
|
defined_by_standard: isil
|
|
allocated_by: nl-kb-isil # Public library → allocated by KB
|
|
identifier_format_used: isil-full
|
|
allocation_date: "2010-01-15T00:00:00Z"
|
|
# identifies_custodian: oba-hub
|
|
|
|
# Example identifier for a Dutch university library (different allocator!)
|
|
- identifier_scheme: ISIL
|
|
identifier_value: NL-AmUvA
|
|
canonical_value: NL-AmUvA
|
|
defined_by_standard: isil
|
|
allocated_by: nl-oclc-isil # Academic library → allocated by OCLC!
|
|
identifier_format_used: isil-full
|
|
allocation_date: "2008-09-01T00:00:00Z"
|
|
# identifies_custodian: uva-library-hub
|
|
|
|
# Example identifier for a Dutch archive (different allocator!)
|
|
- identifier_scheme: ISIL
|
|
identifier_value: NL-AsdSAA
|
|
canonical_value: NL-AsdSAA
|
|
defined_by_standard: isil
|
|
allocated_by: nl-na-isil # Archive → allocated by Nationaal Archief!
|
|
identifier_format_used: isil-full
|
|
allocation_date: "2006-04-20T00:00:00Z"
|
|
# identifies_custodian: stadsarchief-amsterdam-hub
|
|
|
|
# ==============================================================================
|
|
# NOTES ON THE MODEL
|
|
# ==============================================================================
|
|
|
|
# Key relationships demonstrated:
|
|
#
|
|
# 1. StandardsOrganization → Standard (one-to-many)
|
|
# ISO defines ISIL and ISNI
|
|
# OCLC defines VIAF
|
|
# Wikimedia defines Wikidata
|
|
#
|
|
# 2. Standard → RegistrationAuthority (one-to-one global)
|
|
# ISIL → Danish Agency for Culture and Palaces
|
|
# ISNI → ISNI International Agency
|
|
# VIAF → OCLC
|
|
#
|
|
# 3. Standard → AllocationAgency (one-to-many by country/domain)
|
|
# ISIL (NL) → KB (public libraries)
|
|
# ISIL (NL) → OCLC (academic libraries)
|
|
# ISIL (NL) → Nationaal Archief (archives)
|
|
# ISIL (GB) → British Library (all types)
|
|
#
|
|
# 4. Standard → IdentifierFormat (one-to-many variants)
|
|
# ISNI → display (with spaces), compact, URI
|
|
# ISIL → full (with prefix), local, URI
|
|
#
|
|
# 5. CustodianIdentifier → Standard + AllocationAgency + IdentifierFormat
|
|
# Full provenance for each identifier
|
|
#
|
|
# 6. CustodianIdentifier → CustodianName (via also_identifies_name)
|
|
# ISNI and VIAF are NAME identifiers, not just ORGANIZATION identifiers
|
|
# They link to BOTH the Custodian hub AND the CustodianName aspect
|