glam/schemas/20251121/linkml/modules/classes/PageSection.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

97 lines
2.6 KiB
YAML

id: https://nde.nl/ontology/hc/class/PageSection
name: page_section_class
title: PageSection Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
default_prefix: hc
default_range: string
imports:
- linkml:types
- ../metadata
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ./PageLink
- ./FeaturedCard
- ../slots/xpath
- ../slots/content_block
- ../slots/has_or_had_featured_item
- ../slots/heading_level
- ../slots/heading_text
- ../slots/heading_text_en
- ../slots/list_item
- ../slots/section_id
- ../slots/has_or_had_section_link
- ../slots/specificity_annotation
- ../slots/has_or_had_sub_section
- ../slots/template_specificity
classes:
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