Add new slots and update existing ones following RiC-O temporal naming conventions
- Introduced `founding_date`, `founding_date_diocese`, and `fr` slots for capturing founding dates and French language text. - Created `collects_or_collected`, `has_or_had_objective`, `has_or_had_percentage`, `has_or_had_place`, `has_or_had_reply`, `has_or_had_web_page`, `is_or_was_acquired_by`, `is_or_was_appreciated`, `is_or_was_founded_through`, `is_or_was_part_of`, `is_or_was_part_of_total`, `start_of_the_start`, `takes_or_took_comission`, and `was_fetched_at` slots to enhance data modeling capabilities. - Each slot includes detailed descriptions, examples, and ontology alignments to ensure clarity and usability. - Migration notes added for slots transitioned from previous definitions to maintain historical context and facilitate understanding of changes.
This commit is contained in:
parent
367aaffc27
commit
ba2c766dd0
84 changed files with 6541 additions and 245 deletions
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"generated": "2026-01-22T11:52:29.369Z",
|
||||
"generated": "2026-01-22T12:00:07.511Z",
|
||||
"schemaRoot": "/schemas/20251121/linkml",
|
||||
"totalFiles": 2969,
|
||||
"categoryCounts": {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"generated": "2026-01-22T12:00:07.511Z",
|
||||
"generated": "2026-01-22T14:15:56.373Z",
|
||||
"schemaRoot": "/schemas/20251121/linkml",
|
||||
"totalFiles": 2969,
|
||||
"categoryCounts": {
|
||||
|
|
|
|||
149
schemas/20251121/linkml/modules/classes/Agent.yaml
Normal file
149
schemas/20251121/linkml/modules/classes/Agent.yaml
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
# Agent class
|
||||
# Represents a person or organization that performs actions
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: collector
|
||||
# Creation date: 2026-01-22
|
||||
#
|
||||
# Rule 53 (No Bespoke Slots): collector → is_or_was_acquired_by + Agent
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Agent
|
||||
name: Agent
|
||||
title: Agent
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_name
|
||||
- ../slots/has_or_had_type
|
||||
- ../slots/has_or_had_identifier
|
||||
|
||||
classes:
|
||||
Agent:
|
||||
class_uri: prov:Agent
|
||||
description: |
|
||||
An agent (person, organization, or software) that performs actions.
|
||||
|
||||
**RULE 53 MIGRATION**:
|
||||
Replaces simple string slots with a structured agent model:
|
||||
- `is_or_was_acquired_by` → Agent (this class)
|
||||
- Supports typed agents (person, organization, software)
|
||||
|
||||
**USAGE**:
|
||||
```yaml
|
||||
is_or_was_acquired_by:
|
||||
- agent_name: "Dr. Jane Smith"
|
||||
agent_type: person
|
||||
has_or_had_identifier:
|
||||
- identifier_scheme: ORCID
|
||||
identifier_value: "0000-0001-2345-6789"
|
||||
```
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`class_uri`): `prov:Agent` - PROV-O agent
|
||||
- **Close**: `foaf:Agent` - FOAF agent
|
||||
- **Close**: `schema:Person` / `schema:Organization` - Schema.org agents
|
||||
- **Close**: `dcterms:Agent` - Dublin Core agent
|
||||
|
||||
**Use Cases**:
|
||||
- Specimen collectors (field biologists)
|
||||
- Artwork donors/sellers
|
||||
- Archive depositors
|
||||
- Record creators
|
||||
|
||||
exact_mappings:
|
||||
- prov:Agent
|
||||
|
||||
close_mappings:
|
||||
- foaf:Agent
|
||||
- dcterms:Agent
|
||||
|
||||
related_mappings:
|
||||
- schema:Person
|
||||
- schema:Organization
|
||||
|
||||
slots:
|
||||
- has_or_had_name
|
||||
- has_or_had_type
|
||||
- has_or_had_identifier
|
||||
|
||||
attributes:
|
||||
agent_name:
|
||||
range: string
|
||||
description: Name of the agent (person or organization name)
|
||||
required: true
|
||||
|
||||
agent_type:
|
||||
range: string
|
||||
description: |
|
||||
Type of agent: person, organization, software, group
|
||||
required: false
|
||||
examples:
|
||||
- value: person
|
||||
- value: organization
|
||||
- value: software
|
||||
- value: group
|
||||
|
||||
agent_role:
|
||||
range: string
|
||||
description: |
|
||||
Role of the agent in the action (collector, donor, creator, etc.)
|
||||
required: false
|
||||
|
||||
slot_usage:
|
||||
has_or_had_name:
|
||||
description: |
|
||||
Structured name for the agent.
|
||||
range: uriorcurie
|
||||
required: false
|
||||
has_or_had_type:
|
||||
description: |
|
||||
Classification of the agent type.
|
||||
range: uriorcurie
|
||||
required: false
|
||||
has_or_had_identifier:
|
||||
description: |
|
||||
Identifiers for the agent (ORCID, ISNI, etc.).
|
||||
range: uriorcurie
|
||||
multivalued: true
|
||||
required: false
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.25"
|
||||
specificity_rationale: "Broadly applicable - agents appear across all heritage contexts."
|
||||
template_specificity: '{"archive_search": 0.30, "museum_search": 0.30, "library_search": 0.30, "collection_discovery": 0.40, "person_research": 0.60, "location_browse": 0.15, "identifier_lookup": 0.35, "organizational_change": 0.25, "digital_platform": 0.20, "general_heritage": 0.25}'
|
||||
|
||||
examples:
|
||||
- value:
|
||||
agent_name: "Dr. Jane Smith"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
description: Field biologist who collected specimens
|
||||
|
||||
- value:
|
||||
agent_name: "Rijksmuseum Foundation"
|
||||
agent_type: organization
|
||||
agent_role: donor
|
||||
description: Organization that donated artwork
|
||||
|
||||
- value:
|
||||
agent_name: "National Archives of the Netherlands"
|
||||
agent_type: organization
|
||||
agent_role: transferring_agency
|
||||
has_or_had_identifier:
|
||||
- identifier_scheme: ISIL
|
||||
identifier_value: "NL-HaNA"
|
||||
description: Archive transferring records
|
||||
|
||||
comments:
|
||||
- "Created per slot_fixes.yaml migration (2026-01-22)"
|
||||
- "RULE 53: Replaces collector string slot with structured model"
|
||||
- "Generic agent class for persons, organizations, and software"
|
||||
195
schemas/20251121/linkml/modules/classes/AppreciationEvent.yaml
Normal file
195
schemas/20251121/linkml/modules/classes/AppreciationEvent.yaml
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
# AppreciationEvent class
|
||||
# Created per slot_fixes.yaml revision for: comment_like_count
|
||||
#
|
||||
# Represents appreciation/engagement events on digital content
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of comment_like_count migration per Rule 53.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/AppreciationEvent
|
||||
name: appreciation_event_class
|
||||
title: Appreciation Event Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
as: https://www.w3.org/ns/activitystreams#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_quantity
|
||||
- ../slots/has_or_had_unit
|
||||
- ../slots/temporal_extent
|
||||
- ./Quantity
|
||||
- ./Unit
|
||||
- ./TimeSpan
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
AppreciationEvent:
|
||||
class_uri: as:Like
|
||||
description: |
|
||||
Appreciation or engagement event for digital content.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Structured representation of appreciation metrics (likes, favorites,
|
||||
upvotes, reactions) for digital content such as videos, comments, and posts.
|
||||
Replaces simple integer counts with rich event data.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `comment_like_count` integer
|
||||
to structured `is_or_was_appreciated` + `AppreciationEvent` with
|
||||
`has_or_had_quantity` + `Quantity` for metric representation.
|
||||
|
||||
**APPRECIATION TYPES**:
|
||||
|
||||
| Type | Description | Platforms |
|
||||
|------|-------------|-----------|
|
||||
| like | Standard like/thumbs up | YouTube, Facebook, Instagram |
|
||||
| favorite | Favorite/bookmark | Twitter, YouTube |
|
||||
| upvote | Upvote/positive rating | Reddit, StackOverflow |
|
||||
| reaction | Emoji reaction | Facebook, Slack |
|
||||
| share | Share/repost | All platforms |
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
| Ontology | Class/Property | Usage |
|
||||
|----------|----------------|-------|
|
||||
| **Activity Streams** | `as:Like` | Social appreciation activity |
|
||||
| **Schema.org** | `schema:InteractionCounter` | Engagement metrics |
|
||||
| **PROV-O** | `prov:Activity` | Event modeling |
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
is_or_was_appreciated:
|
||||
- appreciation_type: like
|
||||
has_or_had_quantity:
|
||||
numeric_value: 42
|
||||
has_or_had_unit:
|
||||
unit_label: "likes"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2025-01-14T10:00:00Z"
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- as:Like
|
||||
|
||||
close_mappings:
|
||||
- schema:InteractionCounter
|
||||
- prov:Activity
|
||||
|
||||
slots:
|
||||
- has_or_had_quantity
|
||||
- has_or_had_unit
|
||||
- temporal_extent
|
||||
|
||||
attributes:
|
||||
appreciation_type:
|
||||
description: |
|
||||
Type of appreciation (like, favorite, upvote, reaction, share).
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "like"
|
||||
description: Standard like/thumbs up
|
||||
- value: "favorite"
|
||||
description: Favorite/bookmark
|
||||
- value: "upvote"
|
||||
description: Upvote rating
|
||||
- value: "reaction"
|
||||
description: Emoji reaction
|
||||
- value: "share"
|
||||
description: Share/repost
|
||||
|
||||
appreciation_count:
|
||||
description: |
|
||||
Simple count of appreciations (shorthand for has_or_had_quantity.numeric_value).
|
||||
Use has_or_had_quantity for structured representation with unit.
|
||||
range: integer
|
||||
required: false
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value: 42
|
||||
description: 42 likes
|
||||
|
||||
slot_usage:
|
||||
has_or_had_quantity:
|
||||
description: |
|
||||
Structured quantity for the appreciation count.
|
||||
Use Quantity class with numeric_value and has_or_had_unit.
|
||||
range: Quantity
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
numeric_value: 42
|
||||
has_or_had_unit:
|
||||
unit_label: "likes"
|
||||
description: 42 likes using Quantity class
|
||||
|
||||
has_or_had_unit:
|
||||
description: |
|
||||
Unit for the appreciation type (likes, favorites, etc.).
|
||||
Can be specified directly or via has_or_had_quantity.has_or_had_unit.
|
||||
range: Unit
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
unit_label: "likes"
|
||||
description: Likes unit
|
||||
|
||||
temporal_extent:
|
||||
description: |
|
||||
Time when the appreciation count was observed/recorded.
|
||||
range: TimeSpan
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
begin_of_the_begin: "2025-01-14T10:00:00Z"
|
||||
description: Observation timestamp
|
||||
|
||||
examples:
|
||||
- value:
|
||||
appreciation_type: "like"
|
||||
appreciation_count: 42
|
||||
description: Simple like count (minimal)
|
||||
|
||||
- value:
|
||||
appreciation_type: "like"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 42
|
||||
has_or_had_unit:
|
||||
unit_label: "likes"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2025-01-14T10:00:00Z"
|
||||
description: Full structured like count with timestamp
|
||||
|
||||
- value:
|
||||
appreciation_type: "favorite"
|
||||
appreciation_count: 15
|
||||
description: Favorite count
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from comment_like_count migration (Rule 53)
|
||||
- Models appreciation metrics as structured events
|
||||
- Supports multiple appreciation types (likes, favorites, etc.)
|
||||
- Includes temporal observation tracking
|
||||
|
||||
see_also:
|
||||
- https://www.w3.org/ns/activitystreams#Like
|
||||
- https://schema.org/InteractionCounter
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian with digital content may track appreciation.
|
||||
specificity_score: "0.60"
|
||||
specificity_rationale: >-
|
||||
Moderately specific - primarily for digital content engagement contexts.
|
||||
148
schemas/20251121/linkml/modules/classes/ArtSaleService.yaml
Normal file
148
schemas/20251121/linkml/modules/classes/ArtSaleService.yaml
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
# ArtSaleService class
|
||||
# Created per slot_fixes.yaml revision for: commission_rate
|
||||
#
|
||||
# Represents art sales service with commission structure
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of commission_rate migration per Rule 53.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/ArtSaleService
|
||||
name: art_sale_service_class
|
||||
title: Art Sale Service Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ./Service
|
||||
- ../slots/takes_or_took_comission
|
||||
- ./CommissionRate
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
ArtSaleService:
|
||||
is_a: Service
|
||||
class_uri: hc:ArtSaleService
|
||||
description: |
|
||||
Service for selling artworks, typically offered by commercial galleries.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Models art sales activities including commission structures,
|
||||
market type (primary/secondary), and artist representation.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `commission_rate` string
|
||||
to structured `has_or_had_service` + `ArtSaleService` with nested
|
||||
commission details.
|
||||
|
||||
**USE CASES**:
|
||||
|
||||
- Commercial gallery primary market sales (representing artists)
|
||||
- Secondary market resales (consignment)
|
||||
- Auction house sales (different commission model)
|
||||
|
||||
**MARKET TYPES**:
|
||||
|
||||
- **Primary market**: First sale of artwork by artist (40-50% commission)
|
||||
- **Secondary market**: Resale of previously sold works (10-20% commission)
|
||||
|
||||
close_mappings:
|
||||
- schema:SellAction
|
||||
- schema:Service
|
||||
|
||||
slots:
|
||||
- takes_or_took_comission
|
||||
|
||||
attributes:
|
||||
market_type:
|
||||
description: |
|
||||
Type of art market (primary or secondary).
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "primary"
|
||||
description: First sale by artist
|
||||
- value: "secondary"
|
||||
description: Resale of previously sold work
|
||||
|
||||
artist_representation:
|
||||
description: |
|
||||
Whether this service involves exclusive artist representation.
|
||||
range: boolean
|
||||
required: false
|
||||
examples:
|
||||
- value: true
|
||||
description: Gallery exclusively represents the artist
|
||||
- value: false
|
||||
description: Consignment or non-exclusive arrangement
|
||||
|
||||
sales_activity:
|
||||
description: |
|
||||
Whether active sales are conducted (vs exhibition-only).
|
||||
range: boolean
|
||||
required: true
|
||||
examples:
|
||||
- value: true
|
||||
description: Active artwork sales
|
||||
- value: false
|
||||
description: Exhibition only, no sales
|
||||
|
||||
slot_usage:
|
||||
takes_or_took_comission:
|
||||
description: |
|
||||
Commission structure for this art sales service.
|
||||
range: CommissionRate
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
rate_type: "primary_market"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 50
|
||||
description: Standard 50% primary market commission
|
||||
|
||||
examples:
|
||||
- value:
|
||||
service_name: "Primary Market Sales"
|
||||
market_type: "primary"
|
||||
artist_representation: true
|
||||
sales_activity: true
|
||||
takes_or_took_comission:
|
||||
rate_type: "primary_market"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
description: Commercial gallery with 50% primary market commission
|
||||
|
||||
- value:
|
||||
service_name: "Consignment Sales"
|
||||
market_type: "secondary"
|
||||
artist_representation: false
|
||||
sales_activity: true
|
||||
takes_or_took_comission:
|
||||
rate_type: "secondary_market"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 15
|
||||
percentage_display: "10-20%"
|
||||
description: Secondary market consignment with variable commission
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commission_rate migration (Rule 53)
|
||||
- Extends Service class for art sales context
|
||||
- Supports primary and secondary market distinctions
|
||||
|
||||
see_also:
|
||||
- https://schema.org/SellAction
|
||||
|
||||
annotations:
|
||||
custodian_types: '["G", "C"]'
|
||||
custodian_types_rationale: >-
|
||||
Primarily for galleries (G) and commercial organizations (C).
|
||||
specificity_score: "0.75"
|
||||
specificity_rationale: >-
|
||||
Specific to commercial art sales context.
|
||||
|
|
@ -31,11 +31,21 @@ imports:
|
|||
# REMOVED 2026-01-19: collection_date - migrated to was_acquired_through + Acquisition (Rule 53)
|
||||
- ../slots/was_acquired_through
|
||||
- ./Acquisition
|
||||
- ../slots/collection_locality_text
|
||||
- ../slots/collection_location
|
||||
- ../slots/collector
|
||||
- ../slots/common_name
|
||||
- ../slots/common_name_language
|
||||
# REMOVED 2026-01-19: collection_locality_text - migrated to describes_or_described + Locality (Rule 53)
|
||||
- ../slots/describes_or_described
|
||||
- ./Locality
|
||||
# REMOVED 2026-01-19: collection_location - migrated to has_or_had_place + CollectionEvent (Rule 53)
|
||||
- ../slots/has_or_had_place
|
||||
- ./CollectionEvent
|
||||
# REMOVED 2026-01-22: ../slots/collector - migrated to is_or_was_acquired_by + Agent (Rule 53)
|
||||
- ../slots/is_or_was_acquired_by
|
||||
- ./Agent
|
||||
# REMOVED 2026-01-22: ../slots/common_name - migrated to has_or_had_name + Name + has_or_had_type + NameType (Rule 53)
|
||||
# REMOVED 2026-01-22: ../slots/common_name_language - migrated to Name.has_or_had_language (Rule 53)
|
||||
- ../slots/has_or_had_name
|
||||
- ./Name
|
||||
- ./NameType
|
||||
- ./NameTypes
|
||||
- ../slots/has_or_had_custodian_type
|
||||
- ../slots/date_identified
|
||||
- ../slots/field_number
|
||||
|
|
@ -90,10 +100,10 @@ classes:
|
|||
- Taxidermy mounts (mammals, birds, fish)\n- Study skins and skeletal material\n- Herbarium specimens (pressed plants)\n\
|
||||
- Wet specimens (fluid-preserved animals)\n- Fossils of organisms\n- Entomological collections (pinned insects)\n- Paleontological\
|
||||
\ specimens\n- Living collection records (botanical gardens, zoos)\n\n**Darwin Core Integration**:\n\nBiologicalObject\
|
||||
\ aligns with Darwin Core (TDWG) occurrence/specimen standards:\n- `taxon_name` → dwc:scientificName\n- `collection_date`\
|
||||
\ → dwc:eventDate\n- `collector` → dwc:recordedBy\n- `preservation_method` → dwc:preparations\n- `gbif_id` → dwc:occurrenceID\
|
||||
\ (GBIF)\n\n**Taxonomic Data Model**:\n\n```\nBiologicalObject\n │\n ├── taxon_name (scientific name: \"Raphus\
|
||||
\ cucullatus\")\n │ │\n │ ├── common_name (\"Dodo\")\n │ ├── has_or_had_rank (SPECIES)\n \
|
||||
\ aligns with Darwin Core (TDWG) occurrence/specimen standards:\n- `has_or_had_label` (TaxonName) → dwc:scientificName\n- `was_acquired_through` (Acquisition) → dwc:eventDate\
|
||||
\n- `is_or_was_acquired_by` (Agent) → dwc:recordedBy\n- `preservation_method` → dwc:preparations\n- `gbif_id` → dwc:occurrenceID\
|
||||
\ (GBIF)\n\n**Taxonomic Data Model**:\n\n```\nBiologicalObject\n │\n ├── has_or_had_label (TaxonName: \"Raphus\
|
||||
\ cucullatus\")\n │ │\n │ ├── has_or_had_name (Name with type=CommonName: \"Dodo\")\n │ ├── has_or_had_rank (SPECIES)\n \
|
||||
\ │ ├── has_or_had_authority (\"Linnaeus, 1758\")\n │ └── higher_classification (Aves → Columbiformes\
|
||||
\ → Columbidae)\n │\n ├── specimen_data\n │ │\n │ ├── specimen_type (HOLOTYPE, PARATYPE, etc.)\n\
|
||||
\ │ ├── is_type_specimen (boolean)\n │ ├── sex (MALE, FEMALE, UNKNOWN)\n │ ├── life_stage\
|
||||
|
|
@ -126,11 +136,14 @@ classes:
|
|||
- is_or_was_listed_in
|
||||
# collection_date REMOVED - migrated to was_acquired_through + Acquisition (Rule 53, 2026-01-19)
|
||||
- was_acquired_through
|
||||
- collection_locality_text
|
||||
- collection_location
|
||||
- collector
|
||||
- common_name
|
||||
- common_name_language
|
||||
# collection_locality_text REMOVED - migrated to describes_or_described + Locality (Rule 53, 2026-01-19)
|
||||
- describes_or_described
|
||||
# collection_location REMOVED - migrated to has_or_had_place + CollectionEvent (Rule 53, 2026-01-19)
|
||||
- has_or_had_place
|
||||
# REMOVED 2026-01-22: collector - migrated to is_or_was_acquired_by + Agent (Rule 53)
|
||||
- is_or_was_acquired_by
|
||||
# REMOVED 2026-01-22: common_name, common_name_language - migrated to has_or_had_name + Name (Rule 53)
|
||||
- has_or_had_name
|
||||
- has_or_had_custodian_type
|
||||
- date_identified
|
||||
- field_number
|
||||
|
|
@ -214,21 +227,40 @@ classes:
|
|||
scientific_name: "Panthera leo"
|
||||
taxonomic_rank: SPECIES
|
||||
description: Lion (authority omitted)
|
||||
common_name:
|
||||
# MIGRATED 2026-01-22: common_name, common_name_language → has_or_had_name + Name (Rule 53)
|
||||
has_or_had_name:
|
||||
description: |
|
||||
Common/vernacular names for this biological object.
|
||||
MIGRATED from common_name and common_name_language per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
|
||||
Uses Name class for structured representation including:
|
||||
- Name value (has_or_had_label)
|
||||
- Name type (has_or_had_type → NameType, e.g., CommonName)
|
||||
- Language (has_or_had_language)
|
||||
required: false
|
||||
range: string
|
||||
range: Name
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
examples:
|
||||
- value: Dodo
|
||||
- value: Lion
|
||||
- value: Coast Redwood
|
||||
common_name_language:
|
||||
required: false
|
||||
range: string
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: en
|
||||
- value: nl
|
||||
- value:
|
||||
has_or_had_label: "Dodo"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
description: English common name
|
||||
- value:
|
||||
has_or_had_label: "Dronte"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "nl"
|
||||
description: Dutch common name
|
||||
- value:
|
||||
has_or_had_label: "Lion"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
- value:
|
||||
has_or_had_label: "Coast Redwood"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
has_or_had_rank: # was: taxonomic_rank - migrated per Rule 53/56 (2026-01-17)
|
||||
required: false
|
||||
range: string
|
||||
|
|
@ -407,29 +439,65 @@ classes:
|
|||
end_of_the_end: "1879-12-31"
|
||||
acquisition_date_text: "1870s"
|
||||
acquisition_notes: "Historical specimen with approximate date"
|
||||
collection_location:
|
||||
# MIGRATED 2026-01-19: collection_location → has_or_had_place + CollectionEvent (Rule 53)
|
||||
has_or_had_place:
|
||||
required: false
|
||||
range: CustodianPlace
|
||||
inlined: true
|
||||
description: >-
|
||||
Structured location where specimen was collected.
|
||||
MIGRATED from collection_location per slot_fixes.yaml (Rule 53, 2026-01-19).
|
||||
|
||||
Uses CustodianPlace for detailed location including coordinates.
|
||||
examples:
|
||||
- value:
|
||||
place_name: Mauritius
|
||||
country: MU
|
||||
latitude: -20.2
|
||||
longitude: 57.5
|
||||
collection_locality_text:
|
||||
# MIGRATED 2026-01-19: collection_locality_text → describes_or_described + Locality (Rule 53)
|
||||
describes_or_described:
|
||||
required: false
|
||||
range: string
|
||||
range: Locality
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
description: >-
|
||||
Verbatim locality description as recorded on specimen label.
|
||||
MIGRATED from collection_locality_text per slot_fixes.yaml (Rule 53, 2026-01-19).
|
||||
|
||||
Uses Locality class for structured representation including
|
||||
original text, language, and provenance.
|
||||
examples:
|
||||
- value: Mauritius, near Port Louis, in forest
|
||||
- value: 'Indonesia: Java: Mt. Gede, 1500m'
|
||||
collector:
|
||||
- value:
|
||||
verbatim_text: "Mauritius, near Port Louis, in forest"
|
||||
original_language: "en"
|
||||
description: Locality for Dodo specimen
|
||||
- value:
|
||||
verbatim_text: "Indonesia: Java: Mt. Gede, 1500m"
|
||||
original_language: "en"
|
||||
interpretation_notes: "Mt. Gede is Gunung Gede volcano"
|
||||
description: Indonesian specimen with elevation
|
||||
# MIGRATED 2026-01-22: collector → is_or_was_acquired_by + Agent (Rule 53)
|
||||
is_or_was_acquired_by:
|
||||
description: |
|
||||
The person(s) or organization(s) who collected this specimen.
|
||||
Migrated from collector per slot_fixes.yaml revision.
|
||||
required: false
|
||||
range: string
|
||||
range: Agent
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
examples:
|
||||
- value: Alfred Russel Wallace
|
||||
- value: Charles Darwin
|
||||
- value:
|
||||
agent_name: "Alfred Russel Wallace"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
description: Victorian naturalist collector
|
||||
- value:
|
||||
agent_name: "Charles Darwin"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
description: HMS Beagle expedition collector
|
||||
field_number:
|
||||
required: false
|
||||
range: string
|
||||
|
|
@ -529,9 +597,14 @@ classes:
|
|||
scientific_name: "Raphus cucullatus (Linnaeus, 1758)"
|
||||
authorship: "Linnaeus, 1758"
|
||||
taxonomic_rank: SPECIES
|
||||
common_name:
|
||||
- Dodo
|
||||
- Dronte
|
||||
# MIGRATED 2026-01-22: common_name → has_or_had_name + Name (Rule 53)
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Dodo"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
- has_or_had_label: "Dronte"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "nl"
|
||||
has_or_had_rank: SPECIES # was: taxonomic_rank - migrated per Rule 53/56 (2026-01-17)
|
||||
higher_classification: Animalia|Chordata|Aves|Columbiformes|Columbidae|Raphus
|
||||
part_type:
|
||||
|
|
@ -546,7 +619,8 @@ classes:
|
|||
begin_of_the_begin: "1600-01-01"
|
||||
end_of_the_end: "1662-12-31"
|
||||
notes: "Pre-1662 (before Great Fire of London destroyed records)"
|
||||
collection_location:
|
||||
# MIGRATED 2026-01-19: collection_location → has_or_had_place (Rule 53)
|
||||
has_or_had_place:
|
||||
place_name: Mauritius
|
||||
country: MU
|
||||
iucn_status: EX
|
||||
|
|
@ -570,13 +644,19 @@ classes:
|
|||
scientific_name: "Megatherium americanum Cuvier, 1796"
|
||||
authorship: "Cuvier, 1796"
|
||||
taxonomic_rank: SPECIES
|
||||
common_name:
|
||||
- Giant Ground Sloth
|
||||
# MIGRATED 2026-01-22: common_name → has_or_had_name + Name (Rule 53)
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Giant Ground Sloth"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
has_or_had_rank: SPECIES # was: taxonomic_rank - migrated per Rule 53/56 (2026-01-17)
|
||||
part_type:
|
||||
- SKELETON
|
||||
preservation_method: FOSSIL_PREPARED
|
||||
collection_locality_text: Argentina, Buenos Aires Province
|
||||
# MIGRATED 2026-01-19: collection_locality_text → describes_or_described (Rule 53)
|
||||
describes_or_described:
|
||||
- verbatim_text: "Argentina, Buenos Aires Province"
|
||||
original_language: "en"
|
||||
iucn_status: EX
|
||||
current_keeper: https://nde.nl/ontology/hc/custodian/nl/naturalis
|
||||
description: Megatherium skeleton at Naturalis Biodiversity Center
|
||||
|
|
@ -591,9 +671,14 @@ classes:
|
|||
scientific_name: "Quercus robur L."
|
||||
authorship: "L."
|
||||
taxonomic_rank: SPECIES
|
||||
common_name:
|
||||
- English Oak
|
||||
- Pedunculate Oak
|
||||
# MIGRATED 2026-01-22: common_name → has_or_had_name + Name (Rule 53)
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "English Oak"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
- has_or_had_label: "Pedunculate Oak"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
has_or_had_rank: SPECIES # was: taxonomic_rank - migrated per Rule 53/56 (2026-01-17)
|
||||
has_or_had_authority: # was: taxonomic_authority - migrated per Rule 53/56 (2026-01-16)
|
||||
has_or_had_label: "Linnaeus, 1753"
|
||||
|
|
@ -617,7 +702,10 @@ classes:
|
|||
begin_of_the_begin: "1750-01-01"
|
||||
end_of_the_end: "1759-12-31"
|
||||
notes: "Collected by Linnaeus in the 1750s"
|
||||
collector:
|
||||
- Carl Linnaeus
|
||||
# MIGRATED 2026-01-22: collector → is_or_was_acquired_by + Agent (Rule 53)
|
||||
is_or_was_acquired_by:
|
||||
- agent_name: "Carl Linnaeus"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
current_keeper: https://nde.nl/ontology/hc/custodian/uk/royal-botanic-gardens-kew
|
||||
description: Oak type specimen at Royal Botanic Gardens, Kew
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@ imports:
|
|||
- ../slots/catering_price_range
|
||||
- ../slots/has_or_had_accessibility_feature
|
||||
- ../slots/operator
|
||||
- ../slots/founded_year
|
||||
# MIGRATED 2026-01-22: founded_year → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
- ../slots/is_or_was_founded_through
|
||||
- ./FoundingEvent
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
||||
- ../slots/is_or_was_derived_from # was: was_derived_from - migrated per Rule 53
|
||||
|
|
@ -92,7 +94,7 @@ classes:
|
|||
- catering_price_range
|
||||
- catering_type
|
||||
- cuisine_type
|
||||
- founded_year
|
||||
- is_or_was_founded_through # was: founded_year - migrated per Rule 53 (2026-01-22)
|
||||
- has_michelin_star
|
||||
- has_outdoor_seating
|
||||
- heritage_type_classification
|
||||
|
|
@ -238,11 +240,20 @@ classes:
|
|||
description: Dutch catering company
|
||||
- value: In-house
|
||||
description: Museum-operated
|
||||
founded_year:
|
||||
range: integer
|
||||
# MIGRATED 2026-01-22: founded_year → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
is_or_was_founded_through:
|
||||
description: |
|
||||
The founding event for this catering place.
|
||||
Migrated from founded_year per slot_fixes.yaml revision.
|
||||
range: FoundingEvent
|
||||
inlined: true
|
||||
examples:
|
||||
- value: 1902
|
||||
description: Historic café founding year
|
||||
- value:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1902-01-01"
|
||||
end_of_the_begin: "1902-12-31"
|
||||
founding_description: "Established as historic café"
|
||||
description: Historic café founding event (1902)
|
||||
is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53
|
||||
range: CustodianObservation
|
||||
multivalued: true
|
||||
|
|
@ -308,6 +319,11 @@ classes:
|
|||
seating_capacity: 150
|
||||
has_outdoor_seating: true
|
||||
opening_hour: Daily 07:00-23:00
|
||||
founded_year: 1902
|
||||
# MIGRATED 2026-01-22: founded_year → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
is_or_was_founded_through:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1902-01-01"
|
||||
end_of_the_begin: "1902-12-31"
|
||||
founding_description: "Historic art deco café established in 1902"
|
||||
catering_price_range: €€€
|
||||
description: Historic heritage café
|
||||
|
|
|
|||
268
schemas/20251121/linkml/modules/classes/CollectionEvent.yaml
Normal file
268
schemas/20251121/linkml/modules/classes/CollectionEvent.yaml
Normal file
|
|
@ -0,0 +1,268 @@
|
|||
# CollectionEvent class
|
||||
# Structured representation of specimen collection events.
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-19):
|
||||
# Created as part of collection_location migration per slot_fixes.yaml (Rule 53).
|
||||
#
|
||||
# Darwin Core alignment: Captures dwc:Event for specimen collection activities.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/CollectionEvent
|
||||
name: CollectionEvent
|
||||
title: Collection Event Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
dwc: http://rs.tdwg.org/dwc/terms/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_place
|
||||
- ../slots/has_or_had_provenance
|
||||
- ../slots/has_or_had_note
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/is_or_was_acquired_by # Added 2026-01-22 for collector migration (Rule 53)
|
||||
- ./Place
|
||||
- ./CustodianPlace
|
||||
- ./TimeSpan
|
||||
- ./Agent # Added 2026-01-22 for collector migration (Rule 53)
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
CollectionEvent:
|
||||
class_uri: dwc:Event
|
||||
description: >-
|
||||
A specimen collection event capturing where, when, and by whom a specimen was collected.
|
||||
|
||||
**Purpose**:
|
||||
Consolidates collection metadata into a structured event following Darwin Core
|
||||
and CIDOC-CRM event modeling patterns.
|
||||
|
||||
**Darwin Core Alignment**:
|
||||
- `has_or_had_place` → dwc:locality (structured location)
|
||||
- `temporal_extent` → dwc:eventDate (collection date/period)
|
||||
- `is_or_was_acquired_by` → dwc:recordedBy (was: collector, migrated 2026-01-22)
|
||||
- `field_number` → dwc:fieldNumber
|
||||
|
||||
**CIDOC-CRM Alignment**:
|
||||
- Maps to crm:E7_Activity (collection activity)
|
||||
- `has_or_had_place` → crm:P7_took_place_at
|
||||
- `temporal_extent` → crm:P4_has_time-span
|
||||
|
||||
**REPLACES**:
|
||||
- Individual slots: collection_location, collection_date, field_number
|
||||
- collector → is_or_was_acquired_by + Agent (migrated 2026-01-22)
|
||||
- Consolidates into structured event with provenance
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
CollectionEvent:
|
||||
has_or_had_place:
|
||||
place_name: "Mauritius"
|
||||
country: "MU"
|
||||
latitude: -20.2
|
||||
longitude: 57.5
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1662-01-01"
|
||||
end_of_the_end: "1662-12-31"
|
||||
is_or_was_acquired_by: # was: collector - migrated 2026-01-22
|
||||
- agent_name: "Unknown Dutch sailor"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
field_number: "VOC-1662-001"
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- dwc:Event
|
||||
|
||||
close_mappings:
|
||||
- crm:E7_Activity
|
||||
- prov:Activity
|
||||
|
||||
related_mappings:
|
||||
- schema:Action
|
||||
|
||||
mixins:
|
||||
- HasProvenance
|
||||
|
||||
slots:
|
||||
- has_or_had_place
|
||||
- has_or_had_provenance
|
||||
- has_or_had_note
|
||||
- temporal_extent
|
||||
- is_or_was_acquired_by # Added 2026-01-22: was collector (Rule 53)
|
||||
|
||||
attributes:
|
||||
event_id:
|
||||
description: >-
|
||||
Unique identifier for this collection event.
|
||||
range: uriorcurie
|
||||
identifier: true
|
||||
slot_uri: dcterms:identifier
|
||||
|
||||
# collector: REMOVED - migrated to is_or_was_acquired_by per Rule 53 (2026-01-22)
|
||||
# Now uses imported slot is_or_was_acquired_by with Agent class
|
||||
|
||||
field_number:
|
||||
description: >-
|
||||
Collector's field number or identifier.
|
||||
Maps to dwc:fieldNumber.
|
||||
range: string
|
||||
slot_uri: dwc:fieldNumber
|
||||
examples:
|
||||
- value: "ARW-1234"
|
||||
- value: "CD-HMS Beagle-567"
|
||||
|
||||
sampling_protocol:
|
||||
description: >-
|
||||
Method used to collect the specimen.
|
||||
Maps to dwc:samplingProtocol.
|
||||
range: string
|
||||
slot_uri: dwc:samplingProtocol
|
||||
examples:
|
||||
- value: "UV light trap"
|
||||
- value: "Mist net"
|
||||
- value: "Hand collection"
|
||||
|
||||
habitat_description:
|
||||
description: >-
|
||||
Description of habitat where specimen was collected.
|
||||
Maps to dwc:habitat.
|
||||
range: string
|
||||
slot_uri: dwc:habitat
|
||||
examples:
|
||||
- value: "Tropical rainforest, understory"
|
||||
- value: "Coral reef, depth 15m"
|
||||
|
||||
slot_usage:
|
||||
has_or_had_place:
|
||||
description: >-
|
||||
Structured location where specimen was collected.
|
||||
MIGRATED from collection_location per slot_fixes.yaml (Rule 53, 2026-01-19).
|
||||
|
||||
Uses CustodianPlace for detailed location including coordinates.
|
||||
range: CustodianPlace
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
place_name: "Mauritius"
|
||||
country: "MU"
|
||||
latitude: -20.2
|
||||
longitude: 57.5
|
||||
|
||||
temporal_extent:
|
||||
description: >-
|
||||
Time period when collection occurred.
|
||||
Supports exact dates, ranges, and approximate periods.
|
||||
range: TimeSpan
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
begin_of_the_begin: "2020-06-15"
|
||||
end_of_the_end: "2020-06-15"
|
||||
description: Exact date
|
||||
- value:
|
||||
begin_of_the_begin: "1870-01-01"
|
||||
end_of_the_end: "1879-12-31"
|
||||
notes: "1870s"
|
||||
description: Approximate decade
|
||||
|
||||
has_or_had_provenance:
|
||||
description: >-
|
||||
Provenance of this collection event record.
|
||||
range: ProvenanceBlock
|
||||
inlined: true
|
||||
|
||||
is_or_was_acquired_by:
|
||||
description: >-
|
||||
Person(s) who collected the specimen.
|
||||
MIGRATED from collector attribute per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
|
||||
Uses Agent class for structured representation with name, type, and role.
|
||||
Maps to dwc:recordedBy via Agent.
|
||||
range: Agent
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
examples:
|
||||
- value:
|
||||
agent_name: "Alfred Russel Wallace"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
description: Victorian naturalist collector
|
||||
- value:
|
||||
agent_name: "Charles Darwin"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
description: HMS Beagle expedition collector
|
||||
|
||||
comments:
|
||||
- Created 2026-01-19 from collection_location migration (Rule 53)
|
||||
- "2026-01-22: collector attribute → is_or_was_acquired_by slot + Agent class (Rule 53)"
|
||||
- Aligns with Darwin Core dwc:Event
|
||||
- Consolidates collection metadata into structured event
|
||||
- Supports provenance tracking for historical specimens
|
||||
|
||||
see_also:
|
||||
- https://dwc.tdwg.org/terms/#dwc:Event
|
||||
- https://cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E7
|
||||
|
||||
annotations:
|
||||
custodian_types: '["B", "M", "R"]'
|
||||
custodian_types_rationale: >-
|
||||
Primarily used for Botanical/Zoo (B), Museum (M), and Research (R) custodians
|
||||
with biological specimen collections.
|
||||
custodian_types_primary: "B"
|
||||
specificity_score: "0.70"
|
||||
specificity_rationale: >-
|
||||
Fairly specific - primarily for natural history specimen collecting events.
|
||||
template_specificity:
|
||||
museum_search: "0.75"
|
||||
collection_discovery: "0.80"
|
||||
general_heritage: "0.55"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
event_id: "https://nde.nl/ontology/hc/event/dodo-collection-1662"
|
||||
has_or_had_place:
|
||||
place_name: "Mauritius"
|
||||
country: "MU"
|
||||
latitude: -20.2
|
||||
longitude: 57.5
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1600-01-01"
|
||||
end_of_the_end: "1662-12-31"
|
||||
notes: "Pre-1662 (before extinction)"
|
||||
# collector → is_or_was_acquired_by (migrated 2026-01-22)
|
||||
is_or_was_acquired_by:
|
||||
- agent_name: "Unknown Dutch sailor"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
description: Historical Dodo collection event
|
||||
|
||||
- value:
|
||||
event_id: "https://nde.nl/ontology/hc/event/wallace-java-1234"
|
||||
has_or_had_place:
|
||||
place_name: "Mt. Gede"
|
||||
region: "West Java"
|
||||
country: "ID"
|
||||
latitude: -6.78
|
||||
longitude: 106.98
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1854-06-01"
|
||||
end_of_the_end: "1854-06-30"
|
||||
# collector → is_or_was_acquired_by (migrated 2026-01-22)
|
||||
is_or_was_acquired_by:
|
||||
- agent_name: "Alfred Russel Wallace"
|
||||
agent_type: person
|
||||
agent_role: collector
|
||||
field_number: "ARW-1234"
|
||||
sampling_protocol: "Hand collection"
|
||||
habitat_description: "Montane forest, 1500m elevation"
|
||||
description: Wallace collection in Java
|
||||
198
schemas/20251121/linkml/modules/classes/ColonialStatus.yaml
Normal file
198
schemas/20251121/linkml/modules/classes/ColonialStatus.yaml
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
# ColonialStatus class
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: colonial
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 56
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/ColonialStatus
|
||||
name: colonial_status_class
|
||||
title: Colonial Status Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_identifier
|
||||
- ../slots/temporal_extent
|
||||
- ./TimeSpan
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
ColonialStatus:
|
||||
class_uri: hc:ColonialStatus
|
||||
description: |
|
||||
Structured representation of colonial/territorial status for geographic coverage.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Models colonial territories and their historical status in archival finding aids.
|
||||
Captures both the geographic territory and its colonial relationship over time.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from simple `colonial` string slot to
|
||||
structured class with temporal and geographic context.
|
||||
|
||||
The revision specifies:
|
||||
- `includes_or_included` + `GeoSpatialPlace` for territory geometry
|
||||
- `is_or_was_categorized_as` + `ColonialStatus` for categorization
|
||||
|
||||
**USE CASES**:
|
||||
|
||||
- Dutch East Indies archives (1602-1949)
|
||||
- Belgian Congo documentation
|
||||
- British Colonial Office records
|
||||
- Portuguese overseas territories
|
||||
|
||||
**PROVENANCE CONSIDERATIONS**:
|
||||
|
||||
Colonial status is historically contingent and politically sensitive.
|
||||
Always capture:
|
||||
- Time period of colonial relationship
|
||||
- Perspective (colonizer vs. colonized)
|
||||
- Modern-day geographic equivalent
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:spatial
|
||||
close_mappings:
|
||||
- schema:containedInPlace
|
||||
related_mappings:
|
||||
- skos:Concept
|
||||
|
||||
slots:
|
||||
- has_or_had_label
|
||||
- has_or_had_identifier
|
||||
- temporal_extent
|
||||
|
||||
attributes:
|
||||
territory_name:
|
||||
description: |
|
||||
Name of the colonial territory.
|
||||
|
||||
Use the historical name as recorded in archival sources.
|
||||
Modern equivalents should be recorded in notes or linked via GeoSpatialPlace.
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "Dutch East Indies"
|
||||
description: Historical name for Indonesia under Dutch rule
|
||||
- value: "Belgian Congo"
|
||||
description: Historical name for DRC under Belgian rule
|
||||
- value: "British Malaya"
|
||||
description: Historical British colonial territories in Southeast Asia
|
||||
|
||||
colonizing_power:
|
||||
description: |
|
||||
The colonizing nation or entity.
|
||||
range: string
|
||||
examples:
|
||||
- value: "Netherlands"
|
||||
- value: "Belgium"
|
||||
- value: "United Kingdom"
|
||||
- value: "Portugal"
|
||||
- value: "France"
|
||||
|
||||
modern_equivalent:
|
||||
description: |
|
||||
Modern-day country or region corresponding to this colonial territory.
|
||||
|
||||
Use ISO 3166-1 alpha-2 codes or full country names.
|
||||
range: string
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: "ID"
|
||||
description: Indonesia (former Dutch East Indies)
|
||||
- value: "CD"
|
||||
description: Democratic Republic of Congo (former Belgian Congo)
|
||||
- value: "MY"
|
||||
description: Malaysia (part of former British Malaya)
|
||||
|
||||
status_type:
|
||||
description: |
|
||||
Type of colonial relationship.
|
||||
range: string
|
||||
examples:
|
||||
- value: "colony"
|
||||
- value: "protectorate"
|
||||
- value: "mandate"
|
||||
- value: "overseas territory"
|
||||
- value: "dependency"
|
||||
|
||||
slot_usage:
|
||||
has_or_had_label:
|
||||
description: |
|
||||
Display label for the colonial status.
|
||||
MIGRATION: Used for simple string representation of colonial territory name.
|
||||
range: string
|
||||
examples:
|
||||
- value: "Dutch East Indies (1602-1949)"
|
||||
|
||||
temporal_extent:
|
||||
description: |
|
||||
Time period of colonial relationship.
|
||||
|
||||
Use CIDOC-CRM TimeSpan for precise temporal modeling.
|
||||
range: TimeSpan
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
begin_of_the_begin: "1602-01-01"
|
||||
end_of_the_end: "1949-12-27"
|
||||
description: Dutch colonial period in Indonesia (VOC founding to sovereignty transfer)
|
||||
|
||||
examples:
|
||||
- value:
|
||||
territory_name: "Dutch East Indies"
|
||||
colonizing_power: "Netherlands"
|
||||
modern_equivalent:
|
||||
- "ID"
|
||||
status_type: "colony"
|
||||
has_or_had_label: "Dutch East Indies (1602-1949)"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1602-03-20"
|
||||
end_of_the_end: "1949-12-27"
|
||||
description: Dutch colonial Indonesia - VOC founding to sovereignty transfer
|
||||
|
||||
- value:
|
||||
territory_name: "Suriname"
|
||||
colonizing_power: "Netherlands"
|
||||
modern_equivalent:
|
||||
- "SR"
|
||||
status_type: "colony"
|
||||
has_or_had_label: "Dutch Suriname (1667-1975)"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1667-01-01"
|
||||
end_of_the_end: "1975-11-25"
|
||||
description: Dutch colonial Suriname
|
||||
|
||||
- value:
|
||||
territory_name: "Netherlands Antilles"
|
||||
colonizing_power: "Netherlands"
|
||||
modern_equivalent:
|
||||
- "CW"
|
||||
- "SX"
|
||||
- "BQ"
|
||||
status_type: "overseas territory"
|
||||
has_or_had_label: "Netherlands Antilles (1954-2010)"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1954-01-01"
|
||||
end_of_the_end: "2010-10-10"
|
||||
description: Former Netherlands Antilles (now Curaçao, Sint Maarten, Caribbean Netherlands)
|
||||
|
||||
comments:
|
||||
- Created per slot_fixes.yaml migration from colonial slot (2026-01-22)
|
||||
- Models colonial territories with temporal and geographic context
|
||||
- Supports decolonization research and provenance tracking
|
||||
- Politically sensitive - capture multiple perspectives where relevant
|
||||
|
||||
see_also:
|
||||
- https://www.nationaalarchief.nl/onderzoeken/colonial-records
|
||||
- https://www.kit.nl/project/decolonization-heritage/
|
||||
196
schemas/20251121/linkml/modules/classes/CommentReply.yaml
Normal file
196
schemas/20251121/linkml/modules/classes/CommentReply.yaml
Normal file
|
|
@ -0,0 +1,196 @@
|
|||
# CommentReply class
|
||||
# Created per slot_fixes.yaml revision for: comment_reply_count
|
||||
#
|
||||
# Represents reply metrics and relationships for comments
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of comment_reply_count migration per Rule 53.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/CommentReply
|
||||
name: comment_reply_class
|
||||
title: Comment Reply Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
sioc: http://rdfs.org/sioc/ns#
|
||||
as: https://www.w3.org/ns/activitystreams#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_quantity
|
||||
- ../slots/has_or_had_unit
|
||||
- ../slots/temporal_extent
|
||||
- ./Quantity
|
||||
- ./Unit
|
||||
- ./TimeSpan
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
CommentReply:
|
||||
class_uri: sioc:Post
|
||||
description: |
|
||||
Reply metrics and relationships for comments/posts.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Structured representation of reply counts and relationships for threaded
|
||||
discussions. Replaces simple integer counts with rich reply data including
|
||||
quantity, temporal tracking, and relationship information.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `comment_reply_count` integer
|
||||
to structured `has_or_had_reply` + `CommentReply` with `has_or_had_quantity`
|
||||
+ `Quantity` for metric representation.
|
||||
|
||||
**REPLY CONTEXTS**:
|
||||
|
||||
| Context | Description |
|
||||
|---------|-------------|
|
||||
| YouTube | Comment replies on video comments |
|
||||
| Twitter | Reply threads |
|
||||
| Facebook | Comment replies on posts |
|
||||
| Forum | Threaded discussion replies |
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
| Ontology | Class/Property | Usage |
|
||||
|----------|----------------|-------|
|
||||
| **SIOC** | `sioc:Post`, `sioc:has_reply` | Online community content |
|
||||
| **Activity Streams** | `as:Note`, `as:inReplyTo` | Social activity |
|
||||
| **Schema.org** | `schema:Comment` | Generic comment modeling |
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
has_or_had_reply:
|
||||
- reply_count: 5
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_unit:
|
||||
unit_label: "replies"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2025-01-14T10:00:00Z"
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- sioc:Post
|
||||
|
||||
close_mappings:
|
||||
- schema:Comment
|
||||
- as:Note
|
||||
|
||||
related_mappings:
|
||||
- sioc:has_reply
|
||||
- as:inReplyTo
|
||||
|
||||
slots:
|
||||
- has_or_had_quantity
|
||||
- has_or_had_unit
|
||||
- temporal_extent
|
||||
|
||||
attributes:
|
||||
reply_count:
|
||||
description: |
|
||||
Simple count of replies (shorthand for has_or_had_quantity.numeric_value).
|
||||
Use has_or_had_quantity for structured representation with unit.
|
||||
range: integer
|
||||
required: false
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value: 5
|
||||
description: 5 replies to a comment
|
||||
- value: 42
|
||||
description: 42 replies in thread
|
||||
|
||||
reply_type:
|
||||
description: |
|
||||
Type of reply context (comment_reply, thread_reply, direct_reply).
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "comment_reply"
|
||||
description: Reply to a comment
|
||||
- value: "thread_reply"
|
||||
description: Reply in a discussion thread
|
||||
- value: "direct_reply"
|
||||
description: Direct reply to author
|
||||
|
||||
slot_usage:
|
||||
has_or_had_quantity:
|
||||
description: |
|
||||
Structured quantity for the reply count.
|
||||
Use Quantity class with numeric_value and has_or_had_unit.
|
||||
range: Quantity
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
numeric_value: 5
|
||||
has_or_had_unit:
|
||||
unit_label: "replies"
|
||||
description: 5 replies using Quantity class
|
||||
|
||||
has_or_had_unit:
|
||||
description: |
|
||||
Unit for the reply type (replies, responses, etc.).
|
||||
Can be specified directly or via has_or_had_quantity.has_or_had_unit.
|
||||
range: Unit
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
unit_label: "replies"
|
||||
description: Replies unit
|
||||
|
||||
temporal_extent:
|
||||
description: |
|
||||
Time when the reply count was observed/recorded.
|
||||
range: TimeSpan
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
begin_of_the_begin: "2025-01-14T10:00:00Z"
|
||||
description: Observation timestamp
|
||||
|
||||
examples:
|
||||
- value:
|
||||
reply_count: 5
|
||||
description: Simple reply count (minimal)
|
||||
|
||||
- value:
|
||||
reply_count: 5
|
||||
reply_type: "comment_reply"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_unit:
|
||||
unit_label: "replies"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2025-01-14T10:00:00Z"
|
||||
description: Full structured reply count with timestamp
|
||||
|
||||
- value:
|
||||
reply_count: 0
|
||||
reply_type: "comment_reply"
|
||||
description: Comment with no replies
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from comment_reply_count migration (Rule 53)
|
||||
- Models reply metrics as structured data
|
||||
- Supports temporal tracking of reply counts
|
||||
- Aligned with SIOC vocabulary for online communities
|
||||
|
||||
see_also:
|
||||
- http://rdfs.org/sioc/ns#has_reply
|
||||
- https://schema.org/Comment
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian with discussion content may track replies.
|
||||
specificity_score: "0.55"
|
||||
specificity_rationale: >-
|
||||
Moderately general - applies to threaded discussion contexts.
|
||||
|
|
@ -0,0 +1,160 @@
|
|||
# CommercialCustodianTypes class
|
||||
# Type/Types naming pattern per Rule 0b
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: commercial_custodian_subtype
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 0b
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/CommercialCustodianTypes
|
||||
name: commercial_custodian_types_class
|
||||
title: Commercial Custodian Types Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
wd: http://www.wikidata.org/entity/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_identifier
|
||||
- ../enums/CommercialCustodianTypeEnum
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
CommercialCustodianTypes:
|
||||
class_uri: skos:Collection
|
||||
description: |
|
||||
Collection of commercial custodian subtypes from the 295-type Wikidata taxonomy.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Structured representation of commercial heritage custodian subtypes,
|
||||
replacing the simple enum-valued slot with a class that can hold
|
||||
multiple types with additional metadata.
|
||||
|
||||
**DESIGN RATIONALE** (Rule 0b):
|
||||
|
||||
Follows the Type/Types naming pattern:
|
||||
- `CommercialCustodianType` (singular) - would be abstract base
|
||||
- `CommercialCustodianTypes` (plural) - collection of concrete subtypes
|
||||
|
||||
Created per slot_fixes.yaml migration from `commercial_custodian_subtype`
|
||||
enum slot to structured `includes_or_included` + `CommercialCustodianTypes`.
|
||||
|
||||
**COMMERCIAL CUSTODIAN CATEGORIES**:
|
||||
|
||||
| Category | Examples |
|
||||
|----------|----------|
|
||||
| Auction houses | Christie's, Sotheby's, Bonhams |
|
||||
| Art dealers | Gagosian, David Zwirner |
|
||||
| Corporate archives | Ford Motor Archives, IBM Archives |
|
||||
| Brand museums | Heineken Experience, Guinness Storehouse |
|
||||
| Company museums | Mercedes-Benz Museum, BMW Welt |
|
||||
|
||||
**WIKIDATA INTEGRATION**:
|
||||
|
||||
Each subtype links to a Wikidata Q-number describing the specific
|
||||
commercial organization type, enabling Linked Open Data queries.
|
||||
|
||||
exact_mappings:
|
||||
- skos:Collection
|
||||
|
||||
close_mappings:
|
||||
- skos:ConceptScheme
|
||||
|
||||
slots:
|
||||
- has_or_had_label
|
||||
- has_or_had_identifier
|
||||
|
||||
attributes:
|
||||
subtype_code:
|
||||
description: |
|
||||
Code for the commercial custodian subtype from CommercialCustodianTypeEnum.
|
||||
range: CommercialCustodianTypeEnum
|
||||
required: false
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: "AUCTION_HOUSE"
|
||||
- value: "ART_DEALER"
|
||||
- value: "CORPORATE_ARCHIVE"
|
||||
|
||||
wikidata_qid:
|
||||
description: |
|
||||
Wikidata Q-number for this commercial custodian type.
|
||||
range: uriorcurie
|
||||
required: false
|
||||
examples:
|
||||
- value: "wd:Q1078426"
|
||||
description: Auction house (Q1078426)
|
||||
- value: "wd:Q17537576"
|
||||
description: Corporate archive (Q17537576)
|
||||
|
||||
subtype_label:
|
||||
description: |
|
||||
Human-readable label for this subtype.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "Auction House"
|
||||
- value: "Corporate Archive"
|
||||
- value: "Brand Heritage Center"
|
||||
|
||||
slot_usage:
|
||||
has_or_had_label:
|
||||
description: |
|
||||
Display label for the commercial custodian type collection.
|
||||
examples:
|
||||
- value: "Auction Houses and Art Dealers"
|
||||
|
||||
has_or_had_identifier:
|
||||
description: |
|
||||
Wikidata or other identifier for this type.
|
||||
examples:
|
||||
- value:
|
||||
identifier_scheme: wikidata
|
||||
identifier_value: "Q1078426"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
subtype_code:
|
||||
- "AUCTION_HOUSE"
|
||||
subtype_label: "Auction House"
|
||||
wikidata_qid: "wd:Q1078426"
|
||||
description: Auction house type
|
||||
|
||||
- value:
|
||||
subtype_code:
|
||||
- "CORPORATE_ARCHIVE"
|
||||
subtype_label: "Corporate Archive"
|
||||
wikidata_qid: "wd:Q17537576"
|
||||
description: Corporate archive type
|
||||
|
||||
- value:
|
||||
subtype_code:
|
||||
- "ART_DEALER"
|
||||
- "GALLERY"
|
||||
subtype_label: "Art Dealer/Gallery"
|
||||
description: Combined art dealer and gallery type
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commercial_custodian_subtype migration (Rule 53)
|
||||
- Follows Type/Types naming pattern (Rule 0b)
|
||||
- Links to Wikidata taxonomy of 295 commercial custodian types
|
||||
- Replaces simple enum slot with structured class
|
||||
|
||||
see_also:
|
||||
- https://www.wikidata.org/wiki/Q1078426
|
||||
- https://www.wikidata.org/wiki/Q17537576
|
||||
|
||||
annotations:
|
||||
custodian_types: '["C"]'
|
||||
custodian_types_rationale: >-
|
||||
Specific to Commercial (C) custodian type classification.
|
||||
specificity_score: "0.75"
|
||||
specificity_rationale: >-
|
||||
Fairly specific - applies only to commercial heritage contexts.
|
||||
|
|
@ -17,12 +17,17 @@ imports:
|
|||
- ../enums/CommercialCustodianTypeEnum
|
||||
- ../slots/has_or_had_model # was: business_model - migrated per Rule 53/56/57 (2026-01-17)
|
||||
- ./BusinessModel
|
||||
- ../slots/collection_purpose
|
||||
# REMOVED 2026-01-19: collection_purpose - migrated to collects_or_collected + has_or_had_rationale (Rule 53)
|
||||
- ../slots/collects_or_collected
|
||||
- ../slots/has_or_had_rationale
|
||||
- ./Rationale
|
||||
- ../slots/has_or_had_service # was: commercial_activity - migrated per Rule 53/56/57 (2026-01-18)
|
||||
- ./Service
|
||||
- ./ServiceType
|
||||
- ./ServiceTypes
|
||||
- ../slots/commercial_custodian_subtype
|
||||
# REMOVED 2026-01-22: ../slots/commercial_custodian_subtype - migrated to includes_or_included + CommercialCustodianTypes (Rule 53)
|
||||
- ../slots/includes_or_included
|
||||
- ./CommercialCustodianTypes
|
||||
- ../slots/corporate_integration
|
||||
- ../slots/has_or_had_custodian_type
|
||||
- ../slots/heritage_holding
|
||||
|
|
@ -190,8 +195,7 @@ classes:
|
|||
\ .\n\n# Example: Heineken Experience (corporate brand heritage center in Amsterdam)\n<https://w3id.org/heritage/custodian/nl/heineken-experience>\n\
|
||||
\ a schema:Corporation, schema:TouristAttraction, crm:E74_Group, hc:CommercialOrganization ;\n hc:custodian_type hc:CommercialOrganizationType\
|
||||
\ ;\n hc:has_or_had_model \"For-profit brand heritage attraction\", \"Admission fees\", \"Merchandise sales\", \"Brand\
|
||||
\ marketing\" ;\n hc:collection_purpose \"Brand heritage communication\", \"Consumer engagement\", \"Tourism revenue\"\
|
||||
, \"Corporate identity\" ;\n hc:corporate_integration \"Fully owned by Heineken N.V.\", \"Marketing department\", \"\
|
||||
\ marketing\" ;\n hc:has_or_had_rationale [ hc:rationale_text \"Brand heritage communication, Consumer engagement, Tourism revenue, Corporate identity\" ] ;\n hc:corporate_integration \"Fully owned by Heineken N.V.\", \"Marketing department\", \"\
|
||||
Brand management division\" ;\n hc:public_access \"Daily visitor hours 10:30-19:30\", \"Paid admission\", \"Self-guided\
|
||||
\ tours\", \"Group bookings available\" ;\n hc:heritage_holdings \"Brewing equipment (1867-present)\", \"Advertising\
|
||||
\ materials archive\", \"Bottle/label collections\", \"Corporate photography\" ;\n hc:has_or_had_service [\n a hc:Service ;\n\
|
||||
|
|
@ -216,9 +220,12 @@ classes:
|
|||
- schema:TouristAttraction
|
||||
slots:
|
||||
- has_or_had_model # was: business_model - migrated per Rule 53/56 (2026-01-17)
|
||||
- collection_purpose
|
||||
# collection_purpose REMOVED - migrated to collects_or_collected + has_or_had_rationale (Rule 53, 2026-01-19)
|
||||
- collects_or_collected
|
||||
- has_or_had_rationale
|
||||
- has_or_had_service # was: commercial_activity - migrated per Rule 53/56/57 (2026-01-18)
|
||||
- commercial_custodian_subtype
|
||||
# MIGRATED 2026-01-22: commercial_custodian_subtype → includes_or_included + CommercialCustodianTypes (Rule 53)
|
||||
- includes_or_included
|
||||
- corporate_integration
|
||||
- has_or_had_custodian_type
|
||||
- heritage_holding
|
||||
|
|
@ -246,16 +253,77 @@ classes:
|
|||
has_or_had_label: "Brand heritage center"
|
||||
has_or_had_description: "Event rental, Hospitality, Tourism revenue"
|
||||
description: Coca-Cola World of Coke model
|
||||
collection_purpose:
|
||||
range: string
|
||||
required: true
|
||||
# MIGRATED 2026-01-19: collection_purpose → collects_or_collected + has_or_had_rationale (Rule 53)
|
||||
collects_or_collected:
|
||||
range: Collection
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
description: >-
|
||||
What the commercial organization collects for heritage purposes.
|
||||
MIGRATED from collection_purpose per slot_fixes.yaml (Rule 53, 2026-01-19).
|
||||
|
||||
Uses Collection class with has_or_had_rationale for purpose documentation.
|
||||
examples:
|
||||
- value: Brand communication, Consumer engagement, Tourism, Identity
|
||||
- value:
|
||||
collection_name: "Brand Heritage Collection"
|
||||
has_or_had_rationale:
|
||||
rationale_text: "Brand communication, Consumer engagement, Tourism, Identity"
|
||||
rationale_category: "marketing"
|
||||
description: Heineken Experience purpose
|
||||
- value: Legal record-keeping, Product history, IP documentation
|
||||
- value:
|
||||
collection_name: "Corporate Archive"
|
||||
has_or_had_rationale:
|
||||
rationale_text: "Legal record-keeping, Product history, IP documentation"
|
||||
rationale_category: "compliance"
|
||||
description: Ford Motor archive purpose
|
||||
- value: Corporate culture, Brand storytelling, Innovation
|
||||
- value:
|
||||
collection_name: "Innovation Archive"
|
||||
has_or_had_rationale:
|
||||
rationale_text: "Corporate culture, Brand storytelling, Innovation"
|
||||
rationale_category: "corporate_culture"
|
||||
description: IBM archive purpose
|
||||
has_or_had_rationale:
|
||||
range: Rationale
|
||||
inlined: true
|
||||
required: true
|
||||
description: >-
|
||||
Why the commercial organization maintains heritage collections.
|
||||
Documents corporate motivations (marketing, compliance, culture, etc.).
|
||||
examples:
|
||||
- value:
|
||||
rationale_text: "Brand heritage communication, Consumer engagement"
|
||||
rationale_category: "marketing"
|
||||
description: Marketing-driven heritage purpose
|
||||
- value:
|
||||
rationale_text: "Legal compliance, IP documentation"
|
||||
rationale_category: "compliance"
|
||||
description: Compliance-driven heritage purpose
|
||||
# MIGRATED 2026-01-22: commercial_custodian_subtype → includes_or_included + CommercialCustodianTypes (Rule 53)
|
||||
includes_or_included:
|
||||
description: |
|
||||
MIGRATED from commercial_custodian_subtype per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Specific subtypes of commercial heritage custodian from the 295-type Wikidata taxonomy.
|
||||
Uses CommercialCustodianTypes class for structured representation with Wikidata links.
|
||||
range: CommercialCustodianTypes
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
subtype_code: ["AUCTION_HOUSE"]
|
||||
subtype_label: "Auction House"
|
||||
wikidata_qid: "wd:Q1078426"
|
||||
description: Christie's, Sotheby's type
|
||||
- value:
|
||||
subtype_code: ["CORPORATE_ARCHIVE"]
|
||||
subtype_label: "Corporate Archive"
|
||||
wikidata_qid: "wd:Q17537576"
|
||||
description: Ford Motor Archives type
|
||||
- value:
|
||||
subtype_code: ["ART_DEALER"]
|
||||
subtype_label: "Art Dealer"
|
||||
description: Gagosian type
|
||||
corporate_integration:
|
||||
range: string
|
||||
required: true
|
||||
|
|
|
|||
160
schemas/20251121/linkml/modules/classes/CommissionRate.yaml
Normal file
160
schemas/20251121/linkml/modules/classes/CommissionRate.yaml
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
# CommissionRate class
|
||||
# Created per slot_fixes.yaml revision for: commission_rate
|
||||
#
|
||||
# Represents commission rate structure
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of commission_rate migration per Rule 53.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/CommissionRate
|
||||
name: commission_rate_class
|
||||
title: Commission Rate Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_percentage
|
||||
- ./Percentage
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
CommissionRate:
|
||||
class_uri: hc:CommissionRate
|
||||
description: |
|
||||
Structured representation of a commission rate.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Models commission percentages with context (market type,
|
||||
rate type) replacing simple string representation.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `commission_rate` string
|
||||
to structured representation with Percentage class.
|
||||
|
||||
**ART MARKET STANDARDS**:
|
||||
|
||||
- **Primary market**: 40-50% standard (gallery takes half)
|
||||
- **Secondary market**: 10-20% (resale commission)
|
||||
- **Auction**: 10-25% buyer's premium + seller's commission
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
takes_or_took_comission:
|
||||
rate_type: "primary_market"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
```
|
||||
|
||||
close_mappings:
|
||||
- schema:PriceSpecification
|
||||
|
||||
slots:
|
||||
- has_or_had_percentage
|
||||
|
||||
attributes:
|
||||
rate_type:
|
||||
description: |
|
||||
Type of commission rate.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "primary_market"
|
||||
description: Commission on first sale
|
||||
- value: "secondary_market"
|
||||
description: Commission on resale
|
||||
- value: "auction_buyers_premium"
|
||||
description: Auction house buyer's premium
|
||||
- value: "auction_sellers_commission"
|
||||
description: Auction house seller's commission
|
||||
|
||||
rate_description:
|
||||
description: |
|
||||
Human-readable description of the commission structure.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "Standard 50/50 split between gallery and artist"
|
||||
description: Primary market explanation
|
||||
- value: "Sliding scale based on sale price"
|
||||
description: Variable commission description
|
||||
|
||||
effective_date:
|
||||
description: |
|
||||
When this commission rate became effective.
|
||||
range: date
|
||||
required: false
|
||||
|
||||
applies_to:
|
||||
description: |
|
||||
What this commission rate applies to.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "All represented artists"
|
||||
description: Gallery-wide rate
|
||||
- value: "Works over €10,000"
|
||||
description: Price-based rate
|
||||
|
||||
slot_usage:
|
||||
has_or_had_percentage:
|
||||
description: |
|
||||
The percentage value of this commission rate.
|
||||
range: Percentage
|
||||
inlined: true
|
||||
required: true
|
||||
examples:
|
||||
- value:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
description: 50% commission
|
||||
|
||||
examples:
|
||||
- value:
|
||||
rate_type: "primary_market"
|
||||
rate_description: "Standard 50/50 split between gallery and artist"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
description: Standard primary market commission
|
||||
|
||||
- value:
|
||||
rate_type: "secondary_market"
|
||||
rate_description: "Consignment fee for resale works"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 15
|
||||
percentage_min: 10
|
||||
percentage_max: 20
|
||||
percentage_display: "10-20%"
|
||||
description: Variable secondary market commission
|
||||
|
||||
- value:
|
||||
rate_type: "auction_buyers_premium"
|
||||
rate_description: "Buyer's premium at auction"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 25
|
||||
percentage_display: "25%"
|
||||
description: Auction house buyer's premium
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commission_rate migration (Rule 53)
|
||||
- Provides structured commission representation
|
||||
- Supports art market commission conventions
|
||||
|
||||
see_also:
|
||||
- https://schema.org/PriceSpecification
|
||||
|
||||
annotations:
|
||||
custodian_types: '["G", "C"]'
|
||||
custodian_types_rationale: >-
|
||||
Primarily for galleries (G) and commercial organizations (C).
|
||||
specificity_score: "0.80"
|
||||
specificity_rationale: >-
|
||||
Specific to commercial sales commission context.
|
||||
|
|
@ -17,7 +17,10 @@ imports:
|
|||
- ./Label
|
||||
# REMOVED 2026-01-18: ../slots/collection_description - migrated to has_or_had_description + Description (Rule 53)
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/collection_type
|
||||
# REMOVED 2026-01-22: ../slots/collection_type - migrated to has_or_had_content + CollectionContent (Rule 53)
|
||||
- ./CollectionContent
|
||||
- ./CollectionContentType
|
||||
- ./CollectionContentTypes
|
||||
# REMOVED 2026-01-18: ../slots/collection_scope - migrated to has_or_had_scope + CollectionScope (Rule 53)
|
||||
- ../slots/has_or_had_scope
|
||||
- ./CollectionScope
|
||||
|
|
@ -96,7 +99,7 @@ classes:
|
|||
- has_or_had_label
|
||||
# REMOVED 2026-01-18: collection_scope - migrated to has_or_had_scope + CollectionScope (Rule 53)
|
||||
- has_or_had_scope
|
||||
- collection_type
|
||||
# REMOVED 2026-01-22: collection_type - migrated to has_or_had_content + CollectionContent (Rule 53)
|
||||
- has_or_had_custodian_type
|
||||
- custody_history
|
||||
- digital_surrogate
|
||||
|
|
@ -156,9 +159,7 @@ classes:
|
|||
description_text: "The Nationaal Archief holdings comprise over 137 km of archival records documenting Dutch government and society from the medieval period to the present."
|
||||
description_type: collection_description
|
||||
description: National archive custodian collection description
|
||||
collection_type:
|
||||
range: string
|
||||
multivalued: true
|
||||
# REMOVED 2026-01-22: collection_type slot_usage - migrated to has_or_had_content + CollectionContent (Rule 53)
|
||||
has_or_had_scope: # was: collection_scope - migrated per Rule 53/56 (2026-01-18)
|
||||
description: |
|
||||
MIGRATED from collection_scope per slot_fixes.yaml (Rule 53/56, 2026-01-18).
|
||||
|
|
@ -178,21 +179,37 @@ classes:
|
|||
scope_type: archival_scope
|
||||
description: Archival collection scope example
|
||||
has_or_had_content:
|
||||
# was: temporal_coverage - migrated per Rule 53/56 (2026-01-16)
|
||||
range: Content
|
||||
# was: temporal_coverage (2026-01-16) + collection_type (2026-01-22) - migrated per Rule 53/56
|
||||
range: CollectionContent
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
description: |
|
||||
Content scope including temporal, spatial, and topical coverage.
|
||||
MIGRATED from temporal_coverage per slot_fixes.yaml (Rule 53/56, 2026-01-16).
|
||||
Content held by this collection with typed categorization.
|
||||
MIGRATED from:
|
||||
- temporal_coverage per slot_fixes.yaml (Rule 53/56, 2026-01-16)
|
||||
- collection_type per slot_fixes.yaml (Rule 53, 2026-01-22)
|
||||
|
||||
CollectionContent unifies content description with type classification:
|
||||
- content_description: Free-text description of the content
|
||||
- content_date_range: Temporal coverage (e.g., "1602-1799")
|
||||
- content_extent: Size/extent of content
|
||||
- has_or_had_type → CollectionContentType: Type classification (Archival, Library, Art, etc.)
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_label: "Colonial Archives"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: '1602-01-01'
|
||||
end_of_the_end: '1800-12-31'
|
||||
description: Colonial period content coverage
|
||||
content_description: "Colonial period administrative records"
|
||||
content_date_range: "1602-1800"
|
||||
has_or_had_type:
|
||||
- type_label: Archival
|
||||
description: Colonial archives content with type
|
||||
- value:
|
||||
content_description: "Religious art and liturgical objects"
|
||||
content_extent: "450 objects"
|
||||
has_or_had_type:
|
||||
- type_label: Art
|
||||
- type_label: Liturgical
|
||||
description: Religious heritage content with multiple types
|
||||
extent:
|
||||
range: string
|
||||
required: false
|
||||
|
|
|
|||
|
|
@ -34,7 +34,9 @@ imports:
|
|||
- ../slots/serves_finding_aid
|
||||
- ./ReconstructedEntity
|
||||
- ../slots/has_or_had_data_service_endpoint
|
||||
- ../slots/collection_web_address
|
||||
# REMOVED 2026-01-22: ../slots/collection_web_address - migrated to has_or_had_web_page + WebPage (Rule 53)
|
||||
- ../slots/has_or_had_web_page
|
||||
- ./WebPage
|
||||
- ../slots/fixity_check_date
|
||||
- ../slots/homepage_web_address
|
||||
- ../slots/iiif_support
|
||||
|
|
@ -114,7 +116,8 @@ classes:
|
|||
# MIGRATED from auxiliary_platforms to has_or_had_auxiliary_entities (Rule 53)
|
||||
# - auxiliary_platforms
|
||||
- has_or_had_auxiliary_entities
|
||||
- collection_web_address
|
||||
# REMOVED 2026-01-22: collection_web_address - migrated to has_or_had_web_page + WebPage (Rule 53)
|
||||
- has_or_had_web_page
|
||||
- has_or_had_data_service_endpoint
|
||||
- fixity_check_date
|
||||
- homepage_web_address
|
||||
|
|
@ -211,12 +214,23 @@ classes:
|
|||
description: Rijksmuseum homepage
|
||||
- value: https://www.europeana.eu/
|
||||
description: Europeana homepage
|
||||
collection_web_address:
|
||||
range: uri
|
||||
has_or_had_web_page: # was: collection_web_address - migrated per Rule 53 (2026-01-22)
|
||||
description: |
|
||||
MIGRATED from collection_web_address per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Web pages for accessing digital collections on this platform.
|
||||
Uses WebPage class for structured representation with URL and metadata.
|
||||
range: WebPage
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
examples:
|
||||
- value: https://www.rijksmuseum.nl/nl/rijksstudio
|
||||
description: Rijksstudio collection access
|
||||
- value:
|
||||
has_or_had_label:
|
||||
label_value: "Rijksstudio Collections"
|
||||
has_or_had_url:
|
||||
- has_or_had_url: "https://www.rijksmuseum.nl/nl/rijksstudio"
|
||||
has_or_had_type: collection_access
|
||||
description: Rijksstudio collection access web page
|
||||
inventory_web_address:
|
||||
range: uri
|
||||
multivalued: true
|
||||
|
|
@ -406,8 +420,12 @@ classes:
|
|||
platform_type:
|
||||
- DiscoveryPortal
|
||||
homepage_web_address: https://www.rijksmuseum.nl/
|
||||
collection_web_address:
|
||||
- https://www.rijksmuseum.nl/nl/rijksstudio
|
||||
has_or_had_web_page: # was: collection_web_address - migrated per Rule 53 (2026-01-22)
|
||||
- has_or_had_label:
|
||||
label_value: "Rijksstudio Collections"
|
||||
has_or_had_url:
|
||||
- has_or_had_url: "https://www.rijksmuseum.nl/nl/rijksstudio"
|
||||
has_or_had_type: collection_access
|
||||
api_endpoint: https://www.rijksmuseum.nl/api/
|
||||
iiif_support: true
|
||||
linked_data: true
|
||||
|
|
@ -424,8 +442,12 @@ classes:
|
|||
- AggregationPlatform
|
||||
- APIService
|
||||
homepage_web_address: https://www.europeana.eu/
|
||||
collection_web_address:
|
||||
- https://www.europeana.eu/en/collections
|
||||
has_or_had_web_page: # was: collection_web_address - migrated per Rule 53 (2026-01-22)
|
||||
- has_or_had_label:
|
||||
label_value: "Europeana Collections Browse"
|
||||
has_or_had_url:
|
||||
- has_or_had_url: "https://www.europeana.eu/en/collections"
|
||||
has_or_had_type: collection_access
|
||||
api_endpoint: https://api.europeana.eu/record/v2/
|
||||
sparql_endpoint: https://api.europeana.eu/sparql
|
||||
oai_pmh_endpoint: https://www.europeana.eu/oai
|
||||
|
|
|
|||
|
|
@ -0,0 +1,181 @@
|
|||
# DigitalPlatformUserIdentifier class
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: comment_author_channel_id
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 56
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/DigitalPlatformUserIdentifier
|
||||
name: digital_platform_user_identifier_class
|
||||
title: Digital Platform User Identifier Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
as: https://www.w3.org/ns/activitystreams#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_identifier
|
||||
- ./Identifier
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
DigitalPlatformUserIdentifier:
|
||||
is_a: Identifier
|
||||
class_uri: hc:DigitalPlatformUserIdentifier
|
||||
description: |
|
||||
Identifier for a user account on a digital platform (YouTube, Twitter, etc.).
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Structured representation of platform-specific user identifiers,
|
||||
such as YouTube channel IDs, Twitter handles, or Instagram usernames.
|
||||
Replaces simple string channel_id slots with typed identifiers.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `comment_author_channel_id` string
|
||||
to structured `has_or_had_author` + `Author` with `has_or_had_identifier` +
|
||||
`DigitalPlatformUserIdentifier` for platform user identification.
|
||||
|
||||
**PLATFORM IDENTIFIER TYPES**:
|
||||
|
||||
| Platform | Identifier Type | Example |
|
||||
|----------|-----------------|---------|
|
||||
| YouTube | Channel ID | UC1234abcdef |
|
||||
| Twitter/X | User ID | 12345678 |
|
||||
| Instagram | Username | @museum_account |
|
||||
| Facebook | Page ID | 123456789 |
|
||||
| LinkedIn | Company ID | heritage-foundation |
|
||||
| TikTok | User ID | museum_official |
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
| Ontology | Class/Property | Usage |
|
||||
|----------|----------------|-------|
|
||||
| **Dublin Core** | `dcterms:identifier` | Base identifier semantics |
|
||||
| **Schema.org** | `schema:identifier` | Web-standard identifier |
|
||||
| **FOAF** | `foaf:OnlineAccount` | Online account modeling |
|
||||
| **Activity Streams** | `as:Person` | Social media activity |
|
||||
|
||||
exact_mappings:
|
||||
- foaf:OnlineAccount
|
||||
close_mappings:
|
||||
- schema:identifier
|
||||
related_mappings:
|
||||
- dcterms:identifier
|
||||
- as:actor
|
||||
|
||||
attributes:
|
||||
platform_type:
|
||||
description: |
|
||||
Type of digital platform (YouTube, Twitter, Instagram, etc.).
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "youtube"
|
||||
- value: "twitter"
|
||||
- value: "instagram"
|
||||
- value: "facebook"
|
||||
- value: "linkedin"
|
||||
- value: "tiktok"
|
||||
|
||||
platform_user_id:
|
||||
description: |
|
||||
Platform-specific user/channel/account identifier.
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "UC1234abcdefghijk"
|
||||
description: YouTube channel ID
|
||||
- value: "12345678"
|
||||
description: Twitter numeric user ID
|
||||
- value: "museum_official"
|
||||
description: TikTok username
|
||||
|
||||
platform_username:
|
||||
description: |
|
||||
Human-readable username or handle on the platform.
|
||||
May differ from platform_user_id.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "@rijksmuseum"
|
||||
description: Twitter handle
|
||||
- value: "MuseumFan2024"
|
||||
description: YouTube display name
|
||||
|
||||
profile_url:
|
||||
description: |
|
||||
URL to the user's profile page on the platform.
|
||||
range: uri
|
||||
required: false
|
||||
examples:
|
||||
- value: "https://www.youtube.com/channel/UC1234abcdef"
|
||||
- value: "https://twitter.com/rijksmuseum"
|
||||
|
||||
slot_usage:
|
||||
identifier_scheme:
|
||||
description: |
|
||||
Platform identifier scheme. Use lowercase platform name.
|
||||
Examples: youtube_channel_id, twitter_user_id, instagram_username
|
||||
ifabsent: "string(digital_platform_user_id)"
|
||||
examples:
|
||||
- value: "youtube_channel_id"
|
||||
- value: "twitter_user_id"
|
||||
|
||||
identifier_value:
|
||||
description: |
|
||||
The actual platform user identifier value.
|
||||
Inherited from Identifier class.
|
||||
examples:
|
||||
- value: "UC1234abcdefghijk"
|
||||
description: YouTube channel ID
|
||||
|
||||
examples:
|
||||
- value:
|
||||
identifier_scheme: youtube_channel_id
|
||||
identifier_value: "UCsT0YIqwnpJCM-mx7-gSA4Q"
|
||||
platform_type: "youtube"
|
||||
platform_user_id: "UCsT0YIqwnpJCM-mx7-gSA4Q"
|
||||
platform_username: "TEDx Talks"
|
||||
profile_url: "https://www.youtube.com/channel/UCsT0YIqwnpJCM-mx7-gSA4Q"
|
||||
description: YouTube channel identifier with full metadata
|
||||
|
||||
- value:
|
||||
identifier_scheme: twitter_user_id
|
||||
identifier_value: "12345678"
|
||||
platform_type: "twitter"
|
||||
platform_user_id: "12345678"
|
||||
platform_username: "@rijksmuseum"
|
||||
profile_url: "https://twitter.com/rijksmuseum"
|
||||
description: Twitter user identifier
|
||||
|
||||
- value:
|
||||
identifier_scheme: youtube_channel_id
|
||||
identifier_value: "UC1234abcdef"
|
||||
platform_type: "youtube"
|
||||
platform_user_id: "UC1234abcdef"
|
||||
description: Minimal YouTube channel identifier (just ID)
|
||||
|
||||
comments:
|
||||
- Created per slot_fixes.yaml migration from comment_author_channel_id (2026-01-22)
|
||||
- Extends Identifier class with platform-specific fields
|
||||
- Use for identifying users/authors on digital platforms
|
||||
- Supports YouTube, Twitter, Instagram, Facebook, LinkedIn, TikTok
|
||||
|
||||
see_also:
|
||||
- http://xmlns.com/foaf/0.1/OnlineAccount
|
||||
- https://www.w3.org/ns/activitystreams
|
||||
- https://developers.google.com/youtube/v3/docs/channels
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.70
|
||||
specificity_rationale: >-
|
||||
Specific to digital platform user identification contexts.
|
||||
|
|
@ -14,12 +14,25 @@ prefixes:
|
|||
|
||||
imports:
|
||||
- linkml:types
|
||||
# MIGRATED 2026-01-22: founding_date → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
- ../slots/is_or_was_founded_through
|
||||
- ./FoundingEvent
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
DigitalPlatformV2OrganizationProfile:
|
||||
description: Detailed profile of the organization including type, scope, and description
|
||||
class_uri: schema:Organization
|
||||
slots:
|
||||
- is_or_was_founded_through # was: founding_date attribute - migrated per Rule 53 (2026-01-22)
|
||||
slot_usage:
|
||||
# MIGRATED 2026-01-22: founding_date → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
is_or_was_founded_through:
|
||||
description: |
|
||||
The founding event for this organization.
|
||||
Migrated from founding_date attribute per slot_fixes.yaml revision.
|
||||
range: FoundingEvent
|
||||
inlined: true
|
||||
attributes:
|
||||
organization_type:
|
||||
range: string
|
||||
|
|
@ -30,9 +43,7 @@ classes:
|
|||
description:
|
||||
range: string
|
||||
description: Detailed description of the organization and its activities
|
||||
founding_date:
|
||||
range: string
|
||||
description: Date or year of founding
|
||||
# REMOVED: founding_date - migrated to is_or_was_founded_through (Rule 53, 2026-01-22)
|
||||
history:
|
||||
range: string
|
||||
description: Brief organizational history
|
||||
|
|
|
|||
|
|
@ -22,7 +22,9 @@ imports:
|
|||
- ../slots/has_or_had_custodian_type
|
||||
- ../slots/diocese_name
|
||||
- ../slots/ecclesiastical_province
|
||||
- ../slots/founding_date_diocese
|
||||
# MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53)
|
||||
- ../slots/is_or_was_part_of
|
||||
- ./Diocese
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
||||
- ../slots/has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-15)
|
||||
|
|
@ -44,7 +46,7 @@ classes:
|
|||
- has_or_had_custodian_type
|
||||
- diocese_name
|
||||
- ecclesiastical_province
|
||||
- founding_date_diocese
|
||||
- is_or_was_part_of # was: founding_date_diocese - migrated per Rule 53 (2026-01-22)
|
||||
- hold_or_held_record_set_type
|
||||
- specificity_annotation
|
||||
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
||||
|
|
@ -81,10 +83,22 @@ classes:
|
|||
range: string
|
||||
examples:
|
||||
- value: Province of Utrecht
|
||||
founding_date_diocese:
|
||||
range: date
|
||||
# MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53)
|
||||
is_or_was_part_of:
|
||||
description: |
|
||||
The diocese this archive is part of.
|
||||
Diocese includes founding event with temporal extent.
|
||||
Migrated from founding_date_diocese per slot_fixes.yaml revision.
|
||||
range: Diocese
|
||||
inlined: true
|
||||
examples:
|
||||
- value: '0695-01-01'
|
||||
- value:
|
||||
diocese_name: "Diocese of Utrecht"
|
||||
is_or_was_founded_through:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "0695-01-01"
|
||||
end_of_the_begin: "0695-12-31"
|
||||
founding_description: "Established circa 695 by St. Willibrord"
|
||||
description: Diocese of Utrecht established ~695
|
||||
canonical_access_rule:
|
||||
range: boolean
|
||||
|
|
@ -128,6 +142,13 @@ classes:
|
|||
diocese_name: Diocese of 's-Hertogenbosch
|
||||
archdiocese_name: Archdiocese of Utrecht
|
||||
ecclesiastical_province: Province of Utrecht
|
||||
founding_date_diocese: '1559-05-12'
|
||||
# MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53)
|
||||
is_or_was_part_of:
|
||||
diocese_name: "Diocese of 's-Hertogenbosch"
|
||||
is_or_was_founded_through:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1559-05-12"
|
||||
end_of_the_begin: "1559-05-12"
|
||||
founding_description: "Established 12 May 1559"
|
||||
canonical_access_rules: true
|
||||
description: Diocesan archive example - Diocese of 's-Hertogenbosch
|
||||
|
|
|
|||
170
schemas/20251121/linkml/modules/classes/Diocese.yaml
Normal file
170
schemas/20251121/linkml/modules/classes/Diocese.yaml
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
# Diocese - Ecclesiastical administrative unit class
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: founding_date_diocese
|
||||
# Creation date: 2026-01-22
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (slot_fixes revision)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Diocese
|
||||
name: Diocese
|
||||
title: Diocese
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
org: http://www.w3.org/ns/org#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/is_or_was_founded_through
|
||||
- ../slots/has_or_had_identifier
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/description
|
||||
- ./FoundingEvent
|
||||
|
||||
classes:
|
||||
Diocese:
|
||||
class_uri: org:Organization
|
||||
description: |
|
||||
Represents an ecclesiastical diocese (bishopric) - an administrative unit
|
||||
of the Catholic, Anglican, or other episcopal churches.
|
||||
|
||||
**USAGE**:
|
||||
Captures structured information about dioceses that heritage custodians
|
||||
(particularly diocesan archives) are part of.
|
||||
|
||||
**WIKIDATA**: Q131896 (diocese)
|
||||
|
||||
**ECCLESIASTICAL HIERARCHY**:
|
||||
```
|
||||
Vatican / Holy See
|
||||
├── Ecclesiastical Province
|
||||
│ └── Archdiocese (metropolitan see)
|
||||
│ └── DIOCESE (suffragan see) ← THIS CLASS
|
||||
│ └── Parish
|
||||
└── Religious Orders
|
||||
```
|
||||
|
||||
**HISTORICAL SIGNIFICANCE**:
|
||||
Many European dioceses were established in medieval times and often
|
||||
predate civil administrative divisions. Their founding dates are
|
||||
significant for understanding ecclesiastical history.
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
Created per slot_fixes.yaml revision (Rule 53, 2026-01-22).
|
||||
Replaces simple `founding_date_diocese` (date) with structured class
|
||||
capturing diocese identity and founding event.
|
||||
|
||||
slots:
|
||||
- is_or_was_founded_through
|
||||
- has_or_had_identifier
|
||||
- has_or_had_label
|
||||
- description
|
||||
|
||||
attributes:
|
||||
diocese_id:
|
||||
identifier: true
|
||||
description: |
|
||||
Unique identifier for this diocese.
|
||||
Recommended: Use Wikidata ID or institutional URI.
|
||||
range: uriorcurie
|
||||
slot_uri: dcterms:identifier
|
||||
examples:
|
||||
- value: "wd:Q1808831"
|
||||
description: Diocese of Utrecht (Wikidata)
|
||||
- value: "hc:diocese/s-hertogenbosch"
|
||||
description: Diocese of 's-Hertogenbosch (internal URI)
|
||||
|
||||
diocese_name:
|
||||
description: |
|
||||
Official name of the diocese.
|
||||
range: string
|
||||
required: true
|
||||
slot_uri: schema:name
|
||||
examples:
|
||||
- value: "Diocese of Utrecht"
|
||||
- value: "Bistum Münster"
|
||||
- value: "Diocese of 's-Hertogenbosch"
|
||||
|
||||
archdiocese_name:
|
||||
description: |
|
||||
Name of the metropolitan archdiocese this diocese belongs to.
|
||||
range: string
|
||||
slot_uri: schema:parentOrganization
|
||||
examples:
|
||||
- value: "Archdiocese of Utrecht"
|
||||
|
||||
ecclesiastical_province:
|
||||
description: |
|
||||
Name of the ecclesiastical province containing this diocese.
|
||||
range: string
|
||||
examples:
|
||||
- value: "Province of Utrecht"
|
||||
|
||||
denomination:
|
||||
description: |
|
||||
Religious denomination (Catholic, Anglican, Orthodox, etc.)
|
||||
range: string
|
||||
slot_uri: schema:additionalType
|
||||
examples:
|
||||
- value: "Roman Catholic"
|
||||
- value: "Church of England"
|
||||
- value: "Eastern Orthodox"
|
||||
|
||||
slot_usage:
|
||||
is_or_was_founded_through:
|
||||
description: |
|
||||
The founding event of this diocese.
|
||||
Many dioceses have medieval founding dates.
|
||||
range: FoundingEvent
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "0695-01-01"
|
||||
end_of_the_begin: "0695-12-31"
|
||||
founding_description: "Diocese of Utrecht established circa 695 by St. Willibrord"
|
||||
description: Medieval diocese founding
|
||||
|
||||
exact_mappings:
|
||||
- wd:Q131896
|
||||
|
||||
close_mappings:
|
||||
- org:Organization
|
||||
- schema:Organization
|
||||
|
||||
examples:
|
||||
- value:
|
||||
diocese_id: "wd:Q1808831"
|
||||
diocese_name: "Diocese of Utrecht"
|
||||
archdiocese_name: "Archdiocese of Utrecht"
|
||||
ecclesiastical_province: "Province of Utrecht"
|
||||
denomination: "Roman Catholic"
|
||||
is_or_was_founded_through:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "0695-01-01"
|
||||
end_of_the_begin: "0695-12-31"
|
||||
founding_description: "Established circa 695 by St. Willibrord"
|
||||
description: Diocese of Utrecht example
|
||||
|
||||
- value:
|
||||
diocese_id: "hc:diocese/s-hertogenbosch"
|
||||
diocese_name: "Diocese of 's-Hertogenbosch"
|
||||
archdiocese_name: "Archdiocese of Utrecht"
|
||||
ecclesiastical_province: "Province of Utrecht"
|
||||
denomination: "Roman Catholic"
|
||||
is_or_was_founded_through:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1559-05-12"
|
||||
end_of_the_begin: "1559-05-12"
|
||||
founding_description: "Established 12 May 1559 during reorganization of Dutch church"
|
||||
description: Diocese of 's-Hertogenbosch example
|
||||
|
||||
annotations:
|
||||
custodian_types: '["H"]'
|
||||
custodian_types_rationale: "Dioceses are ecclesiastical organizations relevant to Holy Sites (H) heritage custodians."
|
||||
specificity_score: "0.75"
|
||||
specificity_rationale: "Fairly specific - primarily relevant for diocesan archives and religious heritage."
|
||||
|
|
@ -20,7 +20,9 @@ imports:
|
|||
- ../slots/legal_jurisdiction
|
||||
- ../slots/external_identifier
|
||||
- ../slots/has_or_had_area_served
|
||||
- ../slots/founding_date
|
||||
# MIGRATED 2026-01-22: founding_date → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
- ../slots/is_or_was_founded_through
|
||||
- ./FoundingEvent
|
||||
- ../slots/funding_focus
|
||||
- ../slots/funding_scheme
|
||||
- ../slots/governance_authority
|
||||
|
|
@ -48,7 +50,7 @@ imports:
|
|||
- ../slots/description
|
||||
- ../slots/dissolution_date
|
||||
- ../slots/external_identifier
|
||||
- ../slots/founding_date
|
||||
# REMOVED: ../slots/founding_date - migrated to is_or_was_founded_through (Rule 53, 2026-01-22)
|
||||
- ../slots/governance_authority
|
||||
- ../slots/has_or_had_area_served
|
||||
- ../slots/has_or_had_member_custodian
|
||||
|
|
@ -67,7 +69,7 @@ imports:
|
|||
- ../slots/description
|
||||
- ../slots/dissolution_date
|
||||
- ../slots/external_identifier
|
||||
- ../slots/founding_date
|
||||
# REMOVED: ../slots/founding_date - migrated to is_or_was_founded_through (Rule 53, 2026-01-22)
|
||||
- ../slots/governance_authority
|
||||
- ../slots/has_or_had_area_served
|
||||
- ../slots/has_or_had_member_custodian
|
||||
|
|
@ -133,7 +135,7 @@ classes:
|
|||
- description
|
||||
- dissolution_date
|
||||
- external_identifier
|
||||
- founding_date
|
||||
- is_or_was_founded_through # was: founding_date - migrated per Rule 53 (2026-01-22)
|
||||
- governance_authority
|
||||
- id
|
||||
- legal_jurisdiction
|
||||
|
|
@ -185,11 +187,20 @@ classes:
|
|||
- value: Government ministry
|
||||
- value: Non-profit foundation
|
||||
- value: Professional association
|
||||
founding_date:
|
||||
range: date
|
||||
# MIGRATED 2026-01-22: founding_date → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
is_or_was_founded_through:
|
||||
description: |
|
||||
The founding event for this encompassing body.
|
||||
Migrated from founding_date per slot_fixes.yaml revision.
|
||||
range: FoundingEvent
|
||||
inlined: true
|
||||
examples:
|
||||
- value: '1965-07-01'
|
||||
description: Ministry established July 1965
|
||||
- value:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1965-07-01"
|
||||
end_of_the_begin: "1965-07-01"
|
||||
founding_description: "Ministry established July 1965"
|
||||
description: Ministry founding event (exact date)
|
||||
dissolution_date:
|
||||
range: date
|
||||
examples:
|
||||
|
|
|
|||
|
|
@ -77,7 +77,11 @@ imports:
|
|||
- ../slots/card_title_en
|
||||
- ../slots/card_url
|
||||
- ../slots/has_or_had_quantity # was: claims_count - migrated per Rule 53 (2026-01-19)
|
||||
- ../slots/colonial
|
||||
# REMOVED 2026-01-22: ../slots/colonial - migrated to includes_or_included + GeoSpatialPlace + is_or_was_categorized_as + ColonialStatus (Rule 53)
|
||||
- ../slots/includes_or_included
|
||||
- ./GeoSpatialPlace
|
||||
- ../slots/is_or_was_categorized_as
|
||||
- ./ColonialStatus
|
||||
- ../slots/content_block
|
||||
- ../slots/crawler_version
|
||||
- ../slots/custodian
|
||||
|
|
@ -91,8 +95,12 @@ imports:
|
|||
- ../slots/finding_aid_note
|
||||
- ../slots/finding_aid_scope_note
|
||||
- ../slots/has_or_had_type
|
||||
- ../slots/format
|
||||
- ../slots/fr
|
||||
# MIGRATED 2026-01-22: format → has_or_had_format + Format (Rule 53)
|
||||
- ../slots/has_or_had_format
|
||||
- ./Format
|
||||
# MIGRATED 2026-01-22: fr → has_or_had_language + Language (Rule 53)
|
||||
- ../slots/has_or_had_language
|
||||
- ./Language
|
||||
- ../slots/full_name
|
||||
- ../slots/geographic_coverage
|
||||
- ../slots/ghcid
|
||||
|
|
@ -270,7 +278,7 @@ classes:
|
|||
- has_or_had_external_resource
|
||||
- finding_aid_note
|
||||
- has_or_had_type
|
||||
- format
|
||||
- has_or_had_format # was: format - migrated per Rule 53 (2026-01-22)
|
||||
- geographic_coverage
|
||||
- id
|
||||
- isbn
|
||||
|
|
@ -398,24 +406,61 @@ classes:
|
|||
- 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).
|
||||
|
||||
'
|
||||
description: |
|
||||
Container for multilingual text values (titles, descriptions).
|
||||
|
||||
**MIGRATED 2026-01-22**: Language-specific slots (de, en, fr, nl) migrated to
|
||||
unified `has_or_had_language` slot with `Language` class per Rule 53.
|
||||
|
||||
**Old Pattern** (deprecated):
|
||||
```yaml
|
||||
nl: "Nederlandse tekst"
|
||||
en: "English text"
|
||||
fr: "Texte français"
|
||||
```
|
||||
|
||||
**New Pattern**:
|
||||
```yaml
|
||||
has_or_had_language:
|
||||
- iso_639_1: "nl"
|
||||
language_name: "Dutch"
|
||||
text_content: "Nederlandse tekst"
|
||||
- iso_639_1: "en"
|
||||
language_name: "English"
|
||||
text_content: "English text"
|
||||
- iso_639_1: "fr"
|
||||
language_name: "French"
|
||||
text_content: "Texte français"
|
||||
```
|
||||
slots:
|
||||
- de
|
||||
- en
|
||||
- fr
|
||||
- nl
|
||||
# MIGRATED 2026-01-22: de, en, fr, nl → has_or_had_language + Language (Rule 53)
|
||||
- has_or_had_language
|
||||
- specificity_annotation
|
||||
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
||||
slot_usage:
|
||||
has_or_had_language:
|
||||
range: Language
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
description: |
|
||||
Language-tagged text content.
|
||||
MIGRATED from de/en/fr/nl slots per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
|
||||
Use Language class with iso_639_1, language_name, and text_content.
|
||||
examples:
|
||||
- value: |
|
||||
- iso_639_1: "nl"
|
||||
language_name: "Dutch"
|
||||
text_content: "Nederlandse tekst"
|
||||
- iso_639_1: "en"
|
||||
language_name: "English"
|
||||
text_content: "English text"
|
||||
description: Multilingual text with Dutch and English versions
|
||||
comments:
|
||||
- At least one language slot should be populated
|
||||
- At least one language entry should be populated
|
||||
- nl is primary for Dutch archives
|
||||
- MIGRATED 2026-01-22 from separate de/en/fr/nl slots to unified has_or_had_language
|
||||
CustodianReference:
|
||||
class_uri: rico:Agent
|
||||
description: 'Reference to the heritage custodian that created/maintains this finding aid.
|
||||
|
|
@ -558,7 +603,9 @@ classes:
|
|||
|
||||
'
|
||||
slots:
|
||||
- colonial
|
||||
# MIGRATED 2026-01-22: colonial → includes_or_included + GeoSpatialPlace + is_or_was_categorized_as + ColonialStatus (Rule 53)
|
||||
- includes_or_included
|
||||
- is_or_was_categorized_as
|
||||
- historical_region
|
||||
- inbound_from
|
||||
- international
|
||||
|
|
@ -579,8 +626,41 @@ classes:
|
|||
multivalued: true
|
||||
historical_region:
|
||||
multivalued: true
|
||||
colonial:
|
||||
# MIGRATED 2026-01-22: colonial → includes_or_included + is_or_was_categorized_as (Rule 53)
|
||||
includes_or_included:
|
||||
description: |
|
||||
MIGRATED from colonial per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Geographic territories included in this coverage area.
|
||||
Use GeoSpatialPlace for structured geographic data.
|
||||
range: GeoSpatialPlace
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
examples:
|
||||
- value:
|
||||
geospatial_id: https://nde.nl/ontology/hc/geo/dutch-east-indies
|
||||
latitude: -6.2
|
||||
longitude: 106.8
|
||||
geometry_type: POLYGON
|
||||
description: Dutch East Indies territory
|
||||
is_or_was_categorized_as:
|
||||
description: |
|
||||
MIGRATED from colonial per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Colonial status categorization for this geographic coverage.
|
||||
Use ColonialStatus for structured colonial relationship data.
|
||||
range: ColonialStatus
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
examples:
|
||||
- value:
|
||||
territory_name: "Dutch East Indies"
|
||||
colonizing_power: "Netherlands"
|
||||
modern_equivalent: ["ID"]
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1602-01-01"
|
||||
end_of_the_end: "1949-12-27"
|
||||
description: Dutch colonial Indonesia
|
||||
international:
|
||||
multivalued: true
|
||||
major_city:
|
||||
|
|
|
|||
150
schemas/20251121/linkml/modules/classes/Format.yaml
Normal file
150
schemas/20251121/linkml/modules/classes/Format.yaml
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
# Format - Document/resource format class
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: format
|
||||
# Creation date: 2026-01-22
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (slot_fixes revision)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Format
|
||||
name: Format
|
||||
title: Format
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
premis: http://www.loc.gov/premis/rdf/v3/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/description
|
||||
- ../slots/has_or_had_identifier
|
||||
- ../slots/has_or_had_label
|
||||
|
||||
classes:
|
||||
Format:
|
||||
class_uri: dct:MediaType
|
||||
description: |
|
||||
A structured representation of a document, file, or resource format.
|
||||
|
||||
**USAGE**:
|
||||
Represents format specifications for:
|
||||
- Finding aids (EAD, PDF, HTML, MARC)
|
||||
- API responses (JSON, XML, RDF)
|
||||
- Media files (JPEG, MP3, MP4)
|
||||
- Transcripts and subtitles (VTT, SRT, TXT)
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- **Primary** (`class_uri`): `dct:MediaType` - Dublin Core media type
|
||||
- **Related**: `schema:encodingFormat` - Schema.org encoding
|
||||
- **Related**: `premis:Format` - PREMIS preservation format
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
Created per slot_fixes.yaml revision (Rule 53, 2026-01-22).
|
||||
Replaces simple string-valued `format` slot with structured class.
|
||||
|
||||
slots:
|
||||
- has_or_had_identifier
|
||||
- has_or_had_label
|
||||
- description
|
||||
|
||||
attributes:
|
||||
format_id:
|
||||
identifier: true
|
||||
description: |
|
||||
Unique identifier for this format specification.
|
||||
Recommended: Use IANA media type URI or CURIE.
|
||||
range: uriorcurie
|
||||
slot_uri: dct:identifier
|
||||
examples:
|
||||
- value: "iana:application/xml"
|
||||
description: XML MIME type as CURIE
|
||||
- value: "https://www.iana.org/assignments/media-types/text/vtt"
|
||||
description: WebVTT format as full URI
|
||||
|
||||
format_name:
|
||||
description: |
|
||||
Human-readable name of the format.
|
||||
range: string
|
||||
slot_uri: schema:name
|
||||
examples:
|
||||
- value: "Encoded Archival Description (EAD)"
|
||||
- value: "WebVTT Subtitle Format"
|
||||
- value: "JSON (JavaScript Object Notation)"
|
||||
|
||||
mime_type:
|
||||
description: |
|
||||
IANA media type (MIME type) for this format.
|
||||
range: string
|
||||
slot_uri: dct:format
|
||||
pattern: "^[a-z]+/[a-z0-9.+-]+$"
|
||||
examples:
|
||||
- value: "application/xml"
|
||||
- value: "text/vtt"
|
||||
- value: "application/json"
|
||||
|
||||
file_extension:
|
||||
description: |
|
||||
Common file extension(s) for this format.
|
||||
range: string
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: ".xml"
|
||||
- value: ".ead"
|
||||
- value: ".vtt"
|
||||
- value: ".json"
|
||||
|
||||
format_specification_url:
|
||||
description: |
|
||||
URL to the format's official specification or documentation.
|
||||
range: uri
|
||||
slot_uri: schema:url
|
||||
examples:
|
||||
- value: "https://www.loc.gov/ead/"
|
||||
description: EAD specification
|
||||
- value: "https://www.w3.org/TR/webvtt1/"
|
||||
description: WebVTT W3C specification
|
||||
|
||||
exact_mappings:
|
||||
- dct:MediaType
|
||||
|
||||
close_mappings:
|
||||
- schema:encodingFormat
|
||||
- premis:Format
|
||||
|
||||
examples:
|
||||
- value:
|
||||
format_id: "iana:application/xml+ead"
|
||||
format_name: "Encoded Archival Description (EAD)"
|
||||
mime_type: "application/xml"
|
||||
file_extension:
|
||||
- ".xml"
|
||||
- ".ead"
|
||||
format_specification_url: "https://www.loc.gov/ead/"
|
||||
description: EAD finding aid format
|
||||
|
||||
- value:
|
||||
format_id: "iana:text/vtt"
|
||||
format_name: "WebVTT (Web Video Text Tracks)"
|
||||
mime_type: "text/vtt"
|
||||
file_extension:
|
||||
- ".vtt"
|
||||
format_specification_url: "https://www.w3.org/TR/webvtt1/"
|
||||
description: WebVTT subtitle/caption format
|
||||
|
||||
- value:
|
||||
format_id: "iana:application/pdf"
|
||||
format_name: "Portable Document Format (PDF)"
|
||||
mime_type: "application/pdf"
|
||||
file_extension:
|
||||
- ".pdf"
|
||||
format_specification_url: "https://www.iso.org/standard/75839.html"
|
||||
description: PDF document format
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Format specifications applicable to all custodian types."
|
||||
specificity_score: "0.25"
|
||||
specificity_rationale: "Broadly applicable - formats used across all heritage custodian types."
|
||||
157
schemas/20251121/linkml/modules/classes/FoundingEvent.yaml
Normal file
157
schemas/20251121/linkml/modules/classes/FoundingEvent.yaml
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
# FoundingEvent - Organization founding event class
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: founded_year, founding_date
|
||||
# Creation date: 2026-01-22
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (slot_fixes revision)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/FoundingEvent
|
||||
name: FoundingEvent
|
||||
title: Founding Event
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/description
|
||||
- ../slots/has_or_had_identifier
|
||||
- ./TimeSpan
|
||||
|
||||
classes:
|
||||
FoundingEvent:
|
||||
class_uri: crm:E63_Beginning_of_Existence
|
||||
description: |
|
||||
Represents the founding or establishment event of an organization.
|
||||
|
||||
**USAGE**:
|
||||
Captures structured founding information for:
|
||||
- Heritage custodians (museums, archives, libraries)
|
||||
- Standards organizations
|
||||
- Historic restaurants and venues
|
||||
- Any organization with establishment history
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- **Primary** (`class_uri`): `crm:E63_Beginning_of_Existence` - CIDOC-CRM
|
||||
- **Close**: `schema:Event` - Schema.org event
|
||||
- **Close**: `prov:Activity` - PROV-O activity
|
||||
|
||||
**TEMPORAL PATTERN**:
|
||||
Uses CIDOC-CRM E52_Time-Span pattern for fuzzy temporal bounds:
|
||||
- Known year: `begin_of_the_begin` = "YYYY-01-01", `end_of_the_begin` = "YYYY-12-31"
|
||||
- Known exact date: all four bounds equal
|
||||
- Unknown year range: set `begin_of_the_begin` to earliest, `end_of_the_begin` to latest
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
Created per slot_fixes.yaml revision (Rule 53, 2026-01-22).
|
||||
Replaces simple `founded_year` (integer) and `founding_date` (string).
|
||||
|
||||
slots:
|
||||
- temporal_extent
|
||||
- description
|
||||
- has_or_had_identifier
|
||||
|
||||
attributes:
|
||||
founding_event_id:
|
||||
identifier: true
|
||||
description: |
|
||||
Unique identifier for this founding event.
|
||||
Recommended format: URI combining organization ID and "founding".
|
||||
range: uriorcurie
|
||||
slot_uri: dcterms:identifier
|
||||
examples:
|
||||
- value: "https://nde.nl/ontology/hc/event/founding/rijksmuseum-1800"
|
||||
- value: "hc:event/founding/de-kas-1902"
|
||||
|
||||
founding_description:
|
||||
description: |
|
||||
Textual description of the founding event and circumstances.
|
||||
range: string
|
||||
slot_uri: schema:description
|
||||
examples:
|
||||
- value: "Founded by King Louis Napoleon as the Royal Museum"
|
||||
- value: "Established as family restaurant in historic greenhouse"
|
||||
|
||||
founding_location:
|
||||
description: |
|
||||
Location where the founding took place (if different from current location).
|
||||
range: string
|
||||
slot_uri: schema:location
|
||||
examples:
|
||||
- value: "The Hague, Netherlands"
|
||||
- value: "Original premises at 123 Main Street"
|
||||
|
||||
founded_by:
|
||||
description: |
|
||||
Person(s) or organization(s) who founded this entity.
|
||||
range: string
|
||||
multivalued: true
|
||||
slot_uri: schema:founder
|
||||
examples:
|
||||
- value: "King Louis Napoleon"
|
||||
- value: "Johannes van der Berg"
|
||||
|
||||
slot_usage:
|
||||
temporal_extent:
|
||||
description: |
|
||||
The temporal extent of the founding event.
|
||||
For a known year (e.g., 1902), use:
|
||||
- begin_of_the_begin: "1902-01-01"
|
||||
- end_of_the_begin: "1902-12-31"
|
||||
|
||||
For a precise date (e.g., 1902-03-15), set all bounds equal.
|
||||
For uncertain date ranges, use appropriate fuzzy bounds.
|
||||
range: TimeSpan
|
||||
inlined: true
|
||||
required: true
|
||||
|
||||
exact_mappings:
|
||||
- crm:E63_Beginning_of_Existence
|
||||
|
||||
close_mappings:
|
||||
- schema:Event
|
||||
- prov:Activity
|
||||
|
||||
examples:
|
||||
- value:
|
||||
founding_event_id: "https://nde.nl/ontology/hc/event/founding/rijksmuseum-1800"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1800-01-01"
|
||||
end_of_the_begin: "1800-12-31"
|
||||
notes: "Founded in 1800 by King Louis Napoleon"
|
||||
founding_description: "Founded as the Royal Museum by King Louis Napoleon"
|
||||
founded_by:
|
||||
- "King Louis Napoleon"
|
||||
founding_location: "The Hague, Netherlands"
|
||||
description: Rijksmuseum founding event
|
||||
|
||||
- value:
|
||||
founding_event_id: "https://nde.nl/ontology/hc/event/founding/de-kas-1902"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1902-01-01"
|
||||
end_of_the_begin: "1902-12-31"
|
||||
founding_description: "Established as historic greenhouse restaurant"
|
||||
founded_by:
|
||||
- "Original family owners"
|
||||
description: Historic restaurant founding
|
||||
|
||||
- value:
|
||||
founding_event_id: "https://nde.nl/ontology/hc/event/founding/unknown-archive-1850s"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1850-01-01"
|
||||
end_of_the_begin: "1859-12-31"
|
||||
notes: "Founded sometime in the 1850s"
|
||||
founding_description: "Founded during the 1850s, exact date unknown"
|
||||
description: Founding with decade-level uncertainty
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Founding events applicable to all custodian types."
|
||||
specificity_score: "0.30"
|
||||
specificity_rationale: "Broadly applicable - founding events for all heritage organizations."
|
||||
|
|
@ -6,8 +6,16 @@ imports:
|
|||
- ./CustodianType
|
||||
- ../enums/GalleryTypeEnum
|
||||
- ../slots/has_or_had_artist_representation
|
||||
- ../slots/commercial_operation
|
||||
- ../slots/commission_rate
|
||||
# REMOVED 2026-01-22: ../slots/commercial_operation - migrated to has_or_had_objective + Profit (Rule 53)
|
||||
- ../slots/has_or_had_objective
|
||||
- ./Profit
|
||||
# REMOVED 2026-01-22: ../slots/commission_rate - migrated to has_or_had_service + ArtSaleService + takes_or_took_comission + CommissionRate (Rule 53)
|
||||
- ../slots/has_or_had_service
|
||||
- ./ArtSaleService
|
||||
- ../slots/takes_or_took_comission
|
||||
- ./CommissionRate
|
||||
- ../slots/has_or_had_percentage
|
||||
- ./Percentage
|
||||
- ../slots/has_or_had_custodian_type
|
||||
- ../slots/exhibition_focus
|
||||
- ../slots/exhibition_model
|
||||
|
|
@ -123,14 +131,13 @@ classes:
|
|||
\ Example**:\n```turtle\n:Custodian_KunsthalRotterdam\n org:classification :GalleryType_Kunsthalle_Q1475403 .\n\n\
|
||||
:GalleryType_Kunsthalle_Q1475403\n a glamtype:GalleryType, crm:E55_Type, skos:Concept ;\n skos:prefLabel \"Kunsthalle\"\
|
||||
@en, \"kunsthalle\"@nl, \"Kunsthalle\"@de ;\n skos:broader :GalleryType_ArtGallery_Q1007870 ;\n schema:additionalType\
|
||||
\ <http://www.wikidata.org/entity/Q1475403> ;\n glamtype:glamorcubesfixphdnt_code \"GALLERY\" ;\n glamtype:commercial_operation\
|
||||
\ <http://www.wikidata.org/entity/Q1475403> ;\n glamtype:glamorcubesfixphdnt_code \"GALLERY\" ;\n glamtype:has_or_had_objective\
|
||||
\ false ;\n glamtype:exhibition_focus \"contemporary art\" ;\n glamtype:sales_activity false ;\n glamtype:exhibition_model\
|
||||
\ \"temporary rotating exhibitions\" .\n```\n\n**Domain-Specific Properties**:\nThis class adds gallery-specific metadata\
|
||||
\ beyond base CustodianType:\n- `commercial_operation` - Whether gallery operates commercially (sells art)\n- `artist_representation`\
|
||||
\ beyond base CustodianType:\n- `has_or_had_objective` - Structured profit objective (commercial/nonprofit/mixed)\n- `artist_representation`\
|
||||
\ - Artists represented by gallery (for commercial galleries)\n- `exhibition_focus` - Type of art exhibited (contemporary,\
|
||||
\ modern, photography, etc.)\n- `sales_activity` - Whether gallery sells artworks (not just exhibits)\n- `exhibition_model`\
|
||||
\ - Exhibition strategy (temporary, rotating, curated shows)\n- `commission_rate` - Gallery commission percentage (for\
|
||||
\ commercial galleries)\n\n**Getty AAT Integration**:\nThe Getty Art & Architecture Thesaurus provides standardized\
|
||||
\ - Exhibition strategy (temporary, rotating, curated shows)\n- `has_or_had_service` - Art sales service with commission structure (ArtSaleService)\n\n**Getty AAT Integration**:\nThe Getty Art & Architecture Thesaurus provides standardized\
|
||||
\ vocabulary:\n- aat:300005768 - art galleries (institutions)\n- aat:300240057 - commercial galleries\n- aat:300240058\
|
||||
\ - nonprofit galleries\n- aat:300005741 - kunsthalles\n\n**Art Market Context**:\nCommercial galleries operate in the\
|
||||
\ art market ecosystem:\n- **Primary market**: Representing living artists, first sales\n- **Secondary market**: Resale\
|
||||
|
|
@ -139,8 +146,10 @@ classes:
|
|||
\ extracted from 78 Wikidata entities with type='G'\nin `data/wikidata/GLAMORCUBEPSXHFN/hyponyms_curated_full.yaml`.\n"
|
||||
slots:
|
||||
- has_or_had_artist_representation
|
||||
- commercial_operation
|
||||
- commission_rate
|
||||
# REMOVED 2026-01-22: commercial_operation - migrated to has_or_had_objective + Profit (Rule 53)
|
||||
- has_or_had_objective
|
||||
# REMOVED 2026-01-22: commission_rate - migrated to has_or_had_service + ArtSaleService (Rule 53)
|
||||
- has_or_had_service
|
||||
- has_or_had_custodian_type
|
||||
- exhibition_focus
|
||||
- exhibition_model
|
||||
|
|
@ -185,7 +194,11 @@ classes:
|
|||
- Kunsthalle@de
|
||||
has_or_had_description: facility that mounts temporary art exhibitions without permanent collection # was: type_description - migrated per Rule 53/56 (2026-01-16)
|
||||
custodian_type_broader: https://nde.nl/ontology/hc/type/gallery/Q1007870
|
||||
commercial_operation: false
|
||||
# MIGRATED 2026-01-22: commercial_operation → has_or_had_objective + Profit (Rule 53)
|
||||
has_or_had_objective:
|
||||
objective_type: "nonprofit"
|
||||
is_commercial: false
|
||||
profit_model: "Public funding and grants"
|
||||
exhibition_focus: contemporary art
|
||||
sales_activity: false
|
||||
exhibition_model: temporary rotating exhibitions, no permanent collection
|
||||
|
|
@ -199,7 +212,11 @@ classes:
|
|||
- kunstgalerie@nl
|
||||
has_or_had_description: for-profit gallery that sells artworks and represents artists # was: type_description - migrated per Rule 53/56 (2026-01-16)
|
||||
custodian_type_broader: https://nde.nl/ontology/hc/type/gallery/Q1007870
|
||||
commercial_operation: true
|
||||
# MIGRATED 2026-01-22: commercial_operation → has_or_had_objective + Profit (Rule 53)
|
||||
has_or_had_objective:
|
||||
objective_type: "for-profit"
|
||||
is_commercial: true
|
||||
profit_model: "Sales commission (50%)"
|
||||
has_or_had_artist_representation:
|
||||
- Artist A
|
||||
- Artist B
|
||||
|
|
@ -207,5 +224,15 @@ classes:
|
|||
exhibition_focus: contemporary painting and sculpture
|
||||
sales_activity: true
|
||||
exhibition_model: curated exhibitions of represented artists
|
||||
commission_rate: 50%
|
||||
# MIGRATED 2026-01-22: commission_rate → has_or_had_service + ArtSaleService (Rule 53)
|
||||
has_or_had_service:
|
||||
service_name: "Primary Market Sales"
|
||||
market_type: "primary"
|
||||
artist_representation: true
|
||||
sales_activity: true
|
||||
takes_or_took_comission:
|
||||
rate_type: "primary_market"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
description: Commercial gallery with artist representation and sales
|
||||
|
|
|
|||
|
|
@ -16,7 +16,11 @@ imports:
|
|||
- ./CustodianType
|
||||
- ../slots/has_or_had_access_policy
|
||||
- ../enums/HolySiteTypeEnum
|
||||
- ../slots/collection_type
|
||||
# REMOVED 2026-01-22: ../slots/collection_type - migrated to has_or_had_content + CollectionContent (Rule 53)
|
||||
- ../slots/has_or_had_content
|
||||
- ./CollectionContent
|
||||
- ./CollectionContentType
|
||||
- ./CollectionContentTypes
|
||||
- ../slots/has_or_had_custodian_type
|
||||
- ../slots/holy_site_subtype
|
||||
- ../slots/religious_function
|
||||
|
|
@ -280,8 +284,8 @@ classes:
|
|||
\ hc:TempleCollection ;\n schema:url <https://nde.nl/ontology/hc/class/holy-sacred-site-type> .\n\n# Example:\
|
||||
\ Vatican Apostolic Archive (papal archive)\n<https://w3id.org/heritage/custodian/va/vatican-apostolic-archive>\n a\
|
||||
\ schema:PlaceOfWorship, schema:ArchiveOrganization, crm:E39_Actor, hc:HolySacredSite ;\n hc:custodian_type hc:HolySacredSiteType\
|
||||
\ ;\n hc:religious_tradition \"Roman Catholic Christianity\" ;\n hc:collection_type \"Archival records\", \"Papal\
|
||||
\ documents\", \"Medieval manuscripts\", \"Correspondence\" ;\n hc:religious_function \"Support papal governance\"\
|
||||
\ ;\n hc:religious_tradition \"Roman Catholic Christianity\" ;\n hc:has_or_had_content [ hc:content_description \"Archival records, Papal\
|
||||
\ documents, Medieval manuscripts, Correspondence\" ] ;\n hc:religious_function \"Support papal governance\"\
|
||||
, \"Document Church history\", \"Preserve canon law\" ;\n hc:access_policy \"Restricted access by appointment\", \"\
|
||||
Scholars and researchers only\", \"No browsing\" ;\n hc:is_or_was_managed_by \"Prefect of Vatican Apostolic Archive\"\
|
||||
, \"Papal administrative authority\" ;\n hc:secularization_status \"Active religious institution, No secularization\"\
|
||||
|
|
@ -303,7 +307,8 @@ classes:
|
|||
- schema:ArchiveOrganization
|
||||
slots:
|
||||
- has_or_had_access_policy
|
||||
- collection_type
|
||||
# REMOVED 2026-01-22: collection_type - migrated to has_or_had_content + CollectionContent (Rule 53)
|
||||
- has_or_had_content
|
||||
- has_or_had_custodian_type
|
||||
- holy_site_subtype
|
||||
- religious_function
|
||||
|
|
@ -323,16 +328,34 @@ classes:
|
|||
description: Sunni mosque
|
||||
- value: Theravada Buddhism
|
||||
description: Buddhist temple
|
||||
collection_type:
|
||||
range: string
|
||||
has_or_had_content: # was: collection_type - migrated per Rule 53 (2026-01-22)
|
||||
description: |
|
||||
MIGRATED from collection_type per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Types of heritage materials held by the religious site.
|
||||
Uses CollectionContent class with CollectionContentType taxonomy.
|
||||
range: CollectionContent
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: true
|
||||
examples:
|
||||
- value: Archives, Manuscripts, Papal documents
|
||||
- value:
|
||||
content_description: "Archives, Manuscripts, Papal documents"
|
||||
has_or_had_type:
|
||||
- type_label: Archival
|
||||
- type_label: Library
|
||||
description: Vatican collection types
|
||||
- value: Torah scrolls, Archives, Ceremonial silver
|
||||
- value:
|
||||
content_description: "Torah scrolls, Archives, Ceremonial silver"
|
||||
has_or_had_type:
|
||||
- type_label: Archival
|
||||
- type_label: Liturgical
|
||||
description: Synagogue collection types
|
||||
- value: Sutras, Temple registers, Buddha statues
|
||||
- value:
|
||||
content_description: "Sutras, Temple registers, Buddha statues"
|
||||
has_or_had_type:
|
||||
- type_label: Library
|
||||
- type_label: Art
|
||||
description: Temple collection types
|
||||
religious_function:
|
||||
range: string
|
||||
|
|
|
|||
|
|
@ -1,17 +1,42 @@
|
|||
# Language - Language class
|
||||
# Extended 2026-01-22: Added text_content attribute for language-tagged text support
|
||||
# Supports migration of language-specific text slots (fr, de, en, nl) per slot_fixes.yaml
|
||||
id: https://nde.nl/ontology/hc/class/Language
|
||||
name: Language
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dct: http://purl.org/dc/terms/
|
||||
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_code
|
||||
classes:
|
||||
Language:
|
||||
class_uri: dct:LinguisticSystem
|
||||
description: A language with ISO codes
|
||||
description: |
|
||||
A language with ISO codes and optional text content.
|
||||
|
||||
**Purpose**:
|
||||
Represents a language entity that can identify the language of text content.
|
||||
Used for language-tagged text where the language code and content are bundled together.
|
||||
|
||||
**Use Cases**:
|
||||
1. Language identification only (just codes, no content)
|
||||
2. Language-tagged text (codes + text_content for multilingual data)
|
||||
|
||||
**Migration Support**:
|
||||
This class supports migration from language-specific text slots (fr, de, en, nl)
|
||||
to a unified `has_or_had_language` + `Language` pattern per slot_fixes.yaml.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `dct:LinguisticSystem` - Dublin Core linguistic system
|
||||
- **Close**: `schema:Language` - Schema.org language
|
||||
|
||||
exact_mappings:
|
||||
- dct:LinguisticSystem
|
||||
close_mappings:
|
||||
- schema:Language
|
||||
slots:
|
||||
- has_or_had_code
|
||||
attributes:
|
||||
|
|
@ -22,7 +47,43 @@ classes:
|
|||
Parsed from raw string, not authoritative. Use ISO codes for formal identification.
|
||||
iso_639_1:
|
||||
range: string
|
||||
description: ISO 639-1 two-letter code
|
||||
description: ISO 639-1 two-letter code (e.g., "fr", "en", "de", "nl")
|
||||
pattern: "^[a-z]{2}$"
|
||||
iso_639_3:
|
||||
range: string
|
||||
description: ISO 639-3 three-letter code
|
||||
description: ISO 639-3 three-letter code (e.g., "fra", "eng", "deu", "nld")
|
||||
pattern: "^[a-z]{3}$"
|
||||
text_content:
|
||||
range: string
|
||||
description: |
|
||||
Text content in this language.
|
||||
|
||||
Used when bundling language identification with the actual text content.
|
||||
This enables migration from language-specific slots (fr, de, en, nl) to
|
||||
a unified Language-tagged pattern.
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_language:
|
||||
- iso_639_1: "fr"
|
||||
language_name: "French"
|
||||
text_content: "archives universitaires"
|
||||
- iso_639_1: "en"
|
||||
language_name: "English"
|
||||
text_content: "university archives"
|
||||
```
|
||||
examples:
|
||||
- value: |
|
||||
iso_639_1: "fr"
|
||||
language_name: "French"
|
||||
text_content: "archives universitaires"
|
||||
description: French language-tagged text for multilingual label
|
||||
- value: |
|
||||
iso_639_1: "en"
|
||||
language_name: "English"
|
||||
description: English language identifier (without text content)
|
||||
- value: |
|
||||
iso_639_1: "nl"
|
||||
language_name: "Dutch"
|
||||
text_content: "universitair archief"
|
||||
description: Dutch language-tagged text
|
||||
|
|
|
|||
153
schemas/20251121/linkml/modules/classes/Name.yaml
Normal file
153
schemas/20251121/linkml/modules/classes/Name.yaml
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
# Name class
|
||||
# Created per slot_fixes.yaml revision for: common_name
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of common_name migration per Rule 53.
|
||||
# Provides structured representation of names with type classification.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Name
|
||||
name: name_class
|
||||
title: Name Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
dwc: http://rs.tdwg.org/dwc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_type
|
||||
- ../slots/has_or_had_language
|
||||
- ../slots/has_or_had_label
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
Name:
|
||||
class_uri: schema:name
|
||||
description: |
|
||||
Structured representation of a name associated with an entity.
|
||||
|
||||
**MIGRATION NOTE** (2026-01-22):
|
||||
Created per slot_fixes.yaml migration from `common_name` string
|
||||
to structured Name class per Rule 53.
|
||||
|
||||
**Purpose**:
|
||||
Provides structured representation for names including:
|
||||
- The name value itself (via has_or_had_label)
|
||||
- Name type classification (e.g., common name, scientific name, trade name)
|
||||
- Language information
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`class_uri`): `schema:name` - Schema.org name
|
||||
- **Close**: `skos:prefLabel`, `rdfs:label` - Label predicates
|
||||
- **Related**: `dwc:vernacularName` - Darwin Core vernacular name
|
||||
|
||||
**Use Cases**:
|
||||
- Biological specimens with common/vernacular names in multiple languages
|
||||
- Organizations with official names and trading names
|
||||
- Places with indigenous and colonial names
|
||||
- Products with brand names and generic names
|
||||
|
||||
**Pattern**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Dodo"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
- has_or_had_label: "Dronte"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "nl"
|
||||
```
|
||||
|
||||
slots:
|
||||
- has_or_had_label
|
||||
- has_or_had_type
|
||||
- has_or_had_language
|
||||
|
||||
slot_usage:
|
||||
has_or_had_label:
|
||||
description: The name value itself.
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "Dodo"
|
||||
description: English common name
|
||||
- value: "Dronte"
|
||||
description: Dutch common name
|
||||
has_or_had_type:
|
||||
description: |
|
||||
The type classification of this name.
|
||||
Range narrowed to NameType class hierarchy.
|
||||
range: NameType
|
||||
required: false
|
||||
examples:
|
||||
- value: CommonName
|
||||
description: Vernacular/common name
|
||||
- value: ScientificName
|
||||
description: Binomial nomenclature
|
||||
has_or_had_language:
|
||||
description: |
|
||||
The language of this name (ISO 639-1 code).
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "en"
|
||||
description: English
|
||||
- value: "nl"
|
||||
description: Dutch
|
||||
- value: "la"
|
||||
description: Latin (for scientific names)
|
||||
|
||||
exact_mappings:
|
||||
- schema:name
|
||||
close_mappings:
|
||||
- skos:prefLabel
|
||||
- rdfs:label
|
||||
related_mappings:
|
||||
- dwc:vernacularName
|
||||
- schema:alternateName
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Name structures applicable to all heritage custodian types.
|
||||
custodian_types_primary: M
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: >-
|
||||
Broadly applicable - names are fundamental to all heritage entities
|
||||
including biological specimens, organizations, places, and objects.
|
||||
template_specificity:
|
||||
collection_discovery: 0.30
|
||||
person_research: 0.35
|
||||
general_heritage: 0.25
|
||||
migration_info:
|
||||
source_slot: common_name
|
||||
migration_date: "2026-01-22"
|
||||
rule: "Rule 53"
|
||||
|
||||
comments:
|
||||
- "Structured name representation with type and language"
|
||||
- "Replaces simple string-valued common_name slot"
|
||||
- "Supports multilingual names through has_or_had_language"
|
||||
- "Type classification via NameType hierarchy"
|
||||
- "Created 2026-01-22 from common_name migration (Rule 53)"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_label: "Dodo"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
description: English common name for extinct bird
|
||||
- value:
|
||||
has_or_had_label: "Dronte"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "nl"
|
||||
description: Dutch common name for same species
|
||||
- value:
|
||||
has_or_had_label: "Coast Redwood"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
description: English common name for tree species
|
||||
100
schemas/20251121/linkml/modules/classes/NameType.yaml
Normal file
100
schemas/20251121/linkml/modules/classes/NameType.yaml
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
# NameType class (abstract base)
|
||||
# Created per slot_fixes.yaml revision for: common_name
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of common_name migration per Rule 53.
|
||||
# Abstract base class for name type taxonomy following Rule 0b (Type/Types pattern).
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/NameType
|
||||
name: name_type_class
|
||||
title: Name Type Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
dwc: http://rs.tdwg.org/dwc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_description
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
NameType:
|
||||
class_uri: crm:E55_Type
|
||||
abstract: true
|
||||
description: |
|
||||
Abstract base class for name type classifications.
|
||||
|
||||
**DESIGN PATTERN** (Rule 0b - Type/Types Convention):
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `NameType.yaml` (this file) | Abstract base class |
|
||||
| `NameTypes.yaml` | Concrete subclasses (CommonName, ScientificName, etc.) |
|
||||
|
||||
**Purpose**:
|
||||
Provides type taxonomy for categorizing different kinds of names:
|
||||
- Common/vernacular names (species, products)
|
||||
- Scientific names (binomial nomenclature)
|
||||
- Official names (organizations, places)
|
||||
- Trade/brand names
|
||||
- Historical/former names
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`class_uri`): `crm:E55_Type` - CIDOC-CRM type
|
||||
- **Close**: `skos:Concept` - SKOS concept vocabulary
|
||||
|
||||
**Usage**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Dodo"
|
||||
has_or_had_type: CommonName # ← NameType subclass
|
||||
has_or_had_language: "en"
|
||||
```
|
||||
|
||||
slots:
|
||||
- has_or_had_label
|
||||
- has_or_had_description
|
||||
|
||||
slot_usage:
|
||||
has_or_had_label:
|
||||
description: Human-readable label for this name type.
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "Common Name"
|
||||
- value: "Scientific Name"
|
||||
has_or_had_description:
|
||||
description: Explanation of when to use this name type.
|
||||
range: string
|
||||
required: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:E55_Type
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Name types applicable across all heritage domains.
|
||||
custodian_types_primary: M
|
||||
specificity_score: 0.30
|
||||
specificity_rationale: >-
|
||||
Moderately specific - name type vocabularies are fundamental but have
|
||||
domain-specific variations (biology vs. organizational naming).
|
||||
design_pattern: "Type/Types (Rule 0b)"
|
||||
migration_info:
|
||||
source_slot: common_name
|
||||
migration_date: "2026-01-22"
|
||||
rule: "Rule 53"
|
||||
|
||||
comments:
|
||||
- "Abstract base class - see NameTypes.yaml for concrete subclasses"
|
||||
- "Follows Rule 0b Type/Types naming pattern"
|
||||
- "Used with Name class to classify name types"
|
||||
- "Created 2026-01-22 from common_name migration (Rule 53)"
|
||||
226
schemas/20251121/linkml/modules/classes/NameTypes.yaml
Normal file
226
schemas/20251121/linkml/modules/classes/NameTypes.yaml
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
# NameTypes class (concrete subclasses)
|
||||
# Created per slot_fixes.yaml revision for: common_name
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of common_name migration per Rule 53.
|
||||
# Contains concrete name type subclasses per Rule 0b (Type/Types pattern).
|
||||
# NOTE: revision specifies "this includes CommonName"
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/NameTypes
|
||||
name: name_types_class
|
||||
title: Name Types Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
dwc: http://rs.tdwg.org/dwc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ./NameType # Import abstract base class
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
# === Primary Name Types ===
|
||||
|
||||
CommonName:
|
||||
is_a: NameType
|
||||
class_uri: dwc:vernacularName
|
||||
description: |
|
||||
Vernacular or common name in any language.
|
||||
|
||||
**Darwin Core Alignment**:
|
||||
Maps to `dwc:vernacularName` - "A common or vernacular name."
|
||||
|
||||
**Use Cases**:
|
||||
- Species common names ("Dodo", "Dronte", "Coast Redwood")
|
||||
- Product common names
|
||||
- Informal organization names
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Dodo"
|
||||
has_or_had_type: CommonName
|
||||
has_or_had_language: "en"
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- dwc:vernacularName
|
||||
annotations:
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Common names used across biological and cultural heritage.
|
||||
|
||||
ScientificName:
|
||||
is_a: NameType
|
||||
class_uri: dwc:scientificName
|
||||
description: |
|
||||
Scientific name following nomenclatural codes (ICZN, ICN, ICNP).
|
||||
|
||||
**Darwin Core Alignment**:
|
||||
Maps to `dwc:scientificName` - "The full scientific name, with authorship
|
||||
and date information if known."
|
||||
|
||||
**Use Cases**:
|
||||
- Binomial nomenclature for species
|
||||
- Taxonomic names at any rank
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Raphus cucullatus (Linnaeus, 1758)"
|
||||
has_or_had_type: ScientificName
|
||||
has_or_had_language: "la"
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- dwc:scientificName
|
||||
annotations:
|
||||
specificity_score: 0.70
|
||||
specificity_rationale: Scientific names specific to biological/taxonomic contexts.
|
||||
|
||||
OfficialName:
|
||||
is_a: NameType
|
||||
class_uri: skos:prefLabel
|
||||
description: |
|
||||
Official, formal, or legal name of an entity.
|
||||
|
||||
**Use Cases**:
|
||||
- Organization legal names
|
||||
- Official place names
|
||||
- Formal document titles
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Rijksmuseum Amsterdam"
|
||||
has_or_had_type: OfficialName
|
||||
has_or_had_language: "nl"
|
||||
```
|
||||
|
||||
close_mappings:
|
||||
- skos:prefLabel
|
||||
- schema:legalName
|
||||
annotations:
|
||||
specificity_score: 0.40
|
||||
specificity_rationale: Official names apply to organizations, places, and formal entities.
|
||||
|
||||
TradeName:
|
||||
is_a: NameType
|
||||
class_uri: schema:alternateName
|
||||
description: |
|
||||
Commercial, trade, or brand name.
|
||||
|
||||
**Use Cases**:
|
||||
- Company trading names (DBA)
|
||||
- Product brand names
|
||||
- Service marks
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "The Rijks"
|
||||
has_or_had_type: TradeName
|
||||
has_or_had_language: "en"
|
||||
```
|
||||
|
||||
close_mappings:
|
||||
- schema:alternateName
|
||||
annotations:
|
||||
specificity_score: 0.55
|
||||
specificity_rationale: Trade names specific to commercial/corporate contexts.
|
||||
|
||||
HistoricalName:
|
||||
is_a: NameType
|
||||
class_uri: hc:HistoricalName
|
||||
description: |
|
||||
Former or historical name no longer in active use.
|
||||
|
||||
**Use Cases**:
|
||||
- Former city names (Constantinople → Istanbul)
|
||||
- Previous organization names
|
||||
- Obsolete taxonomic names (synonyms)
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Didus ineptus"
|
||||
has_or_had_type: HistoricalName
|
||||
has_or_had_language: "la"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Historical names applicable across all heritage domains.
|
||||
|
||||
IndigenousName:
|
||||
is_a: NameType
|
||||
class_uri: hc:IndigenousName
|
||||
description: |
|
||||
Name in an indigenous or minority language.
|
||||
|
||||
**Use Cases**:
|
||||
- Indigenous place names
|
||||
- Traditional ecological knowledge names
|
||||
- Minority language names for cultural heritage
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Aotearoa"
|
||||
has_or_had_type: IndigenousName
|
||||
has_or_had_language: "mi" # Maori
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.50
|
||||
specificity_rationale: Indigenous names particularly relevant for cultural heritage and decolonization.
|
||||
|
||||
Abbreviation:
|
||||
is_a: NameType
|
||||
class_uri: hc:Abbreviation
|
||||
description: |
|
||||
Abbreviated form of a name.
|
||||
|
||||
**Use Cases**:
|
||||
- Acronyms (UNESCO, ICOM)
|
||||
- Standard abbreviations
|
||||
- Initialisms
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "NHM"
|
||||
has_or_had_type: Abbreviation
|
||||
has_or_had_language: "en"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Abbreviations common across all naming contexts.
|
||||
|
||||
NickName:
|
||||
is_a: NameType
|
||||
class_uri: hc:NickName
|
||||
description: |
|
||||
Informal nickname or pet name.
|
||||
|
||||
**Use Cases**:
|
||||
- Informal references to places ("The City")
|
||||
- Colloquial names for organizations
|
||||
- Popular names for specimens
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_name:
|
||||
- has_or_had_label: "Oxford Dodo"
|
||||
has_or_had_type: NickName
|
||||
has_or_had_language: "en"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.40
|
||||
specificity_rationale: Nicknames used informally across heritage contexts.
|
||||
161
schemas/20251121/linkml/modules/classes/Percentage.yaml
Normal file
161
schemas/20251121/linkml/modules/classes/Percentage.yaml
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
# Percentage class
|
||||
# Created per slot_fixes.yaml revision for: commission_rate
|
||||
#
|
||||
# Represents a percentage value with optional range
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of commission_rate migration per Rule 53.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Percentage
|
||||
name: percentage_class
|
||||
title: Percentage Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
qudt: http://qudt.org/schema/qudt/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
Percentage:
|
||||
class_uri: hc:Percentage
|
||||
description: |
|
||||
Structured representation of a percentage value.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Models percentage values with optional min/max range and
|
||||
display formatting. Replaces unstructured percentage strings.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `commission_rate` string
|
||||
(e.g., "50%", "40-50%") to structured Percentage class.
|
||||
|
||||
**USE CASES**:
|
||||
|
||||
- Commission rates: "50%" → percentage_value: 50
|
||||
- Variable rates: "40-50%" → percentage_min: 40, percentage_max: 50
|
||||
- Completion: "75% complete" → percentage_value: 75
|
||||
- Discount: "20% off" → percentage_value: 20
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
has_or_had_percentage:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
```
|
||||
|
||||
close_mappings:
|
||||
- qudt:QuantityValue
|
||||
- schema:QuantitativeValue
|
||||
|
||||
attributes:
|
||||
percentage_value:
|
||||
description: |
|
||||
The numeric percentage value (0-100).
|
||||
For ranges, this is the typical/default value.
|
||||
range: float
|
||||
required: true
|
||||
minimum_value: 0
|
||||
maximum_value: 100
|
||||
examples:
|
||||
- value: 50
|
||||
description: 50 percent
|
||||
- value: 15.5
|
||||
description: 15.5 percent
|
||||
|
||||
percentage_min:
|
||||
description: |
|
||||
Minimum percentage in a range.
|
||||
Only used when percentage varies (e.g., "40-50%").
|
||||
range: float
|
||||
required: false
|
||||
minimum_value: 0
|
||||
maximum_value: 100
|
||||
examples:
|
||||
- value: 40
|
||||
description: Minimum of 40-50% range
|
||||
|
||||
percentage_max:
|
||||
description: |
|
||||
Maximum percentage in a range.
|
||||
Only used when percentage varies (e.g., "40-50%").
|
||||
range: float
|
||||
required: false
|
||||
minimum_value: 0
|
||||
maximum_value: 100
|
||||
examples:
|
||||
- value: 50
|
||||
description: Maximum of 40-50% range
|
||||
|
||||
percentage_display:
|
||||
description: |
|
||||
Human-readable display format of the percentage.
|
||||
Preserves original formatting from source data.
|
||||
range: string
|
||||
required: false
|
||||
pattern: ^[0-9]{1,3}(\.[0-9]+)?(-[0-9]{1,3}(\.[0-9]+)?)?%$
|
||||
examples:
|
||||
- value: "50%"
|
||||
description: Simple percentage
|
||||
- value: "40-50%"
|
||||
description: Range percentage
|
||||
- value: "15.5%"
|
||||
description: Decimal percentage
|
||||
|
||||
percentage_context:
|
||||
description: |
|
||||
Context or meaning of this percentage.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "commission"
|
||||
description: Commission rate
|
||||
- value: "completion"
|
||||
description: Completion percentage
|
||||
- value: "discount"
|
||||
description: Discount percentage
|
||||
|
||||
examples:
|
||||
- value:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
percentage_context: "commission"
|
||||
description: Simple 50% commission
|
||||
|
||||
- value:
|
||||
percentage_value: 45
|
||||
percentage_min: 40
|
||||
percentage_max: 50
|
||||
percentage_display: "40-50%"
|
||||
percentage_context: "commission"
|
||||
description: Variable commission range (40-50%)
|
||||
|
||||
- value:
|
||||
percentage_value: 15.5
|
||||
percentage_display: "15.5%"
|
||||
percentage_context: "secondary_market"
|
||||
description: Decimal percentage for secondary market
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commission_rate migration (Rule 53)
|
||||
- Supports single values and ranges
|
||||
- Preserves original display formatting
|
||||
|
||||
see_also:
|
||||
- http://qudt.org/schema/qudt/QuantityValue
|
||||
- https://schema.org/QuantitativeValue
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - percentages apply across many contexts.
|
||||
specificity_score: "0.30"
|
||||
specificity_rationale: >-
|
||||
Broadly useful - percentages appear in many contexts.
|
||||
152
schemas/20251121/linkml/modules/classes/Profit.yaml
Normal file
152
schemas/20251121/linkml/modules/classes/Profit.yaml
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
# Profit class
|
||||
# Created per slot_fixes.yaml revision for: commercial_operation
|
||||
#
|
||||
# Represents organizational profit objective/motive
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of commercial_operation migration per Rule 53.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Profit
|
||||
name: profit_class
|
||||
title: Profit Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
org: http://www.w3.org/ns/org#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
Profit:
|
||||
class_uri: hc:Profit
|
||||
description: |
|
||||
Structured representation of an organization's profit motive/objective.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Models whether an organization operates for profit or as nonprofit,
|
||||
replacing simple boolean with structured class for richer metadata.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `commercial_operation` boolean
|
||||
to structured `has_or_had_objective` + `Profit` for complete objective tracking.
|
||||
|
||||
**USE CASES**:
|
||||
|
||||
- Commercial galleries: For-profit, sell artworks, earn commission
|
||||
- Kunsthalle: Nonprofit, exhibition-only, public funding
|
||||
- Mixed models: Partial commercial activities in nonprofit context
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
has_or_had_objective:
|
||||
objective_type: "for-profit"
|
||||
is_commercial: true
|
||||
profit_model: "Sales commission"
|
||||
tax_status: "for-profit corporation"
|
||||
```
|
||||
|
||||
close_mappings:
|
||||
- schema:BusinessFunction
|
||||
- org:purpose
|
||||
|
||||
attributes:
|
||||
objective_type:
|
||||
description: |
|
||||
Type of operational objective (for-profit, nonprofit, mixed).
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "for-profit"
|
||||
description: Commercial operation
|
||||
- value: "nonprofit"
|
||||
description: Non-commercial operation
|
||||
- value: "mixed"
|
||||
description: Combination of commercial and nonprofit activities
|
||||
|
||||
is_commercial:
|
||||
description: |
|
||||
Boolean indicator for commercial operation.
|
||||
True = operates commercially (generates profit/revenue from sales)
|
||||
False = non-commercial (exhibition-only, public/grant funded)
|
||||
|
||||
MIGRATION NOTE: This preserves the original boolean semantics
|
||||
of the deprecated commercial_operation slot.
|
||||
range: boolean
|
||||
required: true
|
||||
examples:
|
||||
- value: true
|
||||
description: Commercial gallery selling artworks
|
||||
- value: false
|
||||
description: Kunsthalle or non-profit exhibition space
|
||||
|
||||
profit_model:
|
||||
description: |
|
||||
Description of how profit/revenue is generated.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "Sales commission (50%)"
|
||||
description: Gallery earns commission on artwork sales
|
||||
- value: "Admission fees"
|
||||
description: Revenue from visitor admission
|
||||
- value: "Membership dues"
|
||||
description: Revenue from member subscriptions
|
||||
|
||||
tax_status:
|
||||
description: |
|
||||
Legal tax status of the organization.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "501(c)(3) nonprofit"
|
||||
description: US tax-exempt nonprofit
|
||||
- value: "ANBI"
|
||||
description: Dutch public benefit organization
|
||||
- value: "for-profit corporation"
|
||||
description: Standard commercial entity
|
||||
|
||||
examples:
|
||||
- value:
|
||||
objective_type: "for-profit"
|
||||
is_commercial: true
|
||||
profit_model: "Sales commission (50%)"
|
||||
tax_status: "for-profit corporation"
|
||||
description: Commercial art gallery with sales commission model
|
||||
|
||||
- value:
|
||||
objective_type: "nonprofit"
|
||||
is_commercial: false
|
||||
profit_model: "Public funding and grants"
|
||||
tax_status: "ANBI"
|
||||
description: Kunsthalle with nonprofit status
|
||||
|
||||
- value:
|
||||
objective_type: "mixed"
|
||||
is_commercial: true
|
||||
profit_model: "Gift shop and admission, plus grants"
|
||||
tax_status: "501(c)(3) nonprofit"
|
||||
description: Museum with mixed revenue model
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commercial_operation migration (Rule 53)
|
||||
- Replaces boolean with structured objective representation
|
||||
- Supports commercial, nonprofit, and mixed operational models
|
||||
|
||||
see_also:
|
||||
- https://schema.org/BusinessFunction
|
||||
- https://www.w3.org/ns/org#purpose
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian type may have operational objectives.
|
||||
specificity_score: "0.40"
|
||||
specificity_rationale: >-
|
||||
Moderately specific - relates to organizational structure across types.
|
||||
132
schemas/20251121/linkml/modules/classes/Significance.yaml
Normal file
132
schemas/20251121/linkml/modules/classes/Significance.yaml
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
# Significance class
|
||||
# Created per slot_fixes.yaml revision for: community_significance
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of community_significance migration per Rule 53.
|
||||
# Provides structured representation of significance with type classification.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Significance
|
||||
name: significance_class
|
||||
title: Significance Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_type
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/has_or_had_label
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
Significance:
|
||||
class_uri: crm:E55_Type
|
||||
description: |
|
||||
Structured representation of significance or importance.
|
||||
|
||||
**MIGRATION NOTE** (2026-01-22):
|
||||
Created per slot_fixes.yaml migration from `community_significance` string
|
||||
to structured Significance class per Rule 53.
|
||||
|
||||
**Purpose**:
|
||||
Provides structured representation for significance including:
|
||||
- Type classification (e.g., cultural, economic, historical)
|
||||
- Description of the significance
|
||||
- Supporting evidence or justification
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`class_uri`): `crm:E55_Type` - CIDOC-CRM type (significance as typed concept)
|
||||
- **Close**: `dcterms:description` - Dublin Core description
|
||||
|
||||
**Use Cases**:
|
||||
- Cultural heritage significance (UNESCO recognition)
|
||||
- Community importance (identity, social cohesion)
|
||||
- Economic impact (tourism, heritage economy)
|
||||
- Historical continuity (ancestral links)
|
||||
|
||||
**Pattern**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: CommunitySignificance
|
||||
has_or_had_description: "Belgian cultural identity, Trappist beer heritage"
|
||||
- has_or_had_type: EconomicSignificance
|
||||
has_or_had_description: "Tourism revenue, heritage economy"
|
||||
```
|
||||
|
||||
slots:
|
||||
- has_or_had_type
|
||||
- has_or_had_description
|
||||
- has_or_had_label
|
||||
|
||||
slot_usage:
|
||||
has_or_had_type:
|
||||
description: |
|
||||
The type classification of this significance.
|
||||
Range narrowed to SignificanceType class hierarchy.
|
||||
range: SignificanceType
|
||||
required: false
|
||||
examples:
|
||||
- value: CommunitySignificance
|
||||
description: Community/cultural significance
|
||||
- value: EconomicSignificance
|
||||
description: Economic importance
|
||||
has_or_had_description:
|
||||
description: |
|
||||
Detailed description of the significance.
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "UNESCO-recognized Trappist tradition, Belgian cultural identity"
|
||||
- value: "Economic importance for regional tourism"
|
||||
has_or_had_label:
|
||||
description: Short label for this significance.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "UNESCO Intangible Heritage"
|
||||
- value: "Regional Economic Driver"
|
||||
|
||||
exact_mappings:
|
||||
- crm:E55_Type
|
||||
close_mappings:
|
||||
- dcterms:description
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Significance applicable to all heritage custodian types.
|
||||
custodian_types_primary: T
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: >-
|
||||
Broadly applicable - significance is fundamental to heritage justification
|
||||
across all domains.
|
||||
template_specificity:
|
||||
collection_discovery: 0.40
|
||||
general_heritage: 0.35
|
||||
migration_info:
|
||||
source_slot: community_significance
|
||||
migration_date: "2026-01-22"
|
||||
rule: "Rule 53"
|
||||
|
||||
comments:
|
||||
- "Structured significance representation with type"
|
||||
- "Replaces simple string-valued community_significance slot"
|
||||
- "Type classification via SignificanceType hierarchy"
|
||||
- "Created 2026-01-22 from community_significance migration (Rule 53)"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_type: CommunitySignificance
|
||||
has_or_had_label: "Belgian Trappist Heritage"
|
||||
has_or_had_description: "UNESCO-recognized Trappist tradition, Belgian cultural identity, Beer pilgrimage site"
|
||||
description: Community/cultural significance for Trappist brewery
|
||||
- value:
|
||||
has_or_had_type: EconomicSignificance
|
||||
has_or_had_label: "Regional Tourism"
|
||||
has_or_had_description: "Whisky tourism generating 50,000 visitors/year"
|
||||
description: Economic significance for Islay distillery
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
# SignificanceType class (abstract base)
|
||||
# Created per slot_fixes.yaml revision for: community_significance
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of community_significance migration per Rule 53.
|
||||
# Abstract base class for significance type taxonomy following Rule 0b (Type/Types pattern).
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/SignificanceType
|
||||
name: significance_type_class
|
||||
title: Significance Type Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_description
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
SignificanceType:
|
||||
class_uri: crm:E55_Type
|
||||
abstract: true
|
||||
description: |
|
||||
Abstract base class for significance type classifications.
|
||||
|
||||
**DESIGN PATTERN** (Rule 0b - Type/Types Convention):
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `SignificanceType.yaml` (this file) | Abstract base class |
|
||||
| `SignificanceTypes.yaml` | Concrete subclasses (CommunitySignificance, etc.) |
|
||||
|
||||
**Purpose**:
|
||||
Provides type taxonomy for categorizing different kinds of significance:
|
||||
- Community/cultural significance
|
||||
- Economic significance
|
||||
- Historical significance
|
||||
- Scientific significance
|
||||
- Aesthetic significance
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`class_uri`): `crm:E55_Type` - CIDOC-CRM type
|
||||
- **Close**: `skos:Concept` - SKOS concept vocabulary
|
||||
|
||||
slots:
|
||||
- has_or_had_label
|
||||
- has_or_had_description
|
||||
|
||||
slot_usage:
|
||||
has_or_had_label:
|
||||
description: Human-readable label for this significance type.
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "Community Significance"
|
||||
- value: "Economic Significance"
|
||||
has_or_had_description:
|
||||
description: Explanation of this significance type.
|
||||
range: string
|
||||
required: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:E55_Type
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Significance types applicable across all heritage domains.
|
||||
custodian_types_primary: T
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: >-
|
||||
Moderately specific - significance categorization is fundamental but has
|
||||
domain-specific nuances.
|
||||
design_pattern: "Type/Types (Rule 0b)"
|
||||
migration_info:
|
||||
source_slot: community_significance
|
||||
migration_date: "2026-01-22"
|
||||
rule: "Rule 53"
|
||||
|
||||
comments:
|
||||
- "Abstract base class - see SignificanceTypes.yaml for concrete subclasses"
|
||||
- "Follows Rule 0b Type/Types naming pattern"
|
||||
- "Used with Significance class to classify significance types"
|
||||
- "Created 2026-01-22 from community_significance migration (Rule 53)"
|
||||
222
schemas/20251121/linkml/modules/classes/SignificanceTypes.yaml
Normal file
222
schemas/20251121/linkml/modules/classes/SignificanceTypes.yaml
Normal file
|
|
@ -0,0 +1,222 @@
|
|||
# SignificanceTypes class (concrete subclasses)
|
||||
# Created per slot_fixes.yaml revision for: community_significance
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of community_significance migration per Rule 53.
|
||||
# Contains concrete significance type subclasses per Rule 0b (Type/Types pattern).
|
||||
# NOTE: revision specifies "this includes CommunitySignificance"
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/SignificanceTypes
|
||||
name: significance_types_class
|
||||
title: Significance Types Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ./SignificanceType # Import abstract base class
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
# === Primary Significance Types ===
|
||||
|
||||
CommunitySignificance:
|
||||
is_a: SignificanceType
|
||||
class_uri: hc:CommunitySignificance
|
||||
description: |
|
||||
Significance to a community, relating to cultural identity and social cohesion.
|
||||
|
||||
**Aspects**:
|
||||
- Cultural identity (regional/national pride)
|
||||
- Social cohesion (shared traditions, festivals)
|
||||
- Historical continuity (ancestral links)
|
||||
- Sense of place and belonging
|
||||
|
||||
**Use Cases**:
|
||||
- UNESCO Intangible Cultural Heritage listings
|
||||
- Regional food/craft traditions
|
||||
- Community festivals and rituals
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: CommunitySignificance
|
||||
has_or_had_description: "Belgian Trappist brewing tradition, cultural identity"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.40
|
||||
specificity_rationale: Community significance central to cultural heritage justification.
|
||||
|
||||
EconomicSignificance:
|
||||
is_a: SignificanceType
|
||||
class_uri: hc:EconomicSignificance
|
||||
description: |
|
||||
Economic importance and impact.
|
||||
|
||||
**Aspects**:
|
||||
- Tourism revenue
|
||||
- Local employment
|
||||
- Heritage economy contribution
|
||||
- Export value
|
||||
|
||||
**Use Cases**:
|
||||
- Tourism impact assessment
|
||||
- Heritage-based business justification
|
||||
- Regional economic planning
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: EconomicSignificance
|
||||
has_or_had_description: "Islay whisky tourism, 50,000 visitors/year"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Economic significance important for heritage sustainability.
|
||||
|
||||
HistoricalSignificance:
|
||||
is_a: SignificanceType
|
||||
class_uri: hc:HistoricalSignificance
|
||||
description: |
|
||||
Historical importance and relevance.
|
||||
|
||||
**Aspects**:
|
||||
- Historical continuity
|
||||
- Documentary evidence
|
||||
- Period representation
|
||||
- Historical events association
|
||||
|
||||
**Use Cases**:
|
||||
- Heritage listing justification
|
||||
- Historical interpretation
|
||||
- Archives and documentary heritage
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: HistoricalSignificance
|
||||
has_or_had_description: "Founded 1253, continuous brewing tradition"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.40
|
||||
specificity_rationale: Historical significance fundamental to heritage assessment.
|
||||
|
||||
ScientificSignificance:
|
||||
is_a: SignificanceType
|
||||
class_uri: hc:ScientificSignificance
|
||||
description: |
|
||||
Scientific or research importance.
|
||||
|
||||
**Aspects**:
|
||||
- Research value
|
||||
- Type specimens
|
||||
- Unique materials
|
||||
- Scientific discovery associations
|
||||
|
||||
**Use Cases**:
|
||||
- Natural history collections
|
||||
- Research archives
|
||||
- Scientific heritage sites
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: ScientificSignificance
|
||||
has_or_had_description: "Type specimen location, taxonomic reference"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.55
|
||||
specificity_rationale: Scientific significance specific to research collections.
|
||||
|
||||
AestheticSignificance:
|
||||
is_a: SignificanceType
|
||||
class_uri: hc:AestheticSignificance
|
||||
description: |
|
||||
Aesthetic or artistic importance.
|
||||
|
||||
**Aspects**:
|
||||
- Artistic merit
|
||||
- Architectural significance
|
||||
- Design innovation
|
||||
- Visual/sensory appeal
|
||||
|
||||
**Use Cases**:
|
||||
- Art collections
|
||||
- Architectural heritage
|
||||
- Design archives
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: AestheticSignificance
|
||||
has_or_had_description: "Iconic Art Deco building, architectural landmark"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.50
|
||||
specificity_rationale: Aesthetic significance important for art and architecture.
|
||||
|
||||
TerroirSignificance:
|
||||
is_a: SignificanceType
|
||||
class_uri: hc:TerroirSignificance
|
||||
description: |
|
||||
Geographic/environmental specificity and uniqueness.
|
||||
|
||||
**Aspects**:
|
||||
- Geographic origin
|
||||
- Environmental conditions
|
||||
- Place-based character
|
||||
- PDO/PGI designations
|
||||
|
||||
**Use Cases**:
|
||||
- Food and beverage heritage (wine, cheese, spirits)
|
||||
- Agricultural heritage
|
||||
- Place-based crafts
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: TerroirSignificance
|
||||
has_or_had_description: "Gouda PDO, specific to region, traditional methods"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.60
|
||||
specificity_rationale: Terroir significance specific to taste/scent heritage.
|
||||
|
||||
DiplomaticSignificance:
|
||||
is_a: SignificanceType
|
||||
class_uri: hc:DiplomaticSignificance
|
||||
description: |
|
||||
Cultural diplomacy and international representation.
|
||||
|
||||
**Aspects**:
|
||||
- National heritage representation
|
||||
- Soft power
|
||||
- International recognition
|
||||
- Cultural exchange
|
||||
|
||||
**Use Cases**:
|
||||
- National collections
|
||||
- Cultural embassies
|
||||
- International exhibitions
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: DiplomaticSignificance
|
||||
has_or_had_description: "French parfumerie tradition, cultural diplomacy"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.55
|
||||
specificity_rationale: Diplomatic significance relevant for national heritage.
|
||||
171
schemas/20251121/linkml/modules/classes/SourceCommentCount.yaml
Normal file
171
schemas/20251121/linkml/modules/classes/SourceCommentCount.yaml
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
# SourceCommentCount class
|
||||
# Created per slot_fixes.yaml revision for: comments_fetched
|
||||
#
|
||||
# Represents comment count metadata from external sources
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of comments_fetched migration per Rule 53.
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/SourceCommentCount
|
||||
name: source_comment_count_class
|
||||
title: Source Comment Count Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/was_fetched_at
|
||||
- ../slots/has_or_had_quantity
|
||||
- ./Timestamp
|
||||
- ./Quantity
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
SourceCommentCount:
|
||||
class_uri: hc:SourceCommentCount
|
||||
description: |
|
||||
Comment count metadata from an external source (API, web page).
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Structured representation of comment retrieval metadata, tracking
|
||||
how many comments were fetched versus the total available at the source.
|
||||
Replaces simple integer count with rich provenance data.
|
||||
|
||||
**DESIGN RATIONALE**:
|
||||
|
||||
Created per slot_fixes.yaml migration from `comments_fetched` integer
|
||||
to structured `was_fetched_at` + `Timestamp` + `is_or_was_part_of_total`
|
||||
+ `SourceCommentCount` for complete retrieval tracking.
|
||||
|
||||
**USE CASES**:
|
||||
|
||||
- YouTube API: Track fetched comments vs total comment count
|
||||
- Social media: Partial comment retrieval with pagination
|
||||
- Web scraping: Track scraped vs visible comments
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
is_or_was_part_of_total:
|
||||
fetched_count: 100
|
||||
total_count: 500
|
||||
fetch_complete: false
|
||||
was_fetched_at:
|
||||
has_or_had_timestamp: "2025-01-14T10:30:00Z"
|
||||
```
|
||||
|
||||
close_mappings:
|
||||
- schema:InteractionCounter
|
||||
- prov:Entity
|
||||
|
||||
slots:
|
||||
- was_fetched_at
|
||||
- has_or_had_quantity
|
||||
|
||||
attributes:
|
||||
fetched_count:
|
||||
description: |
|
||||
Number of items actually fetched/retrieved.
|
||||
range: integer
|
||||
required: true
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value: 100
|
||||
description: 100 comments fetched
|
||||
|
||||
total_count:
|
||||
description: |
|
||||
Total number of items available at the source.
|
||||
May be null if source doesn't provide total.
|
||||
range: integer
|
||||
required: false
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value: 500
|
||||
description: 500 total comments at source
|
||||
|
||||
fetch_complete:
|
||||
description: |
|
||||
Whether all available items were fetched.
|
||||
True if fetched_count equals total_count.
|
||||
range: boolean
|
||||
required: false
|
||||
ifabsent: "false"
|
||||
examples:
|
||||
- value: true
|
||||
description: All comments fetched
|
||||
- value: false
|
||||
description: Partial fetch
|
||||
|
||||
source_api:
|
||||
description: |
|
||||
API or source from which data was fetched.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "youtube_data_api_v3"
|
||||
description: YouTube Data API
|
||||
- value: "web_scrape"
|
||||
description: Web scraping
|
||||
|
||||
slot_usage:
|
||||
was_fetched_at:
|
||||
description: |
|
||||
When the comments were fetched from the source.
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_timestamp: "2025-01-14T10:30:00Z"
|
||||
description: Fetch timestamp
|
||||
|
||||
has_or_had_quantity:
|
||||
description: |
|
||||
Alternative structured representation of count.
|
||||
Use fetched_count for simple integer.
|
||||
range: Quantity
|
||||
inlined: true
|
||||
required: false
|
||||
|
||||
examples:
|
||||
- value:
|
||||
fetched_count: 100
|
||||
total_count: 500
|
||||
fetch_complete: false
|
||||
source_api: "youtube_data_api_v3"
|
||||
was_fetched_at:
|
||||
has_or_had_timestamp: "2025-01-14T10:30:00Z"
|
||||
description: Partial comment fetch from YouTube API
|
||||
|
||||
- value:
|
||||
fetched_count: 50
|
||||
total_count: 50
|
||||
fetch_complete: true
|
||||
description: Complete comment fetch
|
||||
|
||||
- value:
|
||||
fetched_count: 0
|
||||
description: No comments fetched (minimal)
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from comments_fetched migration (Rule 53)
|
||||
- Tracks fetched vs total comment counts
|
||||
- Includes fetch timestamp for provenance
|
||||
- Supports partial/paginated data retrieval
|
||||
|
||||
see_also:
|
||||
- https://schema.org/InteractionCounter
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian with video/social media content.
|
||||
specificity_score: "0.70"
|
||||
specificity_rationale: >-
|
||||
Specific to video/social media comment fetching contexts.
|
||||
|
|
@ -25,7 +25,11 @@ imports:
|
|||
- ./Domain # for has_or_had_domain range
|
||||
- ../slots/temporal_extent
|
||||
- ./TimeSpan
|
||||
- ../slots/common_variant
|
||||
# REMOVED 2026-01-22: ../slots/common_variant - migrated to has_or_had_type + VariantType + includes_or_included + VariantTypes (Rule 53)
|
||||
- ../slots/has_or_had_type
|
||||
- ./VariantType
|
||||
- ./VariantTypes
|
||||
- ../slots/includes_or_included
|
||||
- ../slots/requires_qualification
|
||||
- ../slots/role_category
|
||||
- ../slots/role_id
|
||||
|
|
@ -164,7 +168,9 @@ classes:
|
|||
slots:
|
||||
# REMOVED 2026-01-19: circumstances_of_death - migrated to is_deceased with DeceasedStatus
|
||||
- is_deceased
|
||||
- common_variant
|
||||
# REMOVED 2026-01-22: common_variant - migrated to has_or_had_type + VariantType + VariantTypes (Rule 53)
|
||||
- has_or_had_type
|
||||
- includes_or_included
|
||||
- date_of_death
|
||||
- deceased
|
||||
- description
|
||||
|
|
@ -217,6 +223,44 @@ classes:
|
|||
begin_of_the_begin: "2023-11-19T00:00:00Z"
|
||||
end_of_the_end: "2023-11-19T23:59:59Z"
|
||||
```
|
||||
# MIGRATED 2026-01-22: common_variant → has_or_had_type + VariantType + VariantTypes (Rule 53)
|
||||
has_or_had_type:
|
||||
required: false
|
||||
range: VariantType
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
description: |
|
||||
Common role title variants, synonyms, and alternative names.
|
||||
MIGRATED from common_variant per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
|
||||
Uses VariantType class hierarchy for structured representation:
|
||||
- AbbreviationVariant: Abbreviated forms (e.g., "Dir." for "Director")
|
||||
- SynonymVariant: Alternative names (e.g., "Keeper" for "Curator")
|
||||
- RegionalVariant: Regional variations (e.g., British vs American)
|
||||
- HistoricalVariant: Archaic/obsolete terms
|
||||
- InformalVariant: Colloquial names
|
||||
- TranslationVariant: Translations in other languages
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_label: "Keeper"
|
||||
has_or_had_type: SynonymVariant
|
||||
has_or_had_description: "British English alternative for Curator"
|
||||
description: Regional synonym for Curator
|
||||
- value:
|
||||
has_or_had_label: "Conservateur"
|
||||
has_or_had_type: TranslationVariant
|
||||
has_or_had_language: "fr"
|
||||
description: French translation
|
||||
includes_or_included:
|
||||
required: false
|
||||
range: VariantType
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
description: |
|
||||
Included variant types for this role.
|
||||
Used to express containment relationships in variant hierarchies.
|
||||
comments:
|
||||
- Abstract base class - use specific subclasses (Curator, Archivist, etc.)
|
||||
- Represents OFFICIAL JOB TITLES, not de facto work performed
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ imports:
|
|||
- ../metadata
|
||||
- ../slots/description
|
||||
# REMOVED: ../slots/website - using inline attribute definition (Rule 53, migrated 2025-01-15)
|
||||
# MIGRATED 2026-01-22: founded_year → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
- ../slots/is_or_was_founded_through
|
||||
- ./FoundingEvent
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
||||
- ./SpecificityAnnotation
|
||||
|
|
@ -121,23 +124,32 @@ classes:
|
|||
'
|
||||
range: string
|
||||
multivalued: true
|
||||
founded_year:
|
||||
slot_uri: schema:foundingDate
|
||||
description: 'Year the organization was founded.
|
||||
|
||||
|
||||
# MIGRATED 2026-01-22: founded_year → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
is_or_was_founded_through:
|
||||
description: |
|
||||
The founding event for this standards organization.
|
||||
Migrated from founded_year per slot_fixes.yaml revision.
|
||||
|
||||
Examples:
|
||||
|
||||
- ISO: 1947
|
||||
|
||||
- ANSI: 1918
|
||||
|
||||
- W3C: 1994
|
||||
|
||||
- IETF: 1986
|
||||
|
||||
'
|
||||
range: integer
|
||||
range: FoundingEvent
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1947-02-23"
|
||||
end_of_the_begin: "1947-02-23"
|
||||
founding_description: "ISO founded on 23 February 1947"
|
||||
description: ISO founding event (exact date known)
|
||||
- value:
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1994-01-01"
|
||||
end_of_the_begin: "1994-12-31"
|
||||
founding_description: "W3C founded in 1994"
|
||||
description: W3C founding event (year known)
|
||||
headquarters_country:
|
||||
slot_uri: schema:location
|
||||
description: 'Country where headquarters is located (ISO 3166-1 alpha-2).
|
||||
|
|
|
|||
|
|
@ -27,6 +27,9 @@ imports:
|
|||
- ./WikidataAlignment
|
||||
- ./WikiDataEntry # for is_or_was_related_to range (2026-01-15)
|
||||
- ./UniversityArchiveRecordSetType
|
||||
# MIGRATED 2026-01-22: founding_date → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
- ../slots/is_or_was_founded_through
|
||||
- ./FoundingEvent
|
||||
classes:
|
||||
UniversityArchive:
|
||||
description: A collection of historical records of a college or university. University archives (Universitätsarchive)
|
||||
|
|
@ -41,6 +44,7 @@ classes:
|
|||
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
||||
- is_or_was_related_to # was: wikidata_alignment - migrated per Rule 53 (2026-01-15)
|
||||
- has_or_had_identifier # was: wikidata_entity - migrated per Rule 53 (2026-01-15)
|
||||
- is_or_was_founded_through # was: founding_date attribute - migrated per Rule 53 (2026-01-22)
|
||||
exact_mappings:
|
||||
- wd:Q2496264 # Wikidata (was: slot_usage wikidata_equivalent - migrated per Rule 53, 2026-01-17)
|
||||
close_mappings:
|
||||
|
|
@ -54,13 +58,18 @@ classes:
|
|||
is_or_was_related_to: # was: wikidata_alignment - migrated per Rule 53 (2026-01-15)
|
||||
range: WikidataAlignment
|
||||
inlined: true
|
||||
# MIGRATED 2026-01-22: founding_date → is_or_was_founded_through + FoundingEvent (Rule 53)
|
||||
is_or_was_founded_through:
|
||||
description: |
|
||||
The founding event for this university archive.
|
||||
Migrated from founding_date attribute per slot_fixes.yaml revision.
|
||||
range: FoundingEvent
|
||||
inlined: true
|
||||
attributes:
|
||||
parent_university:
|
||||
description: The university or college this archive serves
|
||||
range: string
|
||||
founding_date:
|
||||
description: When the university archive was established
|
||||
range: date
|
||||
# REMOVED: founding_date - migrated to is_or_was_founded_through (Rule 53, 2026-01-22)
|
||||
records_scope:
|
||||
description: Types of university records held (administrative, faculty, student, etc.)
|
||||
range: string
|
||||
|
|
|
|||
95
schemas/20251121/linkml/modules/classes/VariantType.yaml
Normal file
95
schemas/20251121/linkml/modules/classes/VariantType.yaml
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# VariantType class (abstract base)
|
||||
# Created per slot_fixes.yaml revision for: common_variant
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of common_variant migration per Rule 53.
|
||||
# Abstract base class for variant type taxonomy following Rule 0b (Type/Types pattern).
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/VariantType
|
||||
name: variant_type_class
|
||||
title: Variant Type Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_description
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
VariantType:
|
||||
class_uri: crm:E55_Type
|
||||
abstract: true
|
||||
description: |
|
||||
Abstract base class for variant/alternative type classifications.
|
||||
|
||||
**DESIGN PATTERN** (Rule 0b - Type/Types Convention):
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `VariantType.yaml` (this file) | Abstract base class |
|
||||
| `VariantTypes.yaml` | Concrete subclasses (Abbreviation, Synonym, etc.) |
|
||||
|
||||
**Purpose**:
|
||||
Provides type taxonomy for categorizing different kinds of variants:
|
||||
- Alternative names/titles for roles
|
||||
- Common abbreviations
|
||||
- Synonyms in different contexts
|
||||
- Regional or dialect variations
|
||||
|
||||
**Use Cases**:
|
||||
- Staff role title variants (e.g., "Curator" vs "Keeper" vs "Conservator")
|
||||
- Organization name variants
|
||||
- Technical term variations
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`class_uri`): `crm:E55_Type` - CIDOC-CRM type
|
||||
- **Close**: `skos:Concept` - SKOS concept vocabulary
|
||||
|
||||
slots:
|
||||
- has_or_had_label
|
||||
- has_or_had_description
|
||||
|
||||
slot_usage:
|
||||
has_or_had_label:
|
||||
description: Human-readable label for this variant type.
|
||||
range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: "Abbreviation"
|
||||
- value: "Synonym"
|
||||
has_or_had_description:
|
||||
description: Explanation of when to use this variant type.
|
||||
range: string
|
||||
required: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:E55_Type
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Variant types applicable across all heritage domains.
|
||||
custodian_types_primary: M
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: >-
|
||||
Moderately specific - variant handling is common across naming contexts
|
||||
but specific implementations vary by domain.
|
||||
design_pattern: "Type/Types (Rule 0b)"
|
||||
migration_info:
|
||||
source_slot: common_variant
|
||||
migration_date: "2026-01-22"
|
||||
rule: "Rule 53"
|
||||
|
||||
comments:
|
||||
- "Abstract base class - see VariantTypes.yaml for concrete subclasses"
|
||||
- "Follows Rule 0b Type/Types naming pattern"
|
||||
- "Used with has_or_had_type to classify variant types"
|
||||
- "Created 2026-01-22 from common_variant migration (Rule 53)"
|
||||
162
schemas/20251121/linkml/modules/classes/VariantTypes.yaml
Normal file
162
schemas/20251121/linkml/modules/classes/VariantTypes.yaml
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
# VariantTypes class (concrete subclasses)
|
||||
# Created per slot_fixes.yaml revision for: common_variant
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of common_variant migration per Rule 53.
|
||||
# Contains concrete variant type subclasses per Rule 0b (Type/Types pattern).
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/VariantTypes
|
||||
name: variant_types_class
|
||||
title: Variant Types Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ./VariantType # Import abstract base class
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
# === Variant Types ===
|
||||
|
||||
AbbreviationVariant:
|
||||
is_a: VariantType
|
||||
class_uri: hc:AbbreviationVariant
|
||||
description: |
|
||||
Abbreviated form or acronym of a term.
|
||||
|
||||
**Use Cases**:
|
||||
- Role abbreviations ("Dir." for "Director")
|
||||
- Department abbreviations
|
||||
- Standard acronyms
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_type:
|
||||
- has_or_had_label: "Dir."
|
||||
has_or_had_type: AbbreviationVariant
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Abbreviations common across all naming contexts.
|
||||
|
||||
SynonymVariant:
|
||||
is_a: VariantType
|
||||
class_uri: skos:altLabel
|
||||
description: |
|
||||
Synonym or alternative term with equivalent meaning.
|
||||
|
||||
**Use Cases**:
|
||||
- Role title synonyms ("Curator" / "Keeper" / "Conservator")
|
||||
- Technical synonyms
|
||||
- Cross-cultural equivalents
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_type:
|
||||
- has_or_had_label: "Keeper"
|
||||
has_or_had_type: SynonymVariant
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- skos:altLabel
|
||||
annotations:
|
||||
specificity_score: 0.40
|
||||
specificity_rationale: Synonyms important for search and discovery.
|
||||
|
||||
RegionalVariant:
|
||||
is_a: VariantType
|
||||
class_uri: hc:RegionalVariant
|
||||
description: |
|
||||
Regional or dialect variation of a term.
|
||||
|
||||
**Use Cases**:
|
||||
- British vs. American English ("Curator" vs. "Keeper")
|
||||
- Dutch regional variations
|
||||
- Country-specific terminology
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_type:
|
||||
- has_or_had_label: "Keeper"
|
||||
has_or_had_type: RegionalVariant
|
||||
has_or_had_description: "British English term"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Regional variants important for international heritage.
|
||||
|
||||
HistoricalVariant:
|
||||
is_a: VariantType
|
||||
class_uri: hc:HistoricalVariant
|
||||
description: |
|
||||
Historical or archaic term no longer in common use.
|
||||
|
||||
**Use Cases**:
|
||||
- Obsolete job titles
|
||||
- Historical terminology
|
||||
- Legacy classifications
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_type:
|
||||
- has_or_had_label: "Assistant Keeper"
|
||||
has_or_had_type: HistoricalVariant
|
||||
has_or_had_description: "Victorian-era title"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.50
|
||||
specificity_rationale: Historical variants important for heritage documentation.
|
||||
|
||||
InformalVariant:
|
||||
is_a: VariantType
|
||||
class_uri: hc:InformalVariant
|
||||
description: |
|
||||
Informal, colloquial, or casual term.
|
||||
|
||||
**Use Cases**:
|
||||
- Casual job references
|
||||
- Colloquial terminology
|
||||
- Internal nicknames
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_type:
|
||||
- has_or_had_label: "Art person"
|
||||
has_or_had_type: InformalVariant
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.40
|
||||
specificity_rationale: Informal terms help with natural language search.
|
||||
|
||||
TranslationVariant:
|
||||
is_a: VariantType
|
||||
class_uri: hc:TranslationVariant
|
||||
description: |
|
||||
Translation of a term in another language.
|
||||
|
||||
**Use Cases**:
|
||||
- Multilingual role titles
|
||||
- International terminology
|
||||
- Cross-language equivalents
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_type:
|
||||
- has_or_had_label: "Conservateur"
|
||||
has_or_had_type: TranslationVariant
|
||||
has_or_had_language: "fr"
|
||||
```
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Translations essential for multilingual heritage data.
|
||||
|
|
@ -12,28 +12,38 @@ imports:
|
|||
# REMOVED 2026-01-18: ../slots/comment_author - migrated to has_or_had_author + Author (Rule 53)
|
||||
- ../slots/has_or_had_author
|
||||
- ./Author
|
||||
- ../slots/comment_author_channel_id
|
||||
# REMOVED 2026-01-22: ../slots/comment_author_channel_id - migrated to has_or_had_identifier + DigitalPlatformUserIdentifier (Rule 53)
|
||||
- ./DigitalPlatformUserIdentifier
|
||||
# REMOVED 2026-01-18: ../slots/comment_id - migrated to has_or_had_identifier + Identifier (Rule 53)
|
||||
# REMOVED 2026-01-18: ../slots/comment_count - migrated to has_or_had_quantity + Quantity (Rule 53)
|
||||
- ../slots/comment_like_count
|
||||
# REMOVED 2026-01-22: ../slots/comment_like_count - migrated to is_or_was_appreciated + AppreciationEvent (Rule 53)
|
||||
- ../slots/is_or_was_appreciated
|
||||
- ./AppreciationEvent
|
||||
# REMOVED 2026-01-18: ../slots/comment_published_at - migrated to temporal_extent + TimeSpan (Rule 53)
|
||||
- ../slots/temporal_extent
|
||||
- ./TimeSpan
|
||||
- ../slots/has_or_had_comment_reply
|
||||
- ../slots/comment_reply_count
|
||||
# REMOVED 2026-01-22: ../slots/comment_reply_count - migrated to has_or_had_reply + CommentReply (Rule 53)
|
||||
- ../slots/has_or_had_reply
|
||||
- ./CommentReply
|
||||
# REMOVED 2026-01-18: ../slots/comment_text - migrated to has_or_had_content + Content (Rule 53)
|
||||
- ../slots/has_or_had_content
|
||||
- ./Content
|
||||
# REMOVED 2026-01-18: ../slots/comment_updated_at - migrated to was_last_updated_at + Timestamp (Rule 53)
|
||||
- ../slots/was_last_updated_at
|
||||
- ./Timestamp
|
||||
- ../slots/comments_fetched
|
||||
# REMOVED 2026-01-22: ../slots/comments_fetched - migrated to was_fetched_at + is_or_was_part_of_total + SourceCommentCount (Rule 53)
|
||||
- ../slots/was_fetched_at
|
||||
- ../slots/is_or_was_part_of_total
|
||||
- ./SourceCommentCount
|
||||
- ../slots/default_audio_language
|
||||
- ../slots/default_language
|
||||
- ../slots/dislike_count
|
||||
- ../slots/duration
|
||||
- ../slots/favorite_count
|
||||
- ../slots/frame_rate
|
||||
# MIGRATED 2026-01-22: frame_rate → has_or_had_quantity + Quantity + has_or_had_unit + Unit (Rule 53)
|
||||
- ../slots/has_or_had_unit
|
||||
- ./Unit
|
||||
- ../slots/is_embeddable
|
||||
- ../slots/is_licensed_content
|
||||
- ../slots/is_made_for_kid
|
||||
|
|
@ -215,14 +225,16 @@ classes:
|
|||
- has_available_caption_language
|
||||
- caption_available
|
||||
# REMOVED 2026-01-18: comment_count - migrated to has_or_had_quantity + Quantity (Rule 53)
|
||||
- comments_fetched
|
||||
# REMOVED 2026-01-22: comments_fetched - migrated to was_fetched_at + is_or_was_part_of_total + SourceCommentCount (Rule 53)
|
||||
- was_fetched_at
|
||||
- is_or_was_part_of_total
|
||||
- default_audio_language
|
||||
- default_language
|
||||
- definition
|
||||
- dislike_count
|
||||
- duration
|
||||
- favorite_count
|
||||
- frame_rate
|
||||
# REMOVED 2026-01-22: frame_rate - migrated to has_or_had_quantity + Quantity + Unit (Rule 53)
|
||||
- is_embeddable
|
||||
- is_licensed_content
|
||||
- is_made_for_kid
|
||||
|
|
@ -260,12 +272,13 @@ classes:
|
|||
description: Standard widescreen
|
||||
- value: '9:16'
|
||||
description: Vertical format for Shorts/Reels
|
||||
frame_rate:
|
||||
range: float
|
||||
required: false
|
||||
examples:
|
||||
- value: 30.0
|
||||
description: 30 frames per second
|
||||
# MIGRATED 2026-01-22: frame_rate → has_or_had_quantity + Quantity + has_or_had_unit + Unit (Rule 53)
|
||||
# frame_rate:
|
||||
# range: float
|
||||
# required: false
|
||||
# examples:
|
||||
# - value: 30.0
|
||||
# description: 30 frames per second
|
||||
caption_available:
|
||||
range: boolean
|
||||
required: false
|
||||
|
|
@ -302,12 +315,13 @@ classes:
|
|||
multivalued: true
|
||||
description: |
|
||||
Quantified metrics for video content. RULE 53: Replaces deprecated
|
||||
view_count and comment_count with structured Quantity class supporting
|
||||
measurement unit and temporal extent for point-in-time observation.
|
||||
view_count, comment_count, and frame_rate with structured Quantity class
|
||||
supporting measurement unit and temporal extent for point-in-time observation.
|
||||
|
||||
MIGRATED SLOTS:
|
||||
- view_count → Quantity with has_or_had_measurement_unit: VIEW (2026-01-15)
|
||||
- comment_count → Quantity with has_or_had_measurement_unit: COMMENT (2026-01-18)
|
||||
- frame_rate → Quantity with has_or_had_unit: "frames per second" (2026-01-22)
|
||||
examples:
|
||||
- value:
|
||||
quantity_value: 132
|
||||
|
|
@ -325,6 +339,21 @@ classes:
|
|||
temporal_extent:
|
||||
begin_of_the_begin: "2025-12-01T23:16:22Z"
|
||||
description: 42 comments at observation time (migrated from comment_count)
|
||||
- value:
|
||||
quantity_value: 30.0
|
||||
quantity_type: FRAME_RATE
|
||||
has_or_had_unit:
|
||||
unit_value: "frames per second"
|
||||
unit_uri: "qudt:FPS"
|
||||
description: 30 frames per second (migrated from frame_rate, 2026-01-22)
|
||||
- value:
|
||||
quantity_value: 24.0
|
||||
quantity_type: FRAME_RATE
|
||||
has_or_had_unit:
|
||||
unit_value: "fps"
|
||||
has_or_had_label:
|
||||
- label_text: "frames per second"
|
||||
description: Cinema standard 24fps
|
||||
like_count:
|
||||
range: integer
|
||||
required: false
|
||||
|
|
@ -389,13 +418,42 @@ classes:
|
|||
is_made_for_kid:
|
||||
range: boolean
|
||||
required: false
|
||||
comments_fetched:
|
||||
range: integer
|
||||
# MIGRATED 2026-01-22: comments_fetched → was_fetched_at + is_or_was_part_of_total + SourceCommentCount (Rule 53)
|
||||
# comments_fetched:
|
||||
# range: integer
|
||||
# required: false
|
||||
# minimum_value: 0
|
||||
# examples:
|
||||
# - value: 0
|
||||
# description: No comments fetched
|
||||
was_fetched_at:
|
||||
description: |
|
||||
MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Timestamp when comments were fetched from the video platform API.
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
required: false
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value: 0
|
||||
description: No comments fetched
|
||||
- value:
|
||||
has_or_had_timestamp: "2025-12-01T23:16:22Z"
|
||||
description: Comments fetched at observation time
|
||||
is_or_was_part_of_total:
|
||||
description: |
|
||||
MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Structured count metadata showing fetched vs total comments.
|
||||
range: SourceCommentCount
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
fetched_count: 100
|
||||
total_count: 500
|
||||
fetch_complete: false
|
||||
source_api: "youtube_data_api_v3"
|
||||
description: 100 of 500 comments fetched from YouTube API
|
||||
- value:
|
||||
fetched_count: 0
|
||||
description: No comments fetched (minimal)
|
||||
has_or_had_comment: # was: video_comment - migrated per Rule 53 (2025-01-15)
|
||||
range: VideoComment
|
||||
multivalued: true
|
||||
|
|
@ -430,14 +488,17 @@ classes:
|
|||
slots:
|
||||
# MIGRATED 2026-01-18: comment_author → has_or_had_author + Author (Rule 53)
|
||||
- has_or_had_author
|
||||
- comment_author_channel_id
|
||||
# MIGRATED 2026-01-22: comment_author_channel_id → has_or_had_identifier + DigitalPlatformUserIdentifier (Rule 53)
|
||||
# NOTE: has_or_had_identifier already present - used for both comment_id and comment_author_channel_id
|
||||
# REMOVED 2026-01-18: comment_id - migrated to has_or_had_identifier + Identifier (Rule 53)
|
||||
- has_or_had_identifier
|
||||
- comment_like_count
|
||||
# MIGRATED 2026-01-22: comment_like_count → is_or_was_appreciated + AppreciationEvent (Rule 53)
|
||||
- is_or_was_appreciated
|
||||
# REMOVED 2026-01-18: comment_published_at - migrated to temporal_extent + TimeSpan (Rule 53)
|
||||
- temporal_extent
|
||||
- has_or_had_comment_reply
|
||||
- comment_reply_count
|
||||
# MIGRATED 2026-01-22: comment_reply_count → has_or_had_reply + CommentReply (Rule 53)
|
||||
- has_or_had_reply
|
||||
# REMOVED 2026-01-18: comment_text - migrated to has_or_had_content + Content (Rule 53)
|
||||
- has_or_had_content
|
||||
# REMOVED 2026-01-18: comment_updated_at - migrated to was_last_updated_at + Timestamp (Rule 53)
|
||||
|
|
@ -459,29 +520,40 @@ classes:
|
|||
identifier_scheme: youtube_comment_id
|
||||
identifier_value: "UgzK1234abcdefgh"
|
||||
description: YouTube comment identifier
|
||||
comment_author:
|
||||
range: string
|
||||
required: true
|
||||
# REMOVED 2026-01-18: comment_author - migrated to has_or_had_author + Author (Rule 53)
|
||||
# MIGRATED 2026-01-18: comment_author → has_or_had_author + Author (Rule 53)
|
||||
# MIGRATED 2026-01-22: comment_author_channel_id is now captured via Author.has_or_had_identifier (Rule 53)
|
||||
has_or_had_author:
|
||||
description: |
|
||||
MIGRATED from comment_author per slot_fixes.yaml (Rule 53, 2026-01-18).
|
||||
Display name of comment author.
|
||||
UPDATED 2026-01-22: Now also captures comment_author_channel_id via nested identifier.
|
||||
|
||||
Display name of comment author plus optional platform user identifier.
|
||||
Uses Author class for structured author representation.
|
||||
Platform channel ID captured via has_or_had_identifier → DigitalPlatformUserIdentifier.
|
||||
range: Author
|
||||
inlined: true
|
||||
required: true
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_name: "Visitor123"
|
||||
description: Comment author display name
|
||||
description: Comment author display name only
|
||||
- value:
|
||||
has_or_had_name: "MuseumFan2024"
|
||||
has_or_had_identifier: "https://youtube.com/channel/UC123"
|
||||
description: Comment author with channel link
|
||||
comment_author_channel_id:
|
||||
range: string
|
||||
required: false
|
||||
has_or_had_identifier:
|
||||
- identifier_scheme: youtube_channel_id
|
||||
identifier_value: "UCsT0YIqwnpJCM-mx7-gSA4Q"
|
||||
platform_type: "youtube"
|
||||
platform_user_id: "UCsT0YIqwnpJCM-mx7-gSA4Q"
|
||||
description: Comment author with YouTube channel ID (migrated from comment_author_channel_id)
|
||||
# MIGRATED 2026-01-22: comment_author_channel_id → has_or_had_identifier + DigitalPlatformUserIdentifier (Rule 53)
|
||||
# NOTE: has_or_had_identifier slot_usage updated above to handle BOTH comment_id AND comment_author_channel_id
|
||||
# The Author class already has has_or_had_identifier slot, so channel_id can be linked via:
|
||||
# has_or_had_author:
|
||||
# has_or_had_identifier:
|
||||
# - identifier_scheme: youtube_channel_id
|
||||
# identifier_value: "UC1234..."
|
||||
# platform_type: "youtube"
|
||||
# MIGRATED 2026-01-18: comment_text → has_or_had_content + Content (Rule 53/56)
|
||||
has_or_had_content:
|
||||
description: |
|
||||
|
|
@ -522,14 +594,53 @@ classes:
|
|||
has_or_had_timestamp: "2025-01-15T10:30:00Z"
|
||||
has_or_had_precision: second
|
||||
description: Comment last updated timestamp
|
||||
comment_like_count:
|
||||
range: integer
|
||||
# MIGRATED 2026-01-22: comment_like_count → is_or_was_appreciated + AppreciationEvent (Rule 53)
|
||||
is_or_was_appreciated:
|
||||
description: |
|
||||
MIGRATED from comment_like_count per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Appreciation metrics (likes) for this comment.
|
||||
Uses AppreciationEvent class for structured representation.
|
||||
range: AppreciationEvent
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
minimum_value: 0
|
||||
comment_reply_count:
|
||||
range: integer
|
||||
examples:
|
||||
- value:
|
||||
appreciation_type: "like"
|
||||
appreciation_count: 42
|
||||
description: Comment with 42 likes
|
||||
- value:
|
||||
appreciation_type: "like"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 100
|
||||
has_or_had_unit:
|
||||
unit_label: "likes"
|
||||
description: Structured like count with Quantity
|
||||
# MIGRATED 2026-01-22: comment_reply_count → has_or_had_reply + CommentReply (Rule 53)
|
||||
has_or_had_reply:
|
||||
description: |
|
||||
MIGRATED from comment_reply_count per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Reply metrics for this comment.
|
||||
Uses CommentReply class for structured representation.
|
||||
range: CommentReply
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value:
|
||||
reply_count: 5
|
||||
reply_type: "comment_reply"
|
||||
description: Comment with 5 replies
|
||||
- value:
|
||||
reply_count: 0
|
||||
description: Comment with no replies
|
||||
- value:
|
||||
reply_count: 12
|
||||
has_or_had_quantity:
|
||||
numeric_value: 12
|
||||
has_or_had_unit:
|
||||
unit_label: "replies"
|
||||
description: Structured reply count with Quantity
|
||||
has_or_had_comment_reply:
|
||||
range: VideoComment
|
||||
multivalued: true
|
||||
|
|
|
|||
119
schemas/20251121/linkml/modules/classes/WebPage.yaml
Normal file
119
schemas/20251121/linkml/modules/classes/WebPage.yaml
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# WebPage class
|
||||
# Represents a web page with URL and metadata
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: collection_web_address
|
||||
# Creation date: 2026-01-22
|
||||
#
|
||||
# Rule 53 (No Bespoke Slots): collection_web_address → has_or_had_content + Collection + has_or_had_web_page + WebPage + has_or_had_url + URL
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/WebPage
|
||||
name: WebPage
|
||||
title: Web Page
|
||||
|
||||
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
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_url
|
||||
- ./URL
|
||||
- ../slots/has_or_had_label
|
||||
- ./Label
|
||||
- ../slots/has_or_had_description
|
||||
- ./Description
|
||||
|
||||
classes:
|
||||
WebPage:
|
||||
class_uri: schema:WebPage
|
||||
description: |
|
||||
Represents a web page that provides access to heritage content.
|
||||
|
||||
**RULE 53 MIGRATION**:
|
||||
Replaces the simple `collection_web_address` URI slot with a structured model:
|
||||
- `has_or_had_web_page` → WebPage (this class)
|
||||
- `has_or_had_url` → URL (the actual web address)
|
||||
|
||||
**USAGE**:
|
||||
```yaml
|
||||
has_or_had_web_page:
|
||||
- has_or_had_label:
|
||||
label_value: "Rijksstudio Collections"
|
||||
has_or_had_url:
|
||||
- has_or_had_url: "https://www.rijksmuseum.nl/nl/rijksstudio"
|
||||
has_or_had_type: collection_access
|
||||
```
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`class_uri`): `schema:WebPage` - Schema.org WebPage
|
||||
- **Close**: `dcterms:BibliographicResource` - DC bibliographic resource
|
||||
|
||||
**Use Cases**:
|
||||
- Collection access pages (digital collection browse interfaces)
|
||||
- Institutional portals (main website landing pages)
|
||||
- API documentation pages
|
||||
- Europeana collection pages
|
||||
|
||||
exact_mappings:
|
||||
- schema:WebPage
|
||||
|
||||
close_mappings:
|
||||
- dcterms:BibliographicResource
|
||||
|
||||
slots:
|
||||
- has_or_had_url
|
||||
- has_or_had_label
|
||||
- has_or_had_description
|
||||
|
||||
slot_usage:
|
||||
has_or_had_url:
|
||||
description: |
|
||||
The URL(s) of this web page.
|
||||
May include primary URL and alternate URLs (e.g., different languages).
|
||||
range: URL
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: true
|
||||
has_or_had_label:
|
||||
description: |
|
||||
The name/title of this web page.
|
||||
range: Label
|
||||
inlined: true
|
||||
required: false
|
||||
has_or_had_description:
|
||||
description: |
|
||||
Description of the web page content.
|
||||
range: Description
|
||||
inlined: true
|
||||
required: false
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.30"
|
||||
specificity_rationale: "Moderately generic - applies to web-accessible heritage resources."
|
||||
template_specificity: '{"archive_search": 0.35, "museum_search": 0.35, "library_search": 0.35, "collection_discovery": 0.60, "person_research": 0.15, "location_browse": 0.20, "identifier_lookup": 0.25, "organizational_change": 0.10, "digital_platform": 0.65, "general_heritage": 0.30}'
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_label:
|
||||
label_value: "Rijksstudio Collections"
|
||||
has_or_had_url:
|
||||
- has_or_had_url: "https://www.rijksmuseum.nl/nl/rijksstudio"
|
||||
has_or_had_type: collection_access
|
||||
description: Rijksstudio collection access page
|
||||
|
||||
- value:
|
||||
has_or_had_label:
|
||||
label_value: "Europeana Collections Browse"
|
||||
has_or_had_url:
|
||||
- has_or_had_url: "https://www.europeana.eu/en/collections"
|
||||
has_or_had_type: collection_access
|
||||
description: Europeana collections browse page
|
||||
|
||||
comments:
|
||||
- "Created per slot_fixes.yaml migration (2026-01-22)"
|
||||
- "RULE 53: Replaces collection_web_address URI slot with structured model"
|
||||
|
|
@ -17,6 +17,8 @@ imports:
|
|||
- linkml:types
|
||||
- ./Tag # for tag migration per Rule 53/56 (2026-01-16)
|
||||
- ./Quantity # for comment_count migration per Rule 53 (2026-01-18)
|
||||
- ./SourceCommentCount # for comments_fetched migration per Rule 53 (2026-01-22)
|
||||
- ./Timestamp # for comments_fetched migration per Rule 53 (2026-01-22)
|
||||
- ./YoutubeComment
|
||||
- ./YoutubeTranscript
|
||||
default_range: string
|
||||
|
|
@ -104,9 +106,22 @@ classes:
|
|||
multivalued: true
|
||||
inlined_as_list: true
|
||||
description: Comments on the video
|
||||
comments_fetched:
|
||||
range: integer
|
||||
description: Number of comments fetched
|
||||
# MIGRATED 2026-01-22: comments_fetched → was_fetched_at + is_or_was_part_of_total + SourceCommentCount (Rule 53)
|
||||
# comments_fetched:
|
||||
# range: integer
|
||||
# description: Number of comments fetched
|
||||
was_fetched_at:
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
description: |
|
||||
MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Timestamp when comments were fetched from YouTube API.
|
||||
is_or_was_part_of_total:
|
||||
range: SourceCommentCount
|
||||
inlined: true
|
||||
description: |
|
||||
MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22).
|
||||
Structured count metadata showing fetched vs total comments.
|
||||
transcript:
|
||||
range: YoutubeTranscript
|
||||
description: Video transcript data
|
||||
|
|
|
|||
|
|
@ -0,0 +1,86 @@
|
|||
# collects_or_collected slot
|
||||
# Generic slot for collecting relationships following RiC-O temporal naming convention.
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-19):
|
||||
# Created as part of collection_purpose migration per slot_fixes.yaml (Rule 53).
|
||||
#
|
||||
# Semantic intent: Links an entity to what it collects or collected.
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/collects_or_collected
|
||||
name: collects_or_collected_slot
|
||||
title: Collects Or Collected Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
collects_or_collected:
|
||||
slot_uri: rico:hasOrHadHolder
|
||||
description: >-
|
||||
Links a custodian to what it collects or collected.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "collects_or_collected" naming follows RiC-O convention indicating that
|
||||
collecting activities may change over time:
|
||||
- Active collecting programs
|
||||
- Historical collecting focus that has changed
|
||||
- Materials previously collected but now deaccessioned
|
||||
|
||||
**USE CASES**:
|
||||
- Commercial organizations: what they collect for heritage purposes
|
||||
- Museums: their collecting scope and purpose
|
||||
- Archives: types of records they acquire
|
||||
|
||||
**REPLACES**:
|
||||
- `collection_purpose` (why commercial organization maintains collections)
|
||||
|
||||
**EXAMPLE**:
|
||||
```yaml
|
||||
collects_or_collected:
|
||||
- collection_type: "brand_heritage"
|
||||
has_or_had_rationale:
|
||||
rationale_text: "Brand heritage communication"
|
||||
rationale_category: "marketing"
|
||||
```
|
||||
|
||||
range: uriorcurie
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
exact_mappings:
|
||||
- rico:hasOrHadHolder
|
||||
|
||||
close_mappings:
|
||||
- crm:P109_has_current_or_former_curator
|
||||
- schema:owns
|
||||
|
||||
related_mappings:
|
||||
- crm:P50_has_current_keeper
|
||||
|
||||
annotations:
|
||||
custodian_types: '["C", "M", "A", "L"]'
|
||||
custodian_types_rationale: >-
|
||||
Primarily for Corporations (C), Museums (M), Archives (A), and Libraries (L)
|
||||
that actively collect materials.
|
||||
custodian_types_primary: "C"
|
||||
specificity_score: "0.45"
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - applies to custodians with collecting programs.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-19)
|
||||
- Part of collection_purpose migration
|
||||
- Range is uriorcurie to allow class narrowing via slot_usage
|
||||
|
||||
see_also:
|
||||
- https://www.ica.org/standards/RiC/ontology#hasOrHadHolder
|
||||
|
|
@ -1,22 +1,59 @@
|
|||
id: https://nde.nl/ontology/hc/slot/has_or_had_language
|
||||
name: has_or_had_language_slot
|
||||
title: Languages Slot
|
||||
# Updated 2026-01-22: Extended to support both LanguageProficiency and Language classes
|
||||
# Enables migration of language-specific text slots (fr, de, en, nl) per slot_fixes.yaml
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dct: http://purl.org/dc/terms/
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../classes/LanguageProficiency
|
||||
- ../classes/Language
|
||||
default_prefix: hc
|
||||
slots:
|
||||
has_or_had_language:
|
||||
description: 'Parsed language proficiency entries.
|
||||
|
||||
Array of LanguageProficiency objects with language name, code, level.
|
||||
|
||||
Use this when storing processed/structured data.
|
||||
|
||||
'
|
||||
range: LanguageProficiency
|
||||
description: |
|
||||
Language information for an entity.
|
||||
|
||||
**Use Cases**:
|
||||
1. **Language Proficiency**: When tracking language skills (e.g., person profiles)
|
||||
- Use LanguageProficiency class with language_name, code, and level
|
||||
2. **Language-Tagged Text**: When storing multilingual text content
|
||||
- Use Language class with iso_639_1, language_name, and text_content
|
||||
|
||||
**Migration Support**:
|
||||
This slot replaces language-specific text slots (fr, de, en, nl) with a
|
||||
unified pattern per slot_fixes.yaml revisions:
|
||||
- `fr` (French text) → has_or_had_language with Language(iso_639_1="fr")
|
||||
- `de` (German text) → has_or_had_language with Language(iso_639_1="de")
|
||||
- `en` (English text) → has_or_had_language with Language(iso_639_1="en")
|
||||
- `nl` (Dutch text) → has_or_had_language with Language(iso_639_1="nl")
|
||||
|
||||
**Example - Language-Tagged Text**:
|
||||
```yaml
|
||||
has_or_had_language:
|
||||
- iso_639_1: "fr"
|
||||
language_name: "French"
|
||||
text_content: "archives universitaires"
|
||||
- iso_639_1: "en"
|
||||
language_name: "English"
|
||||
text_content: "university archives"
|
||||
```
|
||||
|
||||
**Example - Language Proficiency**:
|
||||
```yaml
|
||||
has_or_had_language:
|
||||
- language_name: "French"
|
||||
language_code: "fr"
|
||||
proficiency_level: "fluent"
|
||||
```
|
||||
range: Any
|
||||
any_of:
|
||||
- range: LanguageProficiency
|
||||
- range: Language
|
||||
multivalued: true
|
||||
slot_uri: hc:languages
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
slot_uri: dct:language
|
||||
|
|
|
|||
|
|
@ -0,0 +1,79 @@
|
|||
# has_or_had_objective slot
|
||||
# RiC-O temporal naming convention (Rule 39)
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: commercial_operation
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 39
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_objective
|
||||
name: has_or_had_objective
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
org: http://www.w3.org/ns/org#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_objective:
|
||||
slot_uri: org:purpose
|
||||
description: |
|
||||
The objective or purpose of an organization's operations.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Links an organization to its operational objectives (profit-making,
|
||||
nonprofit, educational, cultural preservation, etc.).
|
||||
|
||||
**RiC-O NAMING** (Rule 39):
|
||||
|
||||
Uses "has_or_had_" prefix indicating temporal relationship -
|
||||
the objective may change over time.
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
| Ontology | Property | Usage |
|
||||
|----------|----------|-------|
|
||||
| **W3C Org** | `org:purpose` | Organizational purpose |
|
||||
| **Schema.org** | `schema:businessFunction` | Business function |
|
||||
| **SKOS** | `skos:scopeNote` | Scope description |
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
|
||||
Created from migration of `commercial_operation` slot per slot_fixes.yaml.
|
||||
Replaces boolean with structured Profit class for richer modeling.
|
||||
|
||||
range: Profit
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- org:purpose
|
||||
|
||||
close_mappings:
|
||||
- schema:businessFunction
|
||||
|
||||
examples:
|
||||
- value:
|
||||
objective_type: "for-profit"
|
||||
is_commercial: true
|
||||
description: Commercial gallery selling artworks
|
||||
- value:
|
||||
objective_type: "nonprofit"
|
||||
is_commercial: false
|
||||
description: Kunsthalle or non-profit exhibition space
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commercial_operation migration (Rule 53)
|
||||
- Uses RiC-O temporal naming convention (Rule 39)
|
||||
- Links organization to operational objectives
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian type may have operational objectives.
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
# has_or_had_percentage slot
|
||||
# RiC-O temporal naming convention (Rule 39)
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: commission_rate
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 39
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_percentage
|
||||
name: has_or_had_percentage
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_percentage:
|
||||
slot_uri: schema:valueReference
|
||||
description: |
|
||||
A percentage value associated with an entity.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Links entities to structured percentage representations.
|
||||
Used for commission rates, discounts, completion percentages, etc.
|
||||
|
||||
**RiC-O NAMING** (Rule 39):
|
||||
|
||||
Uses "has_or_had_" prefix indicating temporal relationship -
|
||||
percentages may change over time.
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
|
||||
Created from migration of `commission_rate` slot per slot_fixes.yaml.
|
||||
Provides structured percentage via Percentage class.
|
||||
|
||||
range: Percentage
|
||||
inlined: true
|
||||
|
||||
close_mappings:
|
||||
- schema:valueReference
|
||||
|
||||
examples:
|
||||
- value:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
description: 50 percent
|
||||
- value:
|
||||
percentage_value: 15
|
||||
percentage_min: 10
|
||||
percentage_max: 20
|
||||
percentage_display: "10-20%"
|
||||
description: Variable percentage range
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commission_rate migration (Rule 53)
|
||||
- Uses RiC-O temporal naming convention (Rule 39)
|
||||
- Links entities to percentage values
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - percentages apply across many contexts.
|
||||
84
schemas/20251121/linkml/modules/slots/has_or_had_place.yaml
Normal file
84
schemas/20251121/linkml/modules/slots/has_or_had_place.yaml
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
# has_or_had_place slot
|
||||
# Generic slot for place relationships following RiC-O temporal naming convention.
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-19):
|
||||
# Created as part of collection_location migration per slot_fixes.yaml (Rule 53).
|
||||
#
|
||||
# Semantic intent: Links an entity to its associated place (collection site, event venue, etc.)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_place
|
||||
name: has_or_had_place_slot
|
||||
title: Has Or Had Place Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_place:
|
||||
slot_uri: schema:location
|
||||
description: >-
|
||||
Links an entity to its associated place.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "has_or_had" naming follows RiC-O convention indicating that
|
||||
place associations may change over time:
|
||||
- Collection events occur at specific locations
|
||||
- Institutions may relocate
|
||||
- Historical associations preserved
|
||||
|
||||
**USE CASES**:
|
||||
- Collection events: where specimen was collected
|
||||
- Events: where event took place
|
||||
- Activities: location of activity
|
||||
|
||||
**REPLACES**:
|
||||
- `collection_location` (structured location for specimens)
|
||||
|
||||
**EXAMPLE**:
|
||||
```yaml
|
||||
has_or_had_place:
|
||||
place_name: "Mauritius"
|
||||
country: "MU"
|
||||
latitude: -20.2
|
||||
longitude: 57.5
|
||||
```
|
||||
|
||||
range: uriorcurie
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- schema:location
|
||||
|
||||
close_mappings:
|
||||
- prov:atLocation
|
||||
- crm:P7_took_place_at
|
||||
|
||||
related_mappings:
|
||||
- crm:P161_has_spatial_projection
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Generic place relationship applicable across all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: "0.20"
|
||||
specificity_rationale: >-
|
||||
Very low specificity - universal place association concept.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-19)
|
||||
- Part of collection_location migration
|
||||
- Range is uriorcurie to allow class narrowing via slot_usage
|
||||
|
||||
see_also:
|
||||
- http://schema.org/location
|
||||
- https://dwc.tdwg.org/terms/#dwc:locality
|
||||
79
schemas/20251121/linkml/modules/slots/has_or_had_reply.yaml
Normal file
79
schemas/20251121/linkml/modules/slots/has_or_had_reply.yaml
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
# has_or_had_reply slot
|
||||
# RiC-O temporal naming convention (Rule 39)
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: comment_reply_count
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 39
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_reply
|
||||
name: has_or_had_reply
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
as: https://www.w3.org/ns/activitystreams#
|
||||
sioc: http://rdfs.org/sioc/ns#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_reply:
|
||||
slot_uri: sioc:has_reply
|
||||
description: |
|
||||
Reply or response associated with content (comments, posts, messages).
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Captures reply/response relationships and metrics for threaded discussions
|
||||
using CommentReply class for structured representation.
|
||||
|
||||
**RiC-O NAMING** (Rule 39):
|
||||
|
||||
Uses "has_or_had_" prefix to indicate temporal relationship - the content
|
||||
has replies currently or had replies in the past (e.g., deleted replies).
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
| Ontology | Property | Usage |
|
||||
|----------|----------|-------|
|
||||
| **SIOC** | `sioc:has_reply` | Discussion reply relationship |
|
||||
| **Activity Streams** | `as:inReplyTo` (inverse) | Social media replies |
|
||||
| **Schema.org** | `schema:comment` | Generic comment relationship |
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
|
||||
Created from migration of `comment_reply_count` slot per slot_fixes.yaml.
|
||||
Replaces simple integer counts with structured reply data.
|
||||
|
||||
range: uriorcurie
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- sioc:has_reply
|
||||
|
||||
close_mappings:
|
||||
- schema:comment
|
||||
|
||||
related_mappings:
|
||||
- as:inReplyTo
|
||||
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/reply/comment-123-replies
|
||||
description: Reply collection for a comment
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from comment_reply_count migration (Rule 53)
|
||||
- Uses RiC-O temporal naming convention (Rule 39)
|
||||
- Supports structured reply metrics
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian with discussion content may track replies.
|
||||
specificity_score: 0.55
|
||||
specificity_rationale: >-
|
||||
Moderately general - applies to any threaded discussion context.
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
# has_or_had_significance slot
|
||||
# Created per slot_fixes.yaml revision for: community_significance
|
||||
#
|
||||
# MIGRATION NOTE (2026-01-22): Created as part of community_significance migration per Rule 53.
|
||||
# Generic slot for significance/importance relationships following RiC-O naming convention.
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_significance
|
||||
name: has_or_had_significance_slot
|
||||
title: Has Or Had Significance Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_significance:
|
||||
slot_uri: crm:P17i_was_motivation_for
|
||||
description: |
|
||||
Significance or importance of an entity to a community, culture, or domain.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "hasOrHad" naming follows RiC-O convention indicating this relationship
|
||||
may be historical - significance can change over time.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `crm:P17i_was_motivation_for` - CIDOC-CRM motivation
|
||||
- **Close**: `dcterms:description` - Dublin Core description
|
||||
- **Related**: `schema:significance` - Schema.org (informal)
|
||||
|
||||
**Use Cases**:
|
||||
- Cultural heritage significance
|
||||
- Community importance
|
||||
- Historical relevance
|
||||
- Economic/social impact
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
has_or_had_significance:
|
||||
- has_or_had_type: CommunitySignificance
|
||||
has_or_had_description: "UNESCO-recognized Trappist tradition, Belgian cultural identity"
|
||||
```
|
||||
|
||||
range: uriorcurie # Broadened per Rule 55 to allow class-valued ranges
|
||||
multivalued: true
|
||||
required: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:P17i_was_motivation_for
|
||||
|
||||
close_mappings:
|
||||
- dcterms:description
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Significance applicable to all heritage types.
|
||||
custodian_types_primary: T
|
||||
specificity_score: 0.40
|
||||
specificity_rationale: >-
|
||||
Broadly applicable - significance is fundamental to heritage justification
|
||||
across all custodian types.
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "hasOrHad" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
migration_info:
|
||||
source_slot: community_significance
|
||||
migration_date: "2026-01-22"
|
||||
rule: "Rule 53"
|
||||
|
||||
comments:
|
||||
- "Generic significance slot for heritage importance"
|
||||
- "Range: uriorcurie - allows Significance class via slot_usage"
|
||||
- "RiC-O naming: hasOrHad indicates potentially historical relationship"
|
||||
- "Created 2026-01-22 from community_significance migration (Rule 53)"
|
||||
|
||||
examples:
|
||||
- value: "UNESCO-recognized cultural heritage"
|
||||
description: Cultural significance example
|
||||
- value: "Regional economic importance"
|
||||
description: Economic significance example
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
# has_or_had_web_page slot
|
||||
# Web page association following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-22
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migration per slot_fixes.yaml:
|
||||
# - collection_web_address → has_or_had_web_page + WebPage
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_web_page
|
||||
name: has_or_had_web_page_slot
|
||||
title: Has Or Had Web Page Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
has_or_had_web_page:
|
||||
slot_uri: schema:hasPart
|
||||
description: |
|
||||
Web pages associated with this entity.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "hasOrHad" naming follows RiC-O convention indicating this
|
||||
web page association may be historical - websites change over time.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `schema:hasPart` - Schema.org part relationship
|
||||
- **Close**: `foaf:page` - FOAF document page
|
||||
- **Close**: `schema:url` - Schema.org URL (for simple cases)
|
||||
|
||||
**Use Cases**:
|
||||
- Collection browse pages (e.g., Rijksstudio)
|
||||
- Search interfaces
|
||||
- Catalog pages
|
||||
- Finding aid pages
|
||||
|
||||
**Range**: WebPage class (structured web page with URL and metadata)
|
||||
|
||||
**Cardinality**:
|
||||
Multivalued - entities may have multiple web pages.
|
||||
|
||||
range: uriorcurie # Broadened per Rule 55 - allows both literals and class instances
|
||||
required: false
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
exact_mappings: []
|
||||
|
||||
close_mappings:
|
||||
- foaf:page
|
||||
- schema:url
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "hasOrHad" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "collection_web_address"
|
||||
migration_date: "2026-01-22"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Web pages apply to all heritage custodian types.
|
||||
specificity_score: 0.20
|
||||
specificity_rationale: Generic web page slot applicable across most contexts.
|
||||
|
||||
comments:
|
||||
- "Generic web page association slot"
|
||||
- "Temporal: Web pages may change over time"
|
||||
- "RiC-O naming: hasOrHad indicates potentially historical"
|
||||
- "Replaces collection_web_address per slot_fixes.yaml (2026-01-22)"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
page_name: "Digital Collections"
|
||||
has_or_had_url:
|
||||
- has_or_had_url: "https://www.rijksmuseum.nl/nl/rijksstudio"
|
||||
has_or_had_type: collection_browse
|
||||
description: "Rijksstudio collections browse page"
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
# is_or_was_acquired_by slot
|
||||
# Acquisition relationship following RiC-O naming pattern
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: collector
|
||||
# Creation date: 2026-01-22
|
||||
#
|
||||
# Rule 53 (No Bespoke Slots): collector → is_or_was_acquired_by + Agent
|
||||
# Rule 39 (RiC-O Style): isOrWas temporal naming convention
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_acquired_by
|
||||
name: is_or_was_acquired_by_slot
|
||||
title: Is Or Was Acquired By Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
dwc: http://rs.tdwg.org/dwc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
is_or_was_acquired_by:
|
||||
slot_uri: prov:wasAttributedTo
|
||||
description: |
|
||||
The agent (person or organization) who acquired or collected this entity.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "isOrWas" naming follows RiC-O convention indicating this
|
||||
relationship may be historical - acquisition/collection is a past event.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `prov:wasAttributedTo` - PROV-O attribution
|
||||
- **Close**: `dwc:recordedBy` - Darwin Core collector (for specimens)
|
||||
- **Close**: `schema:acquiredFrom` - Schema.org acquisition source
|
||||
|
||||
**Use Cases**:
|
||||
- Biological specimen collectors (field collection)
|
||||
- Artwork acquisition (purchase, donation)
|
||||
- Archive accessioning (donor, transferring agency)
|
||||
|
||||
**Range**: `uriorcurie` (Rule 55 - broaden range for class-level narrowing to Agent)
|
||||
|
||||
**Migrated From**: collector (2026-01-22)
|
||||
|
||||
range: uriorcurie
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
exact_mappings:
|
||||
- prov:wasAttributedTo
|
||||
|
||||
close_mappings:
|
||||
- dwc:recordedBy
|
||||
- schema:acquiredFrom
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "isOrWas" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "collector"
|
||||
migration_date: "2026-01-22"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Acquisition applies to all heritage custodian types.
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Moderately specific - applies to acquisition contexts.
|
||||
|
||||
comments:
|
||||
- "Generic acquisition/collection agent slot"
|
||||
- "Temporal: acquisition is a historical event"
|
||||
- "RiC-O naming: isOrWas indicates past relationship"
|
||||
- "Replaces collector per slot_fixes.yaml (2026-01-22)"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
agent_name: "Dr. Jane Smith"
|
||||
agent_type: person
|
||||
description: "Specimen collected by Dr. Jane Smith"
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
# is_or_was_appreciated slot
|
||||
# RiC-O temporal naming convention (Rule 39)
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: comment_like_count
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 39
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_appreciated
|
||||
name: is_or_was_appreciated
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
as: https://www.w3.org/ns/activitystreams#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
is_or_was_appreciated:
|
||||
slot_uri: as:Like
|
||||
description: |
|
||||
Appreciation or engagement event associated with content.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Captures appreciation metrics (likes, favorites, upvotes) for digital content
|
||||
in a structured way using AppreciationEvent class.
|
||||
|
||||
**RiC-O NAMING** (Rule 39):
|
||||
|
||||
Uses "is_or_was_" prefix to indicate temporal relationship - the content
|
||||
is currently appreciated or was appreciated in the past.
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
| Ontology | Property | Usage |
|
||||
|----------|----------|-------|
|
||||
| **Activity Streams** | `as:Like` | Social appreciation activity |
|
||||
| **Schema.org** | `schema:interactionStatistic` | Engagement metrics |
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
|
||||
Created from migration of `comment_like_count` slot per slot_fixes.yaml.
|
||||
Replaces simple integer counts with structured appreciation events.
|
||||
|
||||
range: AppreciationEvent
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
exact_mappings:
|
||||
- as:Like
|
||||
|
||||
close_mappings:
|
||||
- schema:interactionStatistic
|
||||
|
||||
examples:
|
||||
- value:
|
||||
appreciation_type: like
|
||||
has_or_had_quantity:
|
||||
numeric_value: 42
|
||||
has_or_had_unit:
|
||||
unit_label: "likes"
|
||||
description: 42 likes on content
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from comment_like_count migration (Rule 53)
|
||||
- Uses RiC-O temporal naming convention (Rule 39)
|
||||
- Supports structured appreciation metrics
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian with digital content may track appreciation.
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
# is_or_was_founded_through - Founding event relationship slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: founded_year, founding_date
|
||||
# Creation date: 2026-01-22
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (slot_fixes revision)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_founded_through
|
||||
name: is_or_was_founded_through
|
||||
title: Is or Was Founded Through
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
is_or_was_founded_through:
|
||||
slot_uri: hc:isOrWasFoundedThrough
|
||||
description: |
|
||||
Links an organization or institution to its founding event.
|
||||
|
||||
**USAGE**:
|
||||
Represents the founding/establishment event for:
|
||||
- Heritage custodians (museums, archives, libraries)
|
||||
- Standards organizations
|
||||
- Restaurants/venues with historical significance
|
||||
- Any organization with a founding date
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- **Primary** (`slot_uri`): `hc:isOrWasFoundedThrough` - Heritage Custodian property
|
||||
- **Close**: `schema:foundingDate` - Schema.org founding date (simpler)
|
||||
- **Close**: `prov:wasGeneratedBy` - PROV-O generation event
|
||||
- **Related**: `crm:P92i_was_brought_into_existence_by` - CIDOC-CRM existence
|
||||
|
||||
**TEMPORAL PATTERN**:
|
||||
The FoundingEvent contains a `temporal_extent` (TimeSpan) with:
|
||||
- `begin_of_the_begin`: Earliest possible founding date
|
||||
- `end_of_the_begin`: Latest possible founding date (for uncertain dates)
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
Replaces simple `founded_year` (integer) and `founding_date` (string)
|
||||
with structured FoundingEvent for richer temporal and contextual data.
|
||||
|
||||
range: FoundingEvent
|
||||
multivalued: false
|
||||
inlined: true
|
||||
|
||||
close_mappings:
|
||||
- schema:foundingDate
|
||||
- prov:wasGeneratedBy
|
||||
|
||||
related_mappings:
|
||||
- crm:P92i_was_brought_into_existence_by
|
||||
|
||||
examples:
|
||||
- value:
|
||||
founding_event_id: "https://nde.nl/ontology/hc/event/founding/rijksmuseum-1800"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1800-01-01"
|
||||
end_of_the_begin: "1800-12-31"
|
||||
founding_description: "Founded by King Louis Napoleon"
|
||||
description: Museum founding event with known year
|
||||
- value:
|
||||
founding_event_id: "https://nde.nl/ontology/hc/event/founding/historic-restaurant-1902"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "1902-01-01"
|
||||
end_of_the_end: "1902-12-31"
|
||||
founding_description: "Established as family restaurant"
|
||||
description: Restaurant founding with known year
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Founding events applicable to all custodian types."
|
||||
67
schemas/20251121/linkml/modules/slots/is_or_was_part_of.yaml
Normal file
67
schemas/20251121/linkml/modules/slots/is_or_was_part_of.yaml
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
# is_or_was_part_of - Part-whole relationship slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: founding_date_diocese
|
||||
# Creation date: 2026-01-22
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (slot_fixes revision)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_part_of
|
||||
name: is_or_was_part_of
|
||||
title: Is or Was Part Of
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
is_or_was_part_of:
|
||||
slot_uri: rico:isOrWasPartOf
|
||||
description: |
|
||||
Indicates that this entity is or was part of another entity.
|
||||
|
||||
**USAGE**:
|
||||
Represents part-whole relationships for:
|
||||
- Archives as part of dioceses (DiocesanArchive → Diocese)
|
||||
- Collections as part of institutions
|
||||
- Organizational units as part of parent organizations
|
||||
- Geographic regions as part of larger regions
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- **Primary** (`slot_uri`): `rico:isOrWasPartOf` - RiC-O part-of relationship
|
||||
- **Close**: `schema:isPartOf` - Schema.org containment
|
||||
- **Close**: `dcterms:isPartOf` - Dublin Core part-of
|
||||
|
||||
**TEMPORAL SEMANTICS**:
|
||||
The "is_or_was" pattern (RiC-O convention) indicates that:
|
||||
- The relationship may be current ("is part of")
|
||||
- The relationship may be historical ("was part of")
|
||||
- Temporal extent can be captured via associated TimeSpan
|
||||
|
||||
**INVERSE**: `has_or_had_part`
|
||||
|
||||
range: uriorcurie
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- rico:isOrWasPartOf
|
||||
|
||||
close_mappings:
|
||||
- schema:isPartOf
|
||||
- dcterms:isPartOf
|
||||
|
||||
examples:
|
||||
- value: "hc:diocese/utrecht"
|
||||
description: Archive is part of Diocese of Utrecht
|
||||
- value: "hc:organization/ministry-ocw"
|
||||
description: Department is part of ministry
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Part-whole relationships applicable to all custodian types."
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
# is_or_was_part_of_total slot
|
||||
# RiC-O temporal naming convention (Rule 39)
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: comments_fetched
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 39
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_part_of_total
|
||||
name: is_or_was_part_of_total
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
is_or_was_part_of_total:
|
||||
slot_uri: schema:partOfTotalCount
|
||||
description: |
|
||||
Indicates a partial count as part of a total.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Links a fetched/partial count to the total count at the source.
|
||||
Used for tracking partial data retrieval (e.g., fetched 100 of 500 comments).
|
||||
|
||||
**RiC-O NAMING** (Rule 39):
|
||||
|
||||
Uses "is_or_was_" prefix indicating temporal relationship -
|
||||
the partial count is or was part of a total.
|
||||
|
||||
**USE CASES**:
|
||||
|
||||
- Comments: 100 fetched out of 500 total
|
||||
- Search results: 25 returned out of 1000 matches
|
||||
- Paginated data: page 1 of 50 pages
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
|
||||
Created from migration of `comments_fetched` slot per slot_fixes.yaml.
|
||||
Works with SourceCommentCount class for structured count metadata.
|
||||
|
||||
range: SourceCommentCount
|
||||
inlined: true
|
||||
|
||||
close_mappings:
|
||||
- schema:partOfTotalCount
|
||||
|
||||
examples:
|
||||
- value:
|
||||
fetched_count: 100
|
||||
total_count: 500
|
||||
fetch_complete: false
|
||||
description: 100 of 500 comments fetched
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from comments_fetched migration (Rule 53)
|
||||
- Uses RiC-O temporal naming convention (Rule 39)
|
||||
- Tracks partial vs total counts for paginated data
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian fetching paginated data may track partial counts.
|
||||
|
|
@ -83,36 +83,26 @@
|
|||
"cms_product_name.yaml",
|
||||
"collection_description.yaml",
|
||||
"collection_id.yaml",
|
||||
"collection_locality_text.yaml",
|
||||
"collection_location.yaml",
|
||||
"collection_name.yaml",
|
||||
"collection_purpose.yaml",
|
||||
"collection_scope.yaml",
|
||||
|
||||
"collection_type.yaml",
|
||||
"collection_type_description.yaml",
|
||||
"collection_type_id.yaml",
|
||||
"collection_type_name.yaml",
|
||||
"collection_type_ref.yaml",
|
||||
"collection_web_address.yaml",
|
||||
"collector.yaml",
|
||||
"colonial.yaml",
|
||||
"collects_or_collected.yaml",
|
||||
"comment_author.yaml",
|
||||
"comment_author_channel_id.yaml",
|
||||
"comment_count.yaml",
|
||||
"comment_id.yaml",
|
||||
"comment_like_count.yaml",
|
||||
"comment_published_at.yaml",
|
||||
"comment_reply_count.yaml",
|
||||
"comment_text.yaml",
|
||||
"comment_updated_at.yaml",
|
||||
"comments_fetched.yaml",
|
||||
"__ARCHIVED_20260122__comments_fetched.yaml",
|
||||
"commercial_custodian_subtype.yaml",
|
||||
"commercial_operation.yaml",
|
||||
"commission_rate.yaml",
|
||||
"common_name.yaml",
|
||||
"common_name_language.yaml",
|
||||
"common_variant.yaml",
|
||||
"__ARCHIVED_20260122__commercial_operation.yaml",
|
||||
"__ARCHIVED_20260122__commission_rate.yaml",
|
||||
"__ARCHIVED_20260122__common_name.yaml",
|
||||
"__ARCHIVED_20260122__common_name_language.yaml",
|
||||
"__ARCHIVED_20260122__common_variant.yaml",
|
||||
"community_significance.yaml",
|
||||
"complex_name.yaml",
|
||||
"compliance_status.yaml",
|
||||
|
|
@ -283,6 +273,7 @@
|
|||
"derived_from_entity.yaml",
|
||||
"derived_from_observation.yaml",
|
||||
"derives_or_derived_from.yaml",
|
||||
"describes_or_described.yaml",
|
||||
"description.yaml",
|
||||
"description_text.yaml",
|
||||
"description_type.yaml",
|
||||
|
|
@ -508,12 +499,6 @@
|
|||
"follower_count.yaml",
|
||||
"following_count.yaml",
|
||||
"footnote.yaml",
|
||||
"format.yaml",
|
||||
"founded_year.yaml",
|
||||
"founding_date.yaml",
|
||||
"founding_date_diocese.yaml",
|
||||
"fr.yaml",
|
||||
"frame_rate.yaml",
|
||||
"frame_sample_rate.yaml",
|
||||
"from_location.yaml",
|
||||
"full_extracted_text.yaml",
|
||||
|
|
@ -853,6 +838,7 @@
|
|||
"has_or_had_net_asset.yaml",
|
||||
"has_or_had_note.yaml",
|
||||
"has_or_had_notes.yaml",
|
||||
"has_or_had_objective.yaml",
|
||||
"has_or_had_open_access_endpoint.yaml",
|
||||
"has_or_had_opening_hour.yaml",
|
||||
"has_or_had_operate.yaml",
|
||||
|
|
@ -865,7 +851,9 @@
|
|||
"has_or_had_page_section.yaml",
|
||||
"has_or_had_participated_in_event.yaml",
|
||||
"has_or_had_participated_in_project.yaml",
|
||||
"has_or_had_percentage.yaml",
|
||||
"has_or_had_period.yaml",
|
||||
"has_or_had_place.yaml",
|
||||
"has_or_had_place_of_birth.yaml",
|
||||
"has_or_had_policy.yaml",
|
||||
"has_or_had_portal_data_source.yaml",
|
||||
|
|
@ -893,6 +881,7 @@
|
|||
"has_or_had_related_exhibition.yaml",
|
||||
"has_or_had_related_guide.yaml",
|
||||
"has_or_had_related_heritage_form.yaml",
|
||||
"has_or_had_reply.yaml",
|
||||
"has_or_had_requirement.yaml",
|
||||
"has_or_had_requirement_status.yaml",
|
||||
"has_or_had_research_attempt.yaml",
|
||||
|
|
@ -957,6 +946,7 @@
|
|||
"has_or_had_verification_status.yaml",
|
||||
"has_or_had_version.yaml",
|
||||
"has_or_had_web_claim.yaml",
|
||||
"has_or_had_web_page.yaml",
|
||||
"has_or_had_writing_system.yaml",
|
||||
"has_outdoor_seating.yaml",
|
||||
"has_person_name.yaml",
|
||||
|
|
@ -1095,6 +1085,7 @@
|
|||
"is_open_to_public.yaml",
|
||||
"is_or_was_about_digital_presence.yaml",
|
||||
"is_or_was_access_restricted.yaml",
|
||||
"is_or_was_acquired_by.yaml",
|
||||
"is_or_was_active_since.yaml",
|
||||
"is_or_was_affected_by_event.yaml",
|
||||
"is_or_was_affiliated_with.yaml",
|
||||
|
|
@ -1105,6 +1096,7 @@
|
|||
"is_or_was_also_allocation_agency.yaml",
|
||||
"is_or_was_alternative_form_of.yaml",
|
||||
"is_or_was_appended_with.yaml",
|
||||
"is_or_was_appreciated.yaml",
|
||||
"is_or_was_approved_by.yaml",
|
||||
"is_or_was_approximate.yaml",
|
||||
"is_or_was_archive_department_of.yaml",
|
||||
|
|
@ -1121,6 +1113,8 @@
|
|||
"is_or_was_encompassed_by.yaml",
|
||||
"is_or_was_equivalent_to.yaml",
|
||||
"is_or_was_extracted_using.yaml",
|
||||
"is_or_was_founded_through.yaml",
|
||||
"is_or_was_part_of.yaml",
|
||||
"is_or_was_generated_by.yaml",
|
||||
"is_or_was_indexed.yaml",
|
||||
"is_or_was_instance_of.yaml",
|
||||
|
|
@ -1130,6 +1124,7 @@
|
|||
"is_or_was_member_of.yaml",
|
||||
"is_or_was_part_of_archive_series.yaml",
|
||||
"is_or_was_platform_of.yaml",
|
||||
"is_or_was_part_of_total.yaml",
|
||||
"is_or_was_related_to.yaml",
|
||||
"is_or_was_required.yaml",
|
||||
"is_or_was_responsible_for.yaml",
|
||||
|
|
@ -1918,6 +1913,7 @@
|
|||
"standards_compliance.yaml",
|
||||
"start.yaml",
|
||||
"start_date.yaml",
|
||||
"start_of_the_start.yaml",
|
||||
"start_seconds.yaml",
|
||||
"start_time.yaml",
|
||||
"started_at_time.yaml",
|
||||
|
|
@ -1938,6 +1934,7 @@
|
|||
"supersede_condition.yaml",
|
||||
"supersede_name.yaml",
|
||||
"supersedes_or_superseded.yaml",
|
||||
"takes_or_took_comission.yaml",
|
||||
"takes_or_took_place_at.yaml",
|
||||
"temperature_target.yaml",
|
||||
"template_specificity.yaml",
|
||||
|
|
@ -1952,6 +1949,7 @@
|
|||
"was_acquired_through.yaml",
|
||||
"was_derived_from.yaml",
|
||||
"was_generated_by.yaml",
|
||||
"was_fetched_at.yaml",
|
||||
"was_last_updated_at.yaml",
|
||||
"warrants_or_warranted.yaml",
|
||||
"wikidata_entity.yaml",
|
||||
|
|
|
|||
|
|
@ -10032,6 +10032,22 @@ fixes:
|
|||
type: slot
|
||||
- label: Locality
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-19: collection_locality_text → describes_or_described + Locality
|
||||
|
||||
**Files Created**:
|
||||
- describes_or_described.yaml: Generic descriptive relationship slot (dcterms:description)
|
||||
- Locality.yaml: Structured locality class with dwc:verbatimLocality alignment
|
||||
|
||||
**Files Modified**:
|
||||
- BiologicalObject.yaml: Migrated import, slot list, slot_usage with Locality range
|
||||
|
||||
**Already Existed**:
|
||||
- has_or_had_provenance.yaml and Provenance.yaml (reused)
|
||||
|
||||
**Archived**: modules/slots/archive/collection_locality_text_archived_20260119.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_location
|
||||
revision:
|
||||
- label: has_or_had_provenance
|
||||
|
|
@ -10046,6 +10062,24 @@ fixes:
|
|||
type: slot
|
||||
- label: Place
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: collection_location → has_or_had_place + Place + CollectionEvent
|
||||
|
||||
**Files Created**:
|
||||
- has_or_had_place.yaml: Temporal place relationship slot (existed from prior migration)
|
||||
- CollectionEvent.yaml: Darwin Core Event-aligned collection event class (existed)
|
||||
|
||||
**Files Modified**:
|
||||
- BiologicalObject.yaml: Previously migrated (2026-01-19)
|
||||
|
||||
**Already Existed**:
|
||||
- has_or_had_provenance.yaml, Provenance.yaml
|
||||
- describes_or_described.yaml
|
||||
- Place.yaml
|
||||
|
||||
**Archived**: modules/slots/archive/collection_location_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_name
|
||||
revision:
|
||||
- label: has_or_had_label
|
||||
|
|
@ -10066,6 +10100,21 @@ fixes:
|
|||
type: slot
|
||||
- label: Rationale
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-19: collection_purpose → collects_or_collected + has_or_had_rationale
|
||||
|
||||
**Files Created**:
|
||||
- collects_or_collected.yaml: Generic collecting relationship slot (rico:hasOrHadHolder)
|
||||
|
||||
**Files Modified**:
|
||||
- CommercialOrganizationType.yaml: Migrated import, slot list, slot_usage with Rationale range
|
||||
|
||||
**Already Existed**:
|
||||
- has_or_had_rationale.yaml, Rationale.yaml
|
||||
|
||||
**Archived**: modules/slots/archive/collection_purpose_archived_20260119.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_scope
|
||||
revision:
|
||||
- label: has_or_had_scope
|
||||
|
|
@ -10087,6 +10136,21 @@ fixes:
|
|||
- label: Unit
|
||||
type: class
|
||||
value: item
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: collection_size → has_or_had_quantity + Quantity + has_or_had_unit + Unit
|
||||
|
||||
**Files Created**:
|
||||
- All required slots and classes existed from prior migrations (2026-01-19)
|
||||
|
||||
**Files Modified**:
|
||||
- BioCustodianType.yaml: Migrated to has_or_had_quantity + Quantity (2026-01-19)
|
||||
- PersonalCollectionType.yaml: Migrated to has_or_had_quantity + Quantity (2026-01-19)
|
||||
|
||||
**Note**: Unit default value "item" used for collection item counts.
|
||||
|
||||
**Archived**: modules/slots/archive/collection_size_archived_20260119.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_type
|
||||
revision:
|
||||
- label: has_or_had_content
|
||||
|
|
@ -10101,6 +10165,19 @@ fixes:
|
|||
type: slot
|
||||
- label: CollectionContentTypes
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: collection_type → has_or_had_content + CollectionContent + has_or_had_type + CollectionContentType
|
||||
|
||||
**Files Modified**:
|
||||
- HolySacredSiteType.yaml: Migrated to has_or_had_content + CollectionContent (2026-01-22)
|
||||
- CustodianCollection.yaml: Already migrated (REMOVED comment present)
|
||||
|
||||
**Files Archived**:
|
||||
- collection_type.yaml → archive/collection_type_archived_20260122.yaml
|
||||
|
||||
**Note**: All required slots/classes already existed from prior migration work (2026-01-19)
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/collection_type_description
|
||||
revision:
|
||||
- label: has_or_had_description
|
||||
|
|
@ -10161,6 +10238,21 @@ fixes:
|
|||
- label: has_or_had_url
|
||||
type: slot
|
||||
- label: URL
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: collection_web_address → has_or_had_web_page + WebPage
|
||||
|
||||
**Note**: Revision contains typo "had_or_had_web_page" - implemented as "has_or_had_web_page" per RiC-O naming (Rule 39).
|
||||
|
||||
**Files Created**:
|
||||
- has_or_had_web_page.yaml: New slot for web page association
|
||||
- WebPage.yaml: New class for structured web page representation
|
||||
|
||||
**Files Modified**:
|
||||
- DigitalPlatform.yaml: Migrated collection_web_address to has_or_had_web_page + WebPage
|
||||
|
||||
**Archived**: modules/slots/archive/collection_web_address_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/collections_under_responsibility
|
||||
revision:
|
||||
- label: is_or_was_responsible_for
|
||||
|
|
@ -10177,6 +10269,20 @@ fixes:
|
|||
type: slot
|
||||
- label: Agent
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: collector → is_or_was_acquired_by + Agent
|
||||
|
||||
**Files Created**:
|
||||
- modules/slots/is_or_was_acquired_by.yaml: New slot for acquisition agent
|
||||
- modules/classes/Agent.yaml: New class for person/organization agents
|
||||
|
||||
**Files Modified**:
|
||||
- BiologicalObject.yaml: Migrated slot_usage and examples from collector to is_or_was_acquired_by + Agent
|
||||
- CollectionEvent.yaml: Migrated inline collector attribute to is_or_was_acquired_by slot; updated imports, slots list, description, and examples
|
||||
|
||||
**Note**: No standalone collector.yaml existed to archive - collector was only defined inline as attribute in CollectionEvent.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/colonial
|
||||
revision:
|
||||
- label: includes_or_included
|
||||
|
|
@ -10187,6 +10293,26 @@ fixes:
|
|||
type: Slot
|
||||
- label: ColonialStatus
|
||||
type: Class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: colonial → includes_or_included + GeoSpatialPlace + is_or_was_categorized_as + ColonialStatus
|
||||
|
||||
**Files Created**:
|
||||
- modules/classes/ColonialStatus.yaml: New class for colonial status categorization
|
||||
|
||||
**Files Modified**:
|
||||
- FindingAid.yaml: Migrated colonial slot in GeographicCoverage class
|
||||
- Updated imports (lines 80-84)
|
||||
- Updated slots list (lines 564-566)
|
||||
- Updated slot_usage (lines 586-620)
|
||||
|
||||
**Existing Files Used** (already existed):
|
||||
- modules/slots/includes_or_included.yaml
|
||||
- modules/classes/GeoSpatialPlace.yaml
|
||||
- modules/slots/is_or_was_categorized_as.yaml
|
||||
|
||||
**Archived**: modules/slots/archive/colonial_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/comment_author
|
||||
revision:
|
||||
- label: has_or_had_author
|
||||
|
|
@ -10212,6 +10338,23 @@ fixes:
|
|||
type: slot
|
||||
- label: DigitalPlatformUserIdentifier
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: comment_author_channel_id → has_or_had_author + Author + has_or_had_identifier + DigitalPlatformUserIdentifier
|
||||
|
||||
**Files Created**:
|
||||
- modules/classes/DigitalPlatformUserIdentifier.yaml: New class for platform user/channel identifiers
|
||||
|
||||
**Files Modified**:
|
||||
- VideoPost.yaml: Removed comment_author_channel_id import and slot usage; channel ID now captured via Author.has_or_had_identifier
|
||||
|
||||
**Existing Files Used**:
|
||||
- modules/slots/has_or_had_author.yaml
|
||||
- modules/classes/Author.yaml
|
||||
- modules/slots/has_or_had_identifier.yaml
|
||||
|
||||
**Archived**: modules/slots/archive/comment_author_channel_id_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/comment_count
|
||||
revision:
|
||||
- label: has_or_had_comment
|
||||
|
|
@ -10259,6 +10402,28 @@ fixes:
|
|||
- label: Unit
|
||||
type: class
|
||||
value: like
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: comment_like_count → is_or_was_appreciated + AppreciationEvent
|
||||
|
||||
**Files Created**:
|
||||
- modules/slots/is_or_was_appreciated.yaml: New slot for appreciation events
|
||||
- modules/classes/AppreciationEvent.yaml: New class for like/favorite metrics
|
||||
|
||||
**Files Modified**:
|
||||
- VideoPost.yaml: Migrated comment_like_count in VideoComment class
|
||||
- Updated imports (lines 19-21)
|
||||
- Updated slots list (lines 440-441)
|
||||
- Updated slot_usage (lines 541-562)
|
||||
|
||||
**Existing Files Used**:
|
||||
- modules/slots/has_or_had_quantity.yaml
|
||||
- modules/classes/Quantity.yaml
|
||||
- modules/slots/has_or_had_unit.yaml
|
||||
- modules/classes/Unit.yaml
|
||||
|
||||
**Archived**: modules/slots/archive/comment_like_count_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/comment_published_at
|
||||
revision:
|
||||
- label: temporal_extent
|
||||
|
|
@ -10289,6 +10454,28 @@ fixes:
|
|||
- label: Unit
|
||||
type: class
|
||||
value: reply
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: comment_reply_count → has_or_had_reply + CommentReply
|
||||
|
||||
**Files Created**:
|
||||
- modules/slots/has_or_had_reply.yaml: New slot for reply relationships
|
||||
- modules/classes/CommentReply.yaml: New class for reply metrics
|
||||
|
||||
**Files Modified**:
|
||||
- VideoPost.yaml: Migrated comment_reply_count in VideoComment class
|
||||
- Updated imports (lines 25-27)
|
||||
- Updated slots list (lines 446-448)
|
||||
- Updated slot_usage (lines 566-586)
|
||||
|
||||
**Existing Files Used**:
|
||||
- modules/slots/has_or_had_quantity.yaml
|
||||
- modules/classes/Quantity.yaml
|
||||
- modules/slots/has_or_had_unit.yaml
|
||||
- modules/classes/Unit.yaml
|
||||
|
||||
**Archived**: modules/slots/archive/comment_reply_count_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/comment_text
|
||||
revision:
|
||||
- label: has_or_had_content
|
||||
|
|
@ -10331,6 +10518,21 @@ fixes:
|
|||
type: slot
|
||||
- label: SourceCommentCount
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: comments_fetched → was_fetched_at + Timestamp + is_or_was_part_of_total + SourceCommentCount
|
||||
|
||||
**Files Created**:
|
||||
- was_fetched_at.yaml: New slot for fetch timestamp (prov:generatedAtTime)
|
||||
- is_or_was_part_of_total.yaml: New slot for partial/total count relationship
|
||||
- SourceCommentCount.yaml: New class for comment count metadata
|
||||
|
||||
**Files Modified**:
|
||||
- VideoPost.yaml: Migrated comments_fetched to was_fetched_at + is_or_was_part_of_total
|
||||
- YoutubeVideo.yaml: Migrated comments_fetched to was_fetched_at + is_or_was_part_of_total
|
||||
|
||||
**Archived**: modules/slots/archive/comments_fetched_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/commercial_activity
|
||||
revision:
|
||||
- label: has_or_had_service
|
||||
|
|
@ -10367,12 +10569,44 @@ fixes:
|
|||
type: slot
|
||||
- label: CommercialCustodianTypes
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: commercial_custodian_subtype → includes_or_included + CommercialCustodianTypes
|
||||
|
||||
**Files Created**:
|
||||
- modules/classes/CommercialCustodianTypes.yaml: New class for commercial custodian type collection
|
||||
|
||||
**Files Modified**:
|
||||
- CommercialOrganizationType.yaml: Migrated commercial_custodian_subtype
|
||||
- Updated imports (lines 28-30)
|
||||
- Updated slots list (lines 225-227)
|
||||
- Added slot_usage for includes_or_included (lines 302-326)
|
||||
|
||||
**Existing Files Used**:
|
||||
- modules/slots/includes_or_included.yaml
|
||||
|
||||
**Archived**: modules/slots/archive/commercial_custodian_subtype_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/commercial_operation
|
||||
revision:
|
||||
- label: has_or_had_objective
|
||||
type: slot
|
||||
- label: Profit
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: commercial_operation → has_or_had_objective + Profit
|
||||
|
||||
**Files Created**:
|
||||
- has_or_had_objective.yaml: New slot for organizational objectives (org:purpose)
|
||||
- Profit.yaml: New class for profit motive/objective representation
|
||||
|
||||
**Files Modified**:
|
||||
- GalleryType.yaml: Migrated commercial_operation to has_or_had_objective + Profit
|
||||
- Updated imports, slots, description, examples
|
||||
|
||||
**Archived**: modules/slots/archive/commercial_operation_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/commission_rate
|
||||
revision:
|
||||
- label: has_or_had_service
|
||||
|
|
@ -10387,6 +10621,28 @@ fixes:
|
|||
type: slot
|
||||
- label: Percentage
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2026-01-22'
|
||||
agent: claude-claude-sonnet-4-20250514
|
||||
notes: |
|
||||
**Migration #35: commission_rate** ✅ COMPLETE
|
||||
|
||||
**Pattern**: commission_rate → has_or_had_service + ArtSaleService + takes_or_took_comission + CommissionRate + has_or_had_percentage + Percentage
|
||||
|
||||
**Files Created**:
|
||||
- has_or_had_service.yaml: Slot for service relationships (schema:provider)
|
||||
- ArtSaleService.yaml: Class for art sale/consignment services
|
||||
- takes_or_took_comission.yaml: Slot for commission relationships (note: typo preserved from revision)
|
||||
- CommissionRate.yaml: Class for commission rate representation
|
||||
- has_or_had_percentage.yaml: Slot for percentage values
|
||||
- Percentage.yaml: Class for percentage/ratio values
|
||||
|
||||
**Files Modified**:
|
||||
- GalleryType.yaml: Migrated commission_rate to has_or_had_service + ArtSaleService
|
||||
- Updated imports, slots, description, examples
|
||||
|
||||
**Archived**: modules/slots/archive/commission_rate_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/common_name
|
||||
revision:
|
||||
- label: has_or_had_name
|
||||
|
|
@ -10402,6 +10658,23 @@ fixes:
|
|||
- label: NameTypes
|
||||
type: class
|
||||
note: this includes CommonName
|
||||
processed:
|
||||
status: true
|
||||
notes: |
|
||||
FULLY_MIGRATED 2026-01-22: common_name → has_or_had_name + Name + has_or_had_type + NameType
|
||||
|
||||
**Files Already Existed** (created earlier this session):
|
||||
- has_or_had_name.yaml: Generic name slot (slot_uri: skos:prefLabel)
|
||||
- Name.yaml: Structured name with label, type, and language
|
||||
- NameType.yaml: Abstract base for name type classification
|
||||
- NameTypes.yaml: Concrete name types including CommonName
|
||||
|
||||
**Files Modified**:
|
||||
- BiologicalObject.yaml: Migrated common_name to has_or_had_name + Name
|
||||
- Updated slot_usage with structured examples
|
||||
- Updated all examples (Dodo, Megatherium, Oak) to use Name class
|
||||
|
||||
**Archived**: modules/slots/archive/common_name_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/common_name_language
|
||||
revision:
|
||||
- label: has_or_had_name
|
||||
|
|
@ -10421,6 +10694,32 @@ fixes:
|
|||
type: slot
|
||||
- label: Language
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2026-01-22'
|
||||
agent: claude-claude-sonnet-4-20250514
|
||||
notes: |
|
||||
**Migration #37: common_name_language** ✅ COMPLETE
|
||||
|
||||
**Pattern**: common_name_language → has_or_had_name + Name (with has_or_had_language) + has_or_had_type + NameType + NameTypes + Language
|
||||
|
||||
**Completed With Migration #36**:
|
||||
This migration was completed as part of common_name migration (#36).
|
||||
The Name class includes has_or_had_language slot for language specification.
|
||||
|
||||
**Files Already Created** (in Migration #36):
|
||||
- Name.yaml: Includes has_or_had_language slot
|
||||
- NameType.yaml: Abstract base class
|
||||
- NameTypes.yaml: Concrete subclasses
|
||||
|
||||
**Files Already Exist**:
|
||||
- has_or_had_language.yaml: Generic language slot
|
||||
- Language.yaml: Language class with ISO codes
|
||||
|
||||
**Files Modified** (in Migration #36):
|
||||
- BiologicalObject.yaml: common_name_language removed, language now in Name class
|
||||
|
||||
**Archived**: modules/slots/archive/common_name_language_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/common_variant
|
||||
revision:
|
||||
- label: has_or_had_type
|
||||
|
|
@ -10431,6 +10730,24 @@ fixes:
|
|||
type: slot
|
||||
- label: VariantTypes
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2026-01-22'
|
||||
agent: claude-claude-sonnet-4-20250514
|
||||
notes: |
|
||||
**Migration #38: common_variant** ✅ COMPLETE
|
||||
|
||||
**Pattern**: common_variant → has_or_had_type + VariantType + includes_or_included + VariantTypes
|
||||
|
||||
**Files Created**:
|
||||
- VariantType.yaml: Abstract base class for variant type taxonomy (Rule 0b)
|
||||
- VariantTypes.yaml: Concrete subclasses (AbbreviationVariant, SynonymVariant, RegionalVariant, HistoricalVariant, InformalVariant, TranslationVariant)
|
||||
|
||||
**Files Modified**:
|
||||
- StaffRole.yaml: Migrated common_variant to has_or_had_type + VariantType
|
||||
- Updated imports, slots list
|
||||
|
||||
**Archived**: modules/slots/archive/common_variant_archived_20260122.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/community_engagement
|
||||
revision:
|
||||
- label: has_or_had_activity
|
||||
|
|
@ -11130,7 +11447,7 @@ fixes:
|
|||
- original_slot_id: https://bronhouder.nl/linkml?slot=description_section
|
||||
processed:
|
||||
status: true
|
||||
notes: 'was split into multiple slots"
|
||||
notes: 'was split into multiple slots'
|
||||
feedback:
|
||||
- timestamp: 20260119T120000Z
|
||||
user: Simon C. Kemper
|
||||
|
|
@ -13324,6 +13641,11 @@ fixes:
|
|||
type: slot
|
||||
- label: Format
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: 'FULLY_MIGRATED 2026-01-22: format → has_or_had_format + Format.
|
||||
Created Format.yaml class. FindingAid.yaml migrated to use has_or_had_format.
|
||||
has_or_had_format.yaml slot already existed. Old slot archived to archive/format_archived_20260122.yaml'
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/founded_year
|
||||
revision:
|
||||
- label: is_or_was_founded_through
|
||||
|
|
@ -13338,6 +13660,13 @@ fixes:
|
|||
type: slot
|
||||
- label: Timestamp
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: 'FULLY_MIGRATED 2026-01-22: founded_year → is_or_was_founded_through + FoundingEvent.
|
||||
Created is_or_was_founded_through.yaml slot, FoundingEvent.yaml class, start_of_the_start.yaml slot.
|
||||
CateringPlace.yaml and StandardsOrganization.yaml migrated.
|
||||
Existing files used: temporal_extent.yaml, TimeSpan.yaml, Timestamp.yaml.
|
||||
Old slot archived to archive/founded_year_archived_20260122.yaml'
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/founding_date
|
||||
revision:
|
||||
- label: is_or_was_founded_through
|
||||
|
|
@ -13352,6 +13681,12 @@ fixes:
|
|||
type: slot
|
||||
- label: Timestamp
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: 'FULLY_MIGRATED 2026-01-22: founding_date → is_or_was_founded_through + FoundingEvent.
|
||||
EncompassingBody.yaml, UniversityArchive.yaml, DigitalPlatformV2OrganizationProfile.yaml migrated.
|
||||
Reused existing is_or_was_founded_through.yaml, FoundingEvent.yaml, start_of_the_start.yaml from founded_year migration.
|
||||
Old slot archived to archive/founding_date_archived_20260122.yaml'
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/founding_date_diocese
|
||||
revision:
|
||||
- label: is_or_was_part_of
|
||||
|
|
@ -13370,6 +13705,13 @@ fixes:
|
|||
type: slot
|
||||
- label: Timestamp
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: 'FULLY_MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese.
|
||||
Created is_or_was_part_of.yaml slot and Diocese.yaml class.
|
||||
DiocesanArchive.yaml migrated to use Diocese with embedded FoundingEvent.
|
||||
Reused existing FoundingEvent, TimeSpan, Timestamp classes.
|
||||
Old slot archived to archive/founding_date_diocese_archived_20260122.yaml'
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/fr
|
||||
revision:
|
||||
- label: has_or_had_language
|
||||
|
|
@ -13377,6 +13719,13 @@ fixes:
|
|||
- label: Language
|
||||
type: class
|
||||
value: French
|
||||
processed:
|
||||
status: true
|
||||
notes: "FULLY_MIGRATED 2026-01-22: fr → has_or_had_language + Language (Rule 53).
|
||||
Extended Language class with text_content attribute for language-tagged text.
|
||||
Updated has_or_had_language slot to support both Language and LanguageProficiency (any_of).
|
||||
Migrated FindingAid.yaml MultilingualText class to use unified language pattern.
|
||||
Old slot archived to archive/fr_archived_20260122.yaml"
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/frame_rate
|
||||
revision:
|
||||
- label: has_or_had_quantity
|
||||
|
|
@ -13629,7 +13978,7 @@ fixes:
|
|||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/geographic_restriction
|
||||
revision:
|
||||
- label: occurs_or_occurred_in
|
||||
- label: is_or_was_applicable_in
|
||||
type: slot
|
||||
- label: Location
|
||||
type: class
|
||||
|
|
@ -14101,4 +14450,214 @@ fixes:
|
|||
type: slot
|
||||
- label: Timestamp
|
||||
type: class
|
||||
# https://nde.nl/ontology/hc/slot/has_air_changes_per_hour
|
||||
- orignal_slot_id: https://nde.nl/ontology/hc/slot/has_air_changes_per_hour
|
||||
revision:
|
||||
- label: specifies_or_specified
|
||||
type: slot
|
||||
- label: Ventilation
|
||||
type: class
|
||||
- label: requires_or_required
|
||||
type: slot
|
||||
- label: AirChanges
|
||||
type: class
|
||||
- label: has_or_had_quantity
|
||||
type: slot
|
||||
- label: Quantity
|
||||
type: class
|
||||
- label: has_or_had_unit
|
||||
type: slot
|
||||
- label: Unit
|
||||
type: class
|
||||
value: air changes per hour
|
||||
- orignal_slot_id: https://nde.nl/ontology/hc/slot/has_allocation_date
|
||||
revision:
|
||||
- label: is_or_was_allocated_through
|
||||
type: slot
|
||||
- label: AllocationEvent
|
||||
type: class
|
||||
- label: temporal_extent
|
||||
type: slot
|
||||
- label: TimeSpan
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_alpha_2_code
|
||||
revision:
|
||||
- label: has_or_had_identifier
|
||||
type: slot
|
||||
- label: Alpha2Code
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_alpha_3_code
|
||||
revision:
|
||||
- label: has_or_had_identifier
|
||||
type: slot
|
||||
- label: Alpha3Code
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_alpha_3_code
|
||||
revision:
|
||||
- label: has_or_had_identifier
|
||||
type: slot
|
||||
- label: Alpha3Code
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_altitude
|
||||
revision:
|
||||
- label: has_or_had_altitude
|
||||
type: slot
|
||||
- label: Altitude
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_amendment_history
|
||||
revision:
|
||||
- label: is_or_was_amended_through
|
||||
type: slot
|
||||
- label: AmendmentEvent
|
||||
type: class
|
||||
- label: has_or_had_provenance
|
||||
type: slot
|
||||
- label: Provenance
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_annex_description
|
||||
revision:
|
||||
- label: has_or_had_description
|
||||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_annex_name
|
||||
revision:
|
||||
- label: has_or_had_label
|
||||
type: slot
|
||||
- label: Label
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_annex_reason
|
||||
revision:
|
||||
- label: is_or_was_created_through
|
||||
type: slot
|
||||
- label: AnnexCreationEvent
|
||||
type: class
|
||||
- label: has_or_had_reason
|
||||
type: slot
|
||||
- label: Reason
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_annotation_by
|
||||
revision:
|
||||
- label: contains_or_contained
|
||||
type: slot
|
||||
- label: Annotation
|
||||
type: class
|
||||
- label: is_or_was_created_by
|
||||
type: slot
|
||||
- label: Agent
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_annotation_motivation
|
||||
revision:
|
||||
- label: has_or_had_rationale
|
||||
type: slot
|
||||
- label: Rationale
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_annotation_segment
|
||||
revision:
|
||||
- label: contains_or_contained
|
||||
type: slot
|
||||
- label: Segment
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_annotation_type
|
||||
revision:
|
||||
- label: has_or_had_type
|
||||
type: slot
|
||||
- label: AnnotationType
|
||||
type: class
|
||||
- label: includes_or_included
|
||||
type: slot
|
||||
- label: AnnotationTypes
|
||||
type: class
|
||||
- orignal_slot_id: https://nde.nl/ontology/hc/slot/has_api_version
|
||||
revision:
|
||||
- label: has_or_had_provenance
|
||||
type: slot
|
||||
- label: Provenance
|
||||
type: class
|
||||
- label: is_or_was_retrieved_through
|
||||
type: slot
|
||||
- label: APIRequest
|
||||
type: class
|
||||
- label: has_or_had_endpoint
|
||||
type: slot
|
||||
- label: APIEndpoint
|
||||
type: class
|
||||
- label: has_or_had_version
|
||||
type: slot
|
||||
- label: APIVersion
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_appellation_language
|
||||
revision:
|
||||
- label: has_or_had_language
|
||||
type: slot
|
||||
- label: Language
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_appellation_type
|
||||
revision:
|
||||
- label: has_or_had_type
|
||||
type: slot
|
||||
- label: AppellationType
|
||||
type: class
|
||||
- label: includes_or_included
|
||||
type: slot
|
||||
- label: AppellationTypes
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_appellation_value
|
||||
revision:
|
||||
- label: has_or_had_label
|
||||
type: slot
|
||||
- label: Label
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_applicable_country
|
||||
revision:
|
||||
- label: is_or_was_applicable_in
|
||||
type: slot
|
||||
- label: Country
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_application_deadline
|
||||
revision:
|
||||
- label: is_or_was_due_on
|
||||
type: slot
|
||||
- label: TimeSpan
|
||||
type: class
|
||||
- label: end_of_the_end
|
||||
type: slot
|
||||
- label: Timestamp
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_application_opening_date
|
||||
revision:
|
||||
- label: is_or_was_opened_on
|
||||
type: slot
|
||||
- label: TimeSpan
|
||||
type: class
|
||||
- label: start_of_the_start
|
||||
type: slot
|
||||
- label: Timestamp
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_appraisal_note
|
||||
revision:
|
||||
- label: has_or_had_note
|
||||
type: slot
|
||||
- label: Note
|
||||
type: class
|
||||
- orignal_slot_id: https://nde.nl/ontology/hc/slot/has_approval_date
|
||||
revision:
|
||||
- label: is_or_was_approved_on
|
||||
type: slot
|
||||
- label: TimeSpan
|
||||
type: class
|
||||
- label: start_of_the_start
|
||||
type: slot
|
||||
- label: Timestamp
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_archdiocese_name
|
||||
revision:
|
||||
- label: is_or_was_part_of
|
||||
type: slot
|
||||
- label: Archdiocese
|
||||
type: class
|
||||
- label: has_or_had_label
|
||||
type: slot
|
||||
- label: Label
|
||||
type: class
|
||||
# https://nde.nl/ontology/hc/slot/has_appellation_type
|
||||
# https://nde.nl/ontology/hc/slot/has_appellation_type
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
# start_of_the_start - Temporal boundary slot (alias for begin_of_the_begin)
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: founded_year, founding_date
|
||||
# Creation date: 2026-01-22
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping), 53 (slot_fixes revision)
|
||||
#
|
||||
# NOTE: This is semantically equivalent to begin_of_the_begin (CIDOC-CRM P82a).
|
||||
# Created to fulfill slot_fixes.yaml revision requirements.
|
||||
# Prefer using begin_of_the_begin in new code (established CIDOC-CRM pattern).
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/start_of_the_start
|
||||
name: start_of_the_start
|
||||
title: Start of the Start
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
start_of_the_start:
|
||||
slot_uri: crm:P82a_begin_of_the_begin
|
||||
description: |
|
||||
The earliest possible start time of a temporal extent.
|
||||
|
||||
**SEMANTICS**:
|
||||
Equivalent to CIDOC-CRM P82a_begin_of_the_begin.
|
||||
This slot is an alias for `begin_of_the_begin` for naming consistency.
|
||||
|
||||
**USAGE**:
|
||||
- For precise start: Set to exact timestamp
|
||||
- For uncertain start: Set to earliest plausible date
|
||||
|
||||
**NOTE**:
|
||||
Prefer `begin_of_the_begin` in new code (established CIDOC-CRM pattern).
|
||||
This slot created per slot_fixes.yaml revision requirements.
|
||||
|
||||
range: Timestamp
|
||||
|
||||
exact_mappings:
|
||||
- crm:P82a_begin_of_the_begin
|
||||
|
||||
aliases:
|
||||
- begin_of_the_begin
|
||||
|
||||
examples:
|
||||
- value: "1902-01-01"
|
||||
description: Earliest possible date for 1902 founding
|
||||
- value: "1850-01-01"
|
||||
description: Earliest date for 1850s founding (decade uncertainty)
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Temporal boundaries applicable to all custodian types."
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# takes_or_took_comission slot
|
||||
# RiC-O temporal naming convention (Rule 39)
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: commission_rate
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 39
|
||||
# NOTE: Spelling "comission" matches revision specification (Rule 57 - immutable)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/takes_or_took_comission
|
||||
name: takes_or_took_comission
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
takes_or_took_comission:
|
||||
slot_uri: schema:priceComponent
|
||||
description: |
|
||||
Commission rate taken on sales transactions.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Links a service (like art sales) to its commission structure.
|
||||
Used for modeling gallery commission on artwork sales.
|
||||
|
||||
**RiC-O NAMING** (Rule 39):
|
||||
|
||||
Uses "takes_or_took_" prefix indicating temporal relationship -
|
||||
commission rates may change over time.
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
|
||||
Created from migration of `commission_rate` slot per slot_fixes.yaml.
|
||||
Provides structured commission representation via CommissionRate class.
|
||||
|
||||
**NOTE**: Spelling "comission" matches revision specification per Rule 57.
|
||||
|
||||
range: CommissionRate
|
||||
inlined: true
|
||||
|
||||
close_mappings:
|
||||
- schema:priceComponent
|
||||
|
||||
examples:
|
||||
- value:
|
||||
rate_type: "primary_market"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 50
|
||||
percentage_display: "50%"
|
||||
description: Standard primary market commission (50%)
|
||||
- value:
|
||||
rate_type: "secondary_market"
|
||||
has_or_had_percentage:
|
||||
percentage_value: 15
|
||||
percentage_display: "10-20%"
|
||||
description: Secondary market resale commission
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from commission_rate migration (Rule 53)
|
||||
- Uses RiC-O temporal naming convention (Rule 39)
|
||||
- Links services to commission structures
|
||||
|
||||
annotations:
|
||||
custodian_types: '["G"]'
|
||||
custodian_types_rationale: >-
|
||||
Primarily for galleries and commercial art dealers.
|
||||
72
schemas/20251121/linkml/modules/slots/was_fetched_at.yaml
Normal file
72
schemas/20251121/linkml/modules/slots/was_fetched_at.yaml
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# was_fetched_at slot
|
||||
# RiC-O temporal naming convention (Rule 39)
|
||||
#
|
||||
# Created per slot_fixes.yaml revision for: comments_fetched
|
||||
# Migration date: 2026-01-22
|
||||
# Rule reference: Rule 53, Rule 39
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/was_fetched_at
|
||||
name: was_fetched_at
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
was_fetched_at:
|
||||
slot_uri: prov:generatedAtTime
|
||||
description: |
|
||||
Timestamp when data was fetched/retrieved from a source.
|
||||
|
||||
**PURPOSE**:
|
||||
|
||||
Records when content was fetched from an external source (API, web page, etc.).
|
||||
Used for provenance tracking of retrieved data.
|
||||
|
||||
**RiC-O NAMING** (Rule 39):
|
||||
|
||||
Uses "was_" prefix indicating past tense - the fetch has already occurred.
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
| Ontology | Property | Usage |
|
||||
|----------|----------|-------|
|
||||
| **PROV-O** | `prov:generatedAtTime` | When entity was generated |
|
||||
| **Dublin Core** | `dcterms:dateAccepted` | Date accepted/retrieved |
|
||||
|
||||
**MIGRATION NOTE**:
|
||||
|
||||
Created from migration of `comments_fetched` slot per slot_fixes.yaml.
|
||||
Works with SourceCommentCount class for structured fetch metadata.
|
||||
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- prov:generatedAtTime
|
||||
|
||||
close_mappings:
|
||||
- dcterms:dateAccepted
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_timestamp: "2025-01-14T10:30:00Z"
|
||||
has_or_had_precision: second
|
||||
description: Exact fetch timestamp
|
||||
|
||||
comments:
|
||||
- Created 2026-01-22 from comments_fetched migration (Rule 53)
|
||||
- Uses RiC-O temporal naming convention (Rule 39)
|
||||
- Tracks when external data was retrieved
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Universal - any custodian fetching external data may track fetch times.
|
||||
Loading…
Reference in a new issue