281 lines
9.4 KiB
YAML
281 lines
9.4 KiB
YAML
id: https://w3id.org/heritage/isil/nl/kb/schema
|
|
name: dutch-library-network-isil-schema
|
|
title: Dutch Library Network (Bnetwerk) ISIL Registry - LinkML Schema
|
|
description: >-
|
|
LinkML schema for mapping Dutch Library Network (KB Bnetwerk) ISIL registry
|
|
CSV data to HeritageCustodian schema. This schema documents the transformation
|
|
from the "20250401 Bnetwerk overzicht ISIL-codes Bibliotheken Nederland.csv"
|
|
file (153 records, as of April 1, 2025) to LinkML-compliant YAML.
|
|
|
|
version: 1.0.0
|
|
license: CC0-1.0
|
|
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
schema: http://schema.org/
|
|
dcterms: http://purl.org/dc/terms/
|
|
isil: https://isil.org/
|
|
hc: https://w3id.org/heritage/custodian/
|
|
|
|
default_prefix: hc
|
|
default_range: string
|
|
|
|
imports:
|
|
- linkml:types
|
|
|
|
classes:
|
|
|
|
LibraryISILRecord:
|
|
description: >-
|
|
A record from the Dutch Library Network (KB Bnetwerk) ISIL registry CSV.
|
|
Source: https://www.kb.nl/organisatie/bibliotheken-in-nederland/isil-codes
|
|
Data snapshot: April 1, 2025 (Stand 1 april 2025)
|
|
attributes:
|
|
# Original CSV fields (preserved with csv_ prefix)
|
|
csv_row_number:
|
|
description: Sequential row number in original CSV (1-153)
|
|
range: integer
|
|
required: true
|
|
|
|
csv_isil_code:
|
|
description: >-
|
|
ISIL code from CSV "ISIL code" column.
|
|
Format: NL-XXXXXXXXXX (uniform 13 characters)
|
|
Encoding: Numeric sequential assignment (not semantic)
|
|
range: string
|
|
required: true
|
|
pattern: "^NL-[0-9]{10}$"
|
|
examples:
|
|
- value: NL-0100030000
|
|
- value: NL-0800070000
|
|
- value: NL-0700130000
|
|
|
|
csv_naam_bibliotheek:
|
|
description: >-
|
|
Library name from CSV "Naam bibliotheek" column.
|
|
Contains public library names, POI systems, and national organizations.
|
|
range: string
|
|
required: true
|
|
examples:
|
|
- value: KB, nationale bibliotheek
|
|
- value: OBA
|
|
- value: Zeeuwse Bibliotheken
|
|
|
|
csv_vestigingsplaats:
|
|
description: >-
|
|
City/location name from CSV "Vestigingsplaats" column.
|
|
134 unique cities across the Netherlands.
|
|
range: string
|
|
required: true
|
|
examples:
|
|
- value: Den Haag
|
|
- value: Amsterdam
|
|
- value: Middelburg
|
|
|
|
csv_opmerking:
|
|
description: >-
|
|
Remarks/notes from CSV "Opmerking" column.
|
|
Contains library type indicators: "POI" (library automation systems),
|
|
"KB, Nationale Bibliotheek", "Bibliotheekservice", etc.
|
|
Present in 19/153 records (12.4%).
|
|
range: string
|
|
examples:
|
|
- value: POI
|
|
- value: KB, Nationale Bibliotheek
|
|
- value: Bibliotheekservice Fryslân
|
|
|
|
# LinkML mapped fields
|
|
name:
|
|
description: Library name (mapped from csv_naam_bibliotheek)
|
|
range: string
|
|
required: true
|
|
slot_uri: schema:name
|
|
|
|
institution_type:
|
|
description: >-
|
|
Institution type classification (always LIBRARY for this dataset)
|
|
range: InstitutionTypeEnum
|
|
required: true
|
|
|
|
library_type:
|
|
description: >-
|
|
Specialized library classification based on automated analysis
|
|
of csv_naam_bibliotheek and csv_opmerking fields
|
|
range: LibraryTypeEnum
|
|
required: true
|
|
|
|
locations:
|
|
description: Geographic location (mapped from csv_vestigingsplaats)
|
|
range: Location
|
|
multivalued: true
|
|
required: true
|
|
|
|
identifiers:
|
|
description: ISIL identifier (mapped from csv_isil_code)
|
|
range: Identifier
|
|
multivalued: true
|
|
required: true
|
|
|
|
description:
|
|
description: >-
|
|
Generated from csv_opmerking when present and library_type.
|
|
Format: "Type: {csv_opmerking}. Library classification: {library_type}"
|
|
range: string
|
|
slot_uri: dcterms:description
|
|
|
|
provenance:
|
|
description: Data source provenance metadata
|
|
range: Provenance
|
|
required: true
|
|
|
|
Location:
|
|
description: Geographic location of the library
|
|
attributes:
|
|
city:
|
|
description: City name (from csv_vestigingsplaats)
|
|
range: string
|
|
required: true
|
|
slot_uri: schema:addressLocality
|
|
|
|
country:
|
|
description: ISO 3166-1 alpha-2 country code (always "NL")
|
|
range: string
|
|
required: true
|
|
pattern: "^NL$"
|
|
slot_uri: schema:addressCountry
|
|
|
|
Identifier:
|
|
description: ISIL code identifier structure
|
|
attributes:
|
|
identifier_scheme:
|
|
description: Identifier scheme name (always "ISIL")
|
|
range: string
|
|
required: true
|
|
pattern: "^ISIL$"
|
|
slot_uri: dcterms:type
|
|
|
|
identifier_value:
|
|
description: ISIL code value (from csv_isil_code)
|
|
range: string
|
|
required: true
|
|
pattern: "^NL-[0-9]{10}$"
|
|
slot_uri: dcterms:identifier
|
|
|
|
identifier_url:
|
|
description: URL to ISIL registry entry
|
|
range: uri
|
|
required: true
|
|
pattern: "^https://isil.org/NL-[0-9]{10}$"
|
|
slot_uri: schema:url
|
|
|
|
Provenance:
|
|
description: Data source and extraction metadata
|
|
attributes:
|
|
data_source:
|
|
description: Source type (always "ISIL_REGISTRY")
|
|
range: DataSourceEnum
|
|
required: true
|
|
|
|
data_tier:
|
|
description: Data quality tier (always "TIER_1_AUTHORITATIVE")
|
|
range: DataTierEnum
|
|
required: true
|
|
|
|
extraction_date:
|
|
description: Timestamp of CSV-to-YAML conversion
|
|
range: datetime
|
|
required: true
|
|
slot_uri: dcterms:created
|
|
|
|
extraction_method:
|
|
description: Conversion method description
|
|
range: string
|
|
required: true
|
|
|
|
source_url:
|
|
description: URL to KB library network ISIL page
|
|
range: uri
|
|
required: true
|
|
|
|
source_date:
|
|
description: Data snapshot date (Stand 1 april 2025)
|
|
range: string
|
|
required: true
|
|
|
|
confidence_score:
|
|
description: Data confidence (always 1.0 for authoritative source)
|
|
range: float
|
|
required: true
|
|
minimum_value: 1.0
|
|
maximum_value: 1.0
|
|
|
|
enums:
|
|
|
|
InstitutionTypeEnum:
|
|
description: GLAMORCUBESFIXPHDNT institution type taxonomy
|
|
permissible_values:
|
|
LIBRARY:
|
|
description: Library (public, academic, specialized)
|
|
|
|
LibraryTypeEnum:
|
|
description: Specialized library type classification for Dutch library network
|
|
permissible_values:
|
|
national_library:
|
|
description: >-
|
|
National library (KB, nationale bibliotheek).
|
|
Count: 1 institution.
|
|
meaning: schema:Library
|
|
|
|
national_library_organization:
|
|
description: >-
|
|
National library service organizations supporting library sector
|
|
(Bibliotheekservice Fryslân, Bibliotheek Totaal, etc.).
|
|
Count: 5 institutions.
|
|
meaning: schema:Organization
|
|
|
|
provincial_library_organization:
|
|
description: >-
|
|
Provincial library organizations coordinating regional services
|
|
(Provinciale Bibliotheekcentrale).
|
|
Count: 2 institutions.
|
|
meaning: schema:Organization
|
|
|
|
library_automation_system:
|
|
description: >-
|
|
Library automation systems and POI (Publieksinformatievoorziening)
|
|
consortia providing shared infrastructure across regions
|
|
(Zeeuwse Bibliotheken, FERS Friesland, Rijnbrink Gelderland, etc.).
|
|
Count: 11 institutions (identified by "POI" in csv_opmerking).
|
|
|
|
public_library:
|
|
description: >-
|
|
Public libraries serving local communities.
|
|
Count: 134 institutions (87.6% of dataset).
|
|
meaning: schema:PublicLibrary
|
|
|
|
DataSourceEnum:
|
|
description: Data source types
|
|
permissible_values:
|
|
ISIL_REGISTRY:
|
|
description: Official ISIL code registry
|
|
|
|
DataTierEnum:
|
|
description: Data quality tiers
|
|
permissible_values:
|
|
TIER_1_AUTHORITATIVE:
|
|
description: Authoritative primary sources (registries, databases)
|
|
|
|
# Transformation rules
|
|
comments:
|
|
- "CSV Parsing: Clean UTF-8 encoding, standard CSV structure (no malformed cells)"
|
|
- "CSV Structure: 4 columns (ISIL code, Naam bibliotheek, Vestigingsplaats, Opmerking)"
|
|
- "Field Preservation: All 5 fields preserved (4 CSV + 1 row number) with csv_ prefix (100% preservation)"
|
|
- "Mapping: csv_naam_bibliotheek → name, csv_vestigingsplaats → locations[0].city, csv_isil_code → identifiers[0]"
|
|
- "Library Type Classification: Automated classification into 5 types using keyword matching"
|
|
- "ISIL Format: Uniform 13-character numeric encoding (NL-XXXXXXXXXX), unlike National Archive's semantic encoding"
|
|
- "ISIL URL: Generated as https://isil.org/{csv_isil_code}"
|
|
- "Provenance: All records marked as TIER_1_AUTHORITATIVE with confidence 1.0"
|
|
- "Total Records: 153 libraries (134 unique cities)"
|
|
- "Network Structure: 1 national library + 5 national services + 11 POI systems + 2 provincial orgs + 134 public libraries"
|
|
- "Classification Keywords: 'KB' → national_library, 'POI' → library_automation_system, 'Bibliotheekservice/Totaal' → national_library_organization, 'Provinciale' → provincial_library_organization, default → public_library"
|
|
- "Date Format: source_date field stores 'Stand 1 april 2025' (data snapshot timestamp)"
|