glam/schemas/20251121/linkml/modules/classes/FindingAid.yaml
kempersc 174a420c08
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m57s
refactor(schema): centralize 1515 inline slot definitions per Rule 48
- Remove inline slot definitions from 144 class files
- Create 7 new centralized slot files in modules/slots/:
  - custodian_type_broader.yaml
  - custodian_type_narrower.yaml
  - custodian_type_related.yaml
  - definition.yaml
  - finding_aid_access_restriction.yaml
  - finding_aid_description.yaml
  - finding_aid_temporal_coverage.yaml
- Add centralize_inline_slots.py automation script
- Update manifest with new timestamp

Rule 48: Class files must NOT define inline slots - all slots
must be imported from modules/slots/ directory.

Note: Pre-existing IdentifierFormat duplicate class definition
(in Standard.yaml and IdentifierFormat.yaml) not addressed in
this commit - requires separate schema refactor.
2026-01-11 22:02:14 +01:00

1089 lines
29 KiB
YAML

id: https://nde.nl/ontology/hc/class/FindingAid
name: finding_aid_class
title: FindingAid Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
rico: https://www.ica.org/standards/RiC/ontology#
crm: http://www.cidoc-crm.org/cidoc-crm/
bf: http://id.loc.gov/ontologies/bibframe/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
schema: http://schema.org/
wd: http://www.wikidata.org/entity/
prov: http://www.w3.org/ns/prov#
foaf: http://xmlns.com/foaf/0.1/
xsd: http://www.w3.org/2001/XMLSchema#
default_prefix: hc
default_range: string
imports:
- linkml:types
- ./FindingAidType
- ./WebClaim
- ../slots/valid_from
- ../slots/valid_to
- ../slots/id
- ../slots/description
- ../slots/temporal_coverage
- ../slots/has_or_had_access_restriction
- ../slots/has_or_had_web_claim
- ../slots/language
- ../slots/supersede
- ../slots/superseded_by
- ../slots/revision_date
- ../slots/served_by
- ../slots/retrieval_agent
- ../slots/extraction_note
- ../slots/extraction_method
- ../slots/xpath
- ../slots/css_selector
- ../slots/confidence
- ../slots/html_file
- ../slots/claim_id
- ../slots/claim_type
- ../slots/claim_value
- ../slots/source_url
- ../slots/title
- ../slots/date
- ../slots/note
- ../slots/creator
- ../slots/publisher
- ../slots/publication_date
- ../slots/isbn
- ../slots/has_or_had_access_condition
- ../slots/is_or_was_access_restricted
- ../slots/all_links
- ../slots/card_description
- ../slots/card_description_en
- ../slots/card_image_url
- ../slots/card_title
- ../slots/card_title_en
- ../slots/card_url
- ../slots/claims_count
- ../slots/colonial
- ../slots/content_block
- ../slots/crawler_version
- ../slots/custodian
- ../slots/date_retrieved
- ../slots/de
- ../slots/ead_id
- ../slots/en
- ../slots/end
- ../slots/has_or_had_external_resource
- ../slots/has_or_had_featured_item
- ../slots/finding_aid_note
- ../slots/finding_aid_scope_note
- ../slots/finding_aid_type
- ../slots/format
- ../slots/fr
- ../slots/full_name
- ../slots/geographic_coverage
- ../slots/ghcid
- ../slots/heading_level
- ../slots/heading_text
- ../slots/heading_text_en
- ../slots/historical_region
- ../slots/html_snapshot_path
- ../slots/inbound_from
- ../slots/international
- ../slots/is_sub_guide
- ../slots/isil
- ../slots/has_or_had_key_archive
- ../slots/has_or_had_key_date
- ../slots/has_or_had_key_period
- ../slots/link_context
- ../slots/link_text
- ../slots/link_type
- ../slots/link_url
- ../slots/list_item
- ../slots/location
- ../slots/major_city
- ../slots/name
- ../slots/nl
- ../slots/outbound_to
- ../slots/has_or_had_page_section
- ../slots/period
- ../slots/period_description
- ../slots/period_end
- ../slots/period_name
- ../slots/period_start
- ../slots/has_or_had_period
- ../slots/permission_required
- ../slots/primary
- ../slots/provenance
- ../slots/related
- ../slots/has_or_had_related_archive
- ../slots/has_or_had_related_guide
- ../slots/relationship
- ../slots/resource_description
- ../slots/restriction_description
- ../slots/restriction_type
- ../slots/scope
- ../slots/secondary
- ../slots/section_id
- ../slots/has_or_had_section_link
- ../slots/slug
- ../slots/specificity_annotation
- ../slots/start
- ../slots/sub_guide_description
- ../slots/sub_guide_temporal_coverage
- ../slots/sub_guide_type
- ../slots/has_or_had_sub_guide
- ../slots/has_or_had_sub_section
- ../slots/template_specificity
- ../slots/title_en
- ../slots/title_nl
- ../slots/topic
- ../slots/type
- ../slots/url
- ../slots/validation_status
- ../slots/wikidata
- ../slots/wikidata_class
- ../slots/years_restricted
- ./ArchiveReference
- ./CustodianReference
- ./ExternalResource
- ./FeaturedCard
- ./FindingAidProvenance
- ./GeographicCoverage
- ./KeyDate
- ./PageLink
- ./PageSection
- ./PersonWebClaim
- ./RelatedGuideReference
- ./SpecificityAnnotation
- ./SubGuideReference
- ./TemplateSpecificityScores
- ./TemporalPeriod
- ./TimeSpan
- ../slots/finding_aid_description
- ../slots/finding_aid_temporal_coverage
- ../slots/finding_aid_access_restriction
- ../slots/has_link
- ../slots/event
- ../slots/event_en
- ../slots/claim_source_url
enums:
ExternalResourceTypeEnum:
description: 'Types of external resources linked from finding aids.
'
permissible_values:
database:
description: Searchable online database
organization:
description: Related organization or society
portal:
description: Discovery portal or aggregator
archive:
description: External archive holding related materials
library:
description: Library with related holdings
museum:
description: Museum with related collections
website:
description: General website resource
api:
description: API endpoint for programmatic access
reference:
description: Reference material or documentation
research_institute:
description: Research institution or academic center
aggregator:
description: Data aggregator or harvesting service
SubGuideTypeEnum:
description: 'Types of sub-guide references within a repository guide.
'
permissible_values:
sub_guide:
description: Direct sub-guide within same repository
cross_reference:
description: Cross-reference to another main guide
thematic:
description: Thematic sub-collection
regional:
description: Regional sub-guide
RelationshipTypeEnum:
description: 'Types of relationships between finding aids.
'
permissible_values:
cross_reference:
description: Related guide on related topic
parent:
description: Parent guide containing this guide
child:
description: Child guide within this guide
see_also:
description: See also reference
predecessor:
description: Previous version of this guide
successor:
description: Newer version of this guide
LinkTypeEnum:
description: 'Types of hyperlinks extracted from pages.
'
permissible_values:
internal:
description: Link within same domain
external:
description: Link to external domain
anchor:
description: Same-page anchor link
download:
description: Link to downloadable file
sub_guide:
description: Link to a sub-guide finding aid
featured:
description: Featured/highlighted link
classes:
FindingAid:
class_uri: rico:FindingAid
description: 'A finding aid - a descriptive tool that establishes intellectual and physical
control over heritage materials by describing them and facilitating access.
**DEFINITION** (RiC-O):
"A finding aid is a set of descriptions that identifies, locates, summarizes,
and indexes materials in a record-holding organization, typically archives,
libraries, or museums."
This class captures the descriptive metadata for finding aids produced by
heritage custodians to facilitate access to their collections. It supports:
- Multilingual titles and descriptions (nl, en, etc.)
- Classification via FindingAidType hierarchy
- Custodian linkage via GHCID, ISIL, Wikidata
- Topic/subject indexing
- Temporal and geographic coverage
- References to sub-guides and external resources
- Key archives and related archives
- Related guides within the repository
- Provenance tracking for web-harvested data
- Page structure with web claims and XPath provenance
- RiC-O: rico:FindingAid
- Dublin Core: dcterms:BibliographicResource
- Schema.org: schema:CreativeWork
- CIDOC-CRM: crm:E31_Document
- BIBFRAME: bf:Work
**EXAMPLE FILES**:
See data/custodian/findingaid/NL-ZH-DHA-A-NA/guide/repository_guide/metadata/
'
exact_mappings:
- rico:FindingAid
close_mappings:
- dcterms:BibliographicResource
- schema:CreativeWork
- crm:E31_Document
- bf:Work
slots:
- finding_aid_access_restriction
- all_links
- creator
- custodian
- finding_aid_description
- ead_id
- has_or_had_external_resource
- finding_aid_note
- finding_aid_type
- format
- geographic_coverage
- id
- isbn
- has_or_had_key_archive
- language
- note
- has_or_had_page_section
- provenance
- publication_date
- publisher
- has_or_had_related_archive
- has_or_had_related_guide
- revision_date
- finding_aid_scope_note
- served_by
- slug
- specificity_annotation
- has_or_had_sub_guide
- superseded_by
- supersede
- template_specificity
- finding_aid_temporal_coverage
- title
- topic
- url
- valid_from
- valid_to
- has_or_had_web_claim
- wikidata_class
slot_usage:
id:
identifier: true
required: true
slug:
required: true
finding_aid_type:
required: true
title:
required: true
url:
required: true
custodian:
required: true
finding_aid_description:
slot_uri: dcterms:description
range: MultilingualText
inlined: true
description: Multilingual description of the finding aid
finding_aid_temporal_coverage:
slot_uri: dcterms:temporal
range: TemporalCoverage
inlined: true
description: Time period covered by the finding aid materials
finding_aid_access_restriction:
slot_uri: dcterms:accessRights
range: AccessRestriction
multivalued: true
inlined_as_list: true
description: Access restrictions for materials covered
has_or_had_web_claim:
slot_uri: prov:wasGeneratedBy
range: WebClaim
multivalued: true
inlined_as_list: true
description: Web claims with XPath provenance
language:
slot_uri: dcterms:language
multivalued: true
description: Language(s) of the finding aid (ISO 639-1 codes)
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
comments:
- Root class for finding aid metadata YAML files
- Designed for validation with linkml-validate
- Supports Nationaal Archief zoekhulpen structure
- Merged from FindingAidMetadata.yaml (slot names) and FindingAid.yaml (bibliographic slots)
see_also:
- https://www.ica.org/standards/RiC/ontology#FindingAid
- https://www.nationaalarchief.nl/onderzoeken/zoekhulpen
- http://www.cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E31
- http://id.loc.gov/ontologies/bibframe/
MultilingualText:
class_uri: skos:Concept
description: 'Container for multilingual text values (titles, descriptions).
Supports any ISO 639-1 language code as a slot name.
Common slots: nl (Dutch), en (English), de (German), fr (French).
'
slots:
- de
- en
- fr
- nl
- specificity_annotation
- template_specificity
slot_usage:
nl:
description: Dutch text
en:
description: English text
de:
description: German text
fr:
description: French text
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
comments:
- At least one language slot should be populated
- nl is primary for Dutch archives
CustodianReference:
class_uri: rico:Agent
description: 'Reference to the heritage custodian that created/maintains this finding aid.
Uses standard identifiers: GHCID, ISIL, Wikidata ID.
'
slots:
- ghcid
- isil
- name
- specificity_annotation
- template_specificity
- wikidata
slot_usage:
ghcid:
description: Global Heritage Custodian Identifier
required: true
pattern: ^[A-Z]{2}-[A-Z]{2}-[A-Z]{3}-[A-Z]-[A-Z0-9]+$
isil:
description: International Standard Identifier for Libraries (ISO 15511)
pattern: ^[A-Z]{2}-[A-Za-z0-9]+$
name:
description: Human-readable name of custodian
required: true
wikidata:
description: Wikidata entity ID (Q-number)
pattern: ^Q[0-9]+$
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- rico:Agent
- schema:Organization
TemporalCoverage:
class_uri: dcterms:PeriodOfTime
description: 'Time period covered by the finding aid''s materials.
Supports both numeric years and special values like "present".
Can include named periods (key_periods) and significant dates (key_dates).
'
slots:
- end
- has_or_had_key_date
- has_or_had_key_period
- note
- has_or_had_period
- specificity_annotation
- start
- template_specificity
slot_usage:
start:
description: Start year of coverage
range: TemporalValue
required: true
end:
description: End year of coverage (use "present" for ongoing)
range: TemporalValue
required: true
note:
description: Additional notes about temporal coverage
has_or_had_period:
description: Named periods within coverage
range: TemporalPeriod
multivalued: true
inlined_as_list: true
has_or_had_key_period:
description: Named historical periods (alias for periods)
range: TemporalPeriod
multivalued: true
inlined_as_list: true
has_or_had_key_date:
description: Significant historical dates
range: KeyDate
multivalued: true
inlined_as_list: true
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- dcterms:PeriodOfTime
- schema:temporalCoverage
TemporalPeriod:
class_uri: dcterms:PeriodOfTime
description: A named historical period with optional start/end dates and description.
slots:
- period
- period_description
- period_end
- period_name
- period_start
- specificity_annotation
- template_specificity
slot_usage:
period_name:
description: Name of the period
range: string
required: true
aliases:
- name
period:
description: Period as single string (e.g., "1945-1965")
range: string
period_start:
description: Start year
range: TemporalValue
aliases:
- start
period_end:
description: End year
range: TemporalValue
aliases:
- end
period_description:
description: Description of the period
range: string
aliases:
- description
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
KeyDate:
class_uri: schema:Event
description: 'A significant historical date with event description.
Used for key_dates within TemporalCoverage.
'
attributes:
date_value:
description: ISO 8601 date (YYYY-MM-DD or YYYY)
range: string
required: true
aliases:
- date
event:
description: Description of what happened (Dutch or original)
range: string
required: true
event_en:
description: English translation of event description
range: string
slots:
- specificity_annotation
- template_specificity
slot_usage:
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
GeographicCoverage:
class_uri: dcterms:Location
description: 'Geographic area covered by the finding aid''s materials.
Supports primary areas, secondary/related areas, and migration patterns.
'
slots:
- colonial
- historical_region
- inbound_from
- international
- major_city
- outbound_to
- primary
- related
- scope
- secondary
- specificity_annotation
- template_specificity
slot_usage:
primary:
description: Primary geographic areas covered
multivalued: true
scope:
description: Description of geographic scope
secondary:
description: Secondary geographic areas (less prominent coverage)
multivalued: true
related:
description: Related geographic areas (e.g., for WWII - Germany, Japan)
multivalued: true
historical_region:
description: Historical region names (may no longer exist)
multivalued: true
colonial:
description: Colonial territories covered
multivalued: true
international:
description: International scope descriptions
multivalued: true
major_city:
description: Major cities within coverage area
multivalued: true
inbound_from:
description: Migration origin countries/regions (for migration guides)
multivalued: true
outbound_to:
description: Migration destination countries/regions
multivalued: true
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- dcterms:spatial
- schema:spatialCoverage
SubGuideReference:
class_uri: rico:FindingAid
description: 'Reference to a sub-guide or related finding aid within the same repository.
Sub-guides are more specific finding aids linked from a repository guide.
For example, a "Family History" repository guide links to specific sub-guides
for "Civil Registry", "Notarial Records", etc.
'
slots:
- is_or_was_access_restricted
- note
- slug
- specificity_annotation
- sub_guide_description
- sub_guide_temporal_coverage
- sub_guide_type
- template_specificity
- title_en
- title_nl
- url
slot_usage:
slug:
description: URL slug identifier
required: true
title_nl:
description: Dutch title
required: true
title_en:
description: English title
url:
description: Relative or absolute URL to sub-guide
required: true
sub_guide_temporal_coverage:
description: Time period covered (free text, e.g., "1811-1935", "before 1811")
sub_guide_description:
description: Brief description of the sub-guide content
sub_guide_type:
description: Type of sub-guide reference
range: SubGuideTypeEnum
is_or_was_access_restricted:
description: Whether access to this sub-guide is restricted
range: boolean
note:
description: Additional notes about this sub-guide reference
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- rico:isOrWasPartOf
ArchiveReference:
class_uri: rico:RecordSet
description: 'Reference to an archive collection or institution.
Used for key_archives (main archives for a topic) and related_archives
(external archives with related holdings).
'
slots:
- has_or_had_access_condition
- full_name
- isil
- location
- name
- resource_description
- specificity_annotation
- sub_guide_temporal_coverage
- template_specificity
- url
slot_usage:
name:
description: Short name or has_or_had_abbreviation
required: true
full_name:
description: Full official name
resource_description:
description: Description of the archive's relevance
location:
description: Physical location (city, country)
url:
description: URL to archive website
range: uri
required: false
isil:
description: ISIL code of the archive (ISO 15511)
pattern: ^[A-Z]{2}-[A-Za-z0-9]+$
sub_guide_temporal_coverage:
description: Time period of holdings (free text)
has_or_had_access_condition:
description: Access restrictions or requirements
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- rico:RecordSet
- schema:ArchiveOrganization
RelatedGuideReference:
class_uri: rico:FindingAid
description: 'Reference to a related finding aid guide within the same repository.
Different from sub_guides: these are peer-level guides on related topics,
not hierarchically nested guides.
'
slots:
- relationship
- slug
- specificity_annotation
- template_specificity
- title_en
- title_nl
slot_usage:
slug:
description: URL slug identifier
required: true
title_nl:
description: Dutch title
required: true
title_en:
description: English title
relationship:
description: Type of relationship
range: RelationshipTypeEnum
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
AccessRestriction:
class_uri: dcterms:RightsStatement
description: 'Access restriction information for materials.
'
slots:
- permission_required
- restriction_description
- restriction_type
- specificity_annotation
- template_specificity
- years_restricted
slot_usage:
restriction_type:
description: Type of restriction (privacy, cabr, closed, etc.)
required: true
restriction_description:
description: Description of the restriction
years_restricted:
description: Number of years materials are restricted
range: integer
permission_required:
description: Whether explicit permission is required
range: boolean
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
ExternalResource:
class_uri: foaf:Document
description: 'Reference to an external resource (database, organization, portal).
Used to link finding aids to related external resources that complement
the archive''s holdings (e.g., genealogical databases, historical societies).
'
slots:
- name
- resource_description
- specificity_annotation
- template_specificity
- type
- url
slot_usage:
name:
description: Name of external resource
required: true
url:
description: URL to external resource
range: uri
required: true
type:
description: Type of resource
range: ExternalResourceTypeEnum
resource_description:
description: Brief description of the resource
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- foaf:Document
- schema:WebPage
FindingAidProvenance:
class_uri: prov:Activity
description: 'Provenance metadata for web-harvested finding aid information.
Tracks when and how the metadata was retrieved, enabling data freshness
assessment and re-crawling decisions.
'
slots:
- claims_count
- crawler_version
- date_retrieved
- extraction_method
- extraction_note
- html_snapshot_path
- note
- retrieval_agent
- source_url
- specificity_annotation
- template_specificity
- validation_status
slot_usage:
date_retrieved:
description: ISO 8601 date when data was retrieved
range: date
required: true
retrieval_agent:
description: Tool/method used for retrieval
required: true
source_url:
description: Original source URL
range: uri
extraction_note:
description: Notes about extraction process or quality
extraction_method:
description: Method used (manual, automated, hybrid)
crawler_version:
description: Version of crawling tool used
html_snapshot_path:
description: Relative path to archived HTML snapshot
claims_count:
description: Number of web claims extracted
range: integer
validation_status:
description: Status of validation (validated, pending, failed)
note:
description: Additional provenance notes or remarks
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- prov:Activity
PageSection:
class_uri: schema:WebPageElement
description: 'A section of a finding aid page with heading and content.
Captures the hierarchical structure of web pages for preservation
and semantic understanding.
'
slots:
- content_block
- has_or_had_featured_item
- heading_level
- heading_text
- heading_text_en
- list_item
- section_id
- has_or_had_section_link
- specificity_annotation
- has_or_had_sub_section
- template_specificity
- xpath
slot_usage:
section_id:
description: Unique identifier for this section
heading_level:
description: Heading level (1-6 for h1-h6)
range: integer
minimum_value: 1
maximum_value: 6
heading_text:
description: Text of the section heading (original language)
required: true
heading_text_en:
description: English translation of heading
content_block:
description: Paragraph content within this section
multivalued: true
has_or_had_sub_section:
description: Nested sub-sections
range: PageSection
multivalued: true
inlined_as_list: true
has_or_had_section_link:
description: Links within this section
range: PageLink
multivalued: true
inlined_as_list: true
has_or_had_featured_item:
description: Featured cards/items in this section
range: FeaturedCard
multivalued: true
inlined_as_list: true
list_item:
description: List items (bulleted/numbered) in this section
multivalued: true
xpath:
description: XPath to this section element
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
exact_mappings:
- schema:WebPageElement
PageLink:
class_uri: schema:WebPage
description: 'A hyperlink extracted from a page.
'
slots:
- is_sub_guide
- link_context
- link_text
- link_type
- link_url
- specificity_annotation
- template_specificity
- xpath
slot_usage:
link_text:
description: Visible text of the link
required: true
link_url:
description: URL of the link
range: uri
required: true
link_type:
description: Type of link
range: LinkTypeEnum
link_context:
description: Parent section or surrounding context
is_sub_guide:
description: Whether this is a link to a sub-guide
range: boolean
xpath:
description: XPath to link element
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
FeaturedCard:
class_uri: schema:CreativeWork
description: 'A featured content card (often with image/icon).
Common on archive websites to highlight important sub-guides or resources.
'
slots:
- card_description
- card_description_en
- card_image_url
- card_title
- card_title_en
- card_url
- specificity_annotation
- template_specificity
- xpath
slot_usage:
card_title:
description: Title of the card (original language)
required: true
card_title_en:
description: English translation of title
card_description:
description: Description text (original language)
card_description_en:
description: English translation of description
card_url:
description: URL the card links to
range: uri
card_image_url:
description: URL of card image/icon
range: uri
xpath:
description: XPath to card element
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
types:
TemporalValue:
typeof: string
uri: xsd:string
description: 'A temporal value that can be either a year (integer) or special value like "present".
Examples: 1572, 1811, "present", "ongoing"
'