Add ImageTilingServiceEndpoint class and archive ID class
- Introduced the ImageTilingServiceEndpoint class for tiled high-resolution image delivery, including deep-zoom and transformation capabilities, with multilingual descriptions and structured aliases. - Archived the ID class as a backwards-compatible alias for Identifier, marking it as deprecated to enforce the use of the canonical Identifier model.
This commit is contained in:
parent
4b2d8e3fd9
commit
6e63465196
346 changed files with 9335 additions and 11460 deletions
48
.opencode/rules/capitalization-consistency-naming-rule.md
Normal file
48
.opencode/rules/capitalization-consistency-naming-rule.md
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# Rule: Capitalization Consistency for LinkML Names
|
||||
|
||||
## Purpose
|
||||
|
||||
Ensure naming is consistent across LinkML classes, slots, enums, and their files,
|
||||
with special care for acronyms (for example: `GLAM`, `GHC`, `GHCID`, `GLEIF`).
|
||||
|
||||
## Mandatory Requirements
|
||||
|
||||
1. **Class names**
|
||||
- Use `PascalCase`.
|
||||
- Preserve canonical acronym casing.
|
||||
- Example: `GHCIdentifier`, not `GhcidIdentifier`.
|
||||
|
||||
2. **Slot names**
|
||||
- Use project slot naming convention consistently.
|
||||
- If acronym appears in a slot, keep its canonical uppercase form.
|
||||
- Example: `has_GHCID_history` (if acronymed slot is required), not `has_ghcid_history`.
|
||||
|
||||
3. **Enum names**
|
||||
- Use `PascalCase` with `Enum` suffix where applicable.
|
||||
- Preserve acronym casing in enum identifiers and permissible values.
|
||||
- Example: `GLAMTypeEnum`.
|
||||
|
||||
4. **File names must match primary term exactly**
|
||||
- Class file name must match class name (case-sensitive) plus `.yaml`.
|
||||
- Enum file name must match enum name (case-sensitive) plus `.yaml`.
|
||||
- Slot file name must match slot name (case-sensitive) plus `.yaml`.
|
||||
|
||||
5. **No mixed acronym variants in same schema branch**
|
||||
- Do not mix forms like `Ghcid`, `GHCID`, and `ghcid` for the same concept.
|
||||
- Pick canonical form once and use it everywhere.
|
||||
|
||||
## Refactoring Rule
|
||||
|
||||
When normalizing capitalization:
|
||||
|
||||
- Update term declaration (`name`, class/slot/enum key).
|
||||
- Update file name to match.
|
||||
- Update all imports and references transitively.
|
||||
- Do not leave aliases as operational identifiers; keep aliases only for lexical metadata.
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
- [ ] Class, slot, enum declarations use canonical casing.
|
||||
- [ ] File names exactly match declaration names.
|
||||
- [ ] Acronyms are consistent across declarations and references.
|
||||
- [ ] Imports and references resolve after renaming.
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
# Rule: Capitalization Consistency for LinkML Names
|
||||
|
||||
## Purpose
|
||||
|
||||
Ensure naming is consistent across LinkML classes, slots, enums, and their files,
|
||||
with special care for acronyms (for example: `GLAM`, `GHC`, `GHCID`, `GLEIF`).
|
||||
|
||||
## Mandatory Requirements
|
||||
|
||||
1. **Class names**
|
||||
- Use `PascalCase`.
|
||||
- Preserve canonical acronym casing.
|
||||
- Example: `GHCIdentifier`, not `GhcidIdentifier`.
|
||||
|
||||
2. **Slot names**
|
||||
- Use project slot naming convention consistently.
|
||||
- If acronym appears in a slot, keep its canonical uppercase form.
|
||||
- Example: `has_GHCID_history` (if acronymed slot is required), not `has_ghcid_history`.
|
||||
|
||||
3. **Enum names**
|
||||
- Use `PascalCase` with `Enum` suffix where applicable.
|
||||
- Preserve acronym casing in enum identifiers and permissible values.
|
||||
- Example: `GLAMTypeEnum`.
|
||||
|
||||
4. **File names must match primary term exactly**
|
||||
- Class file name must match class name (case-sensitive) plus `.yaml`.
|
||||
- Enum file name must match enum name (case-sensitive) plus `.yaml`.
|
||||
- Slot file name must match slot name (case-sensitive) plus `.yaml`.
|
||||
|
||||
5. **No mixed acronym variants in same schema branch**
|
||||
- Do not mix forms like `Ghcid`, `GHCID`, and `ghcid` for the same concept.
|
||||
- Pick canonical form once and use it everywhere.
|
||||
|
||||
## Refactoring Rule
|
||||
|
||||
When normalizing capitalization:
|
||||
|
||||
- Update term declaration (`name`, class/slot/enum key).
|
||||
- Update file name to match.
|
||||
- Update all imports and references transitively.
|
||||
- Do not leave aliases as operational identifiers; keep aliases only for lexical metadata.
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
- [ ] Class, slot, enum declarations use canonical casing.
|
||||
- [ ] File names exactly match declaration names.
|
||||
- [ ] Acronyms are consistent across declarations and references.
|
||||
- [ ] Imports and references resolve after renaming.
|
||||
|
|
@ -0,0 +1,317 @@
|
|||
# Rule 38: Slot Centralization and Semantic URI Requirements
|
||||
|
||||
🚨 **CRITICAL**: All LinkML slots MUST be centralized in `model/symbolic/schema/modules/slots/` and MUST have semantically sound `slot_uri` predicates from base ontologies.
|
||||
|
||||
---
|
||||
|
||||
## 1. Slot Centralization is Mandatory
|
||||
|
||||
**Location**: All slot definitions MUST be in `model/symbolic/schema/modules/slots/`
|
||||
|
||||
**File Naming**: `{slot_name}.yaml` (snake_case)
|
||||
|
||||
**Import Pattern**: Classes import slots via relative imports:
|
||||
```yaml
|
||||
# In modules/classes/Collection.yaml
|
||||
imports:
|
||||
- ../slots/collection_name
|
||||
- ../slots/collection_type_ref
|
||||
- ../slots/parent_collection
|
||||
```
|
||||
|
||||
### Why Centralization?
|
||||
|
||||
1. **UML Visualization**: The frontend's schema service loads slots from the database in which `modules/slots/` files are ingested to determine aggregation edges. Inline slots in class files are NOT properly parsed for visualization.
|
||||
|
||||
2. **Reusability**: Slots can be used by multiple classes without duplication.
|
||||
|
||||
3. **Semantic Consistency**: Single source of truth for slot semantics prevents drift.
|
||||
|
||||
4. **Maintainability**: Changes to slot semantics propagate automatically to all classes.
|
||||
|
||||
### Anti-Pattern: Inline Slot Definitions
|
||||
|
||||
```yaml
|
||||
# ❌ WRONG - Slots defined inline in class file
|
||||
classes:
|
||||
Collection:
|
||||
slots:
|
||||
- collection_name
|
||||
- parent_collection
|
||||
|
||||
slots: # ← This section in a class file is WRONG
|
||||
collection_name:
|
||||
range: string
|
||||
```
|
||||
|
||||
```yaml
|
||||
# ✅ CORRECT - Slots imported from centralized files
|
||||
# In modules/classes/Collection.yaml
|
||||
imports:
|
||||
- ../slots/collection_name
|
||||
- ../slots/parent_collection
|
||||
|
||||
classes:
|
||||
Collection:
|
||||
slots:
|
||||
- collection_name
|
||||
- parent_collection
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. Every Slot MUST Have `slot_uri`
|
||||
|
||||
**`slot_uri`** provides the semantic meaning of the slot in a linked data context. It maps your slot to a predicate from an established ontology. Do avoid adding external uri in case there are no exact mapping! In this common case, the slot_uri should be a self-reference using the 'hc' prefix.
|
||||
|
||||
### Required Slot File Structure
|
||||
|
||||
```yaml
|
||||
# Global slot definition for {slot_name}
|
||||
# Used by: {list of classes}
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/{slot_name}
|
||||
name: {slot_name}
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
# Add ontology prefixes as needed
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
|
||||
slots:
|
||||
{slot_name}:
|
||||
slot_uri: {ontology_prefix}:{predicate} # ← REQUIRED
|
||||
description: |
|
||||
Description of the slot's semantic meaning.
|
||||
|
||||
{OntologyName}: {predicate} - "{definition from ontology}"
|
||||
range: {ClassName or primitive}
|
||||
required: true/false
|
||||
multivalued: true/false
|
||||
# Optional mappings for additional semantic relationships
|
||||
exact_mappings:
|
||||
- schema:alternatePredicate
|
||||
close_mappings:
|
||||
- dct:relatedPredicate
|
||||
examples:
|
||||
- value: {example}
|
||||
description: {explanation}
|
||||
```
|
||||
|
||||
### Ontology Sources for `slot_uri`
|
||||
|
||||
Consult these base ontology files in `/data/ontology/`:
|
||||
|
||||
| Ontology | File | Namespace | Use Cases |
|
||||
|----------|------|-----------|-----------|
|
||||
| **RiC-O** | `RiC-O_1-1.rdf` | `rico:` | Archival records, record sets, custody |
|
||||
| **CIDOC-CRM** | `CIDOC_CRM_v7.1.3.rdf` | `crm:` | Cultural heritage objects, events |
|
||||
| **Schema.org** | `schemaorg.owl` | `schema:` | Web semantics, general properties |
|
||||
| **SKOS** | `skos.rdf` | `skos:` | Labels, concepts, mappings |
|
||||
| **Dublin Core** | `dublin_core_elements.rdf` | `dcterms:` | Metadata properties |
|
||||
| **PROV-O** | `prov-o.ttl` | `prov:` | Provenance tracking |
|
||||
| **PAV** | `pav.rdf` | `pav:` | Provenance, authoring, versioning |
|
||||
| **TOOI** | `tooiont.ttl` | `tooi:` | Dutch government organizations |
|
||||
| **CPOV** | `core-public-organisation-ap.ttl` | `cpov:` | EU public sector |
|
||||
| **ORG** | `org.rdf` | `org:` | Organizations, units, roles |
|
||||
| **FOAF** | `foaf.ttl` | `foaf:` | People, agents, social network |
|
||||
| **GLEIF** | `gleif_base.ttl` | `gleif_base:` | Legal entities |
|
||||
|
||||
### Example: Correct Slot with `slot_uri`
|
||||
|
||||
```yaml
|
||||
# modules/slots/preferred_label.yaml
|
||||
id: https://nde.nl/ontology/hc/slot/preferred_label
|
||||
name: preferred_label_slot
|
||||
|
||||
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/
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
|
||||
slots:
|
||||
preferred_label:
|
||||
slot_uri: skos:prefLabel # ← REQUIRED
|
||||
description: |
|
||||
The primary display name for this entity.
|
||||
|
||||
SKOS: prefLabel - "A preferred lexical label for a resource."
|
||||
|
||||
This is the CANONICAL name - the standardized label accepted by the
|
||||
entity itself for public representation.
|
||||
range: string
|
||||
required: false
|
||||
exact_mappings:
|
||||
- schema:name
|
||||
- rdfs:label
|
||||
examples:
|
||||
- value: "Rijksmuseum"
|
||||
description: Primary display name for the Rijksmuseum
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Mappings Can Apply to Both Classes AND Slots
|
||||
|
||||
LinkML provides SKOS-based mapping predicates that work on **both classes and slots**:
|
||||
|
||||
| Mapping Type | Predicate | Use Case |
|
||||
|--------------|-----------|----------|
|
||||
| `exact_mappings` | `skos:exactMatch` | Identical meaning |
|
||||
| `close_mappings` | `skos:closeMatch` | Very similar meaning |
|
||||
| `related_mappings` | `skos:relatedMatch` | Semantically related |
|
||||
| `narrow_mappings` | `skos:narrowMatch` | More specific |
|
||||
| `broad_mappings` | `skos:broadMatch` | More general |
|
||||
|
||||
### When to Use Mappings vs. slot_uri
|
||||
|
||||
| Scenario | Use |
|
||||
|----------|-----|
|
||||
| **Primary semantic identity** | `slot_uri` (exactly one) |
|
||||
| **Equivalent predicates in other ontologies** | `exact_mappings` (multiple allowed) |
|
||||
| **Similar but not identical predicates** | `close_mappings` |
|
||||
| **Related predicates with different scope** | `narrow_mappings` / `broad_mappings` |
|
||||
|
||||
### Example: Slot with Multiple Mappings
|
||||
|
||||
```yaml
|
||||
slots:
|
||||
website:
|
||||
slot_uri: gleif_base:hasWebsite # Primary predicate
|
||||
range: uri
|
||||
description: |
|
||||
Official website URL of the organization or entity.
|
||||
|
||||
gleif_base:hasWebsite - "A website associated with something"
|
||||
exact_mappings:
|
||||
- schema:url # Identical meaning in Schema.org
|
||||
close_mappings:
|
||||
- foaf:homepage # Similar but specifically "main" page
|
||||
```
|
||||
|
||||
### Example: Class with Multiple Mappings
|
||||
|
||||
```yaml
|
||||
classes:
|
||||
Collection:
|
||||
class_uri: rico:RecordSet # Primary class
|
||||
exact_mappings:
|
||||
- crm:E78_Curated_Holding # CIDOC-CRM equivalent
|
||||
close_mappings:
|
||||
- bf:Collection # BIBFRAME close match
|
||||
narrow_mappings:
|
||||
- edm:ProvidedCHO # Europeana (narrower - cultural heritage objects)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Workflow for Creating a New Slot
|
||||
|
||||
### Step 1: Search Base Ontologies
|
||||
|
||||
Before creating a slot, search for existing predicates:
|
||||
|
||||
```bash
|
||||
# Search for relevant predicates
|
||||
rg "website|homepage|url" /data/ontology/*.ttl /data/ontology/*.rdf /data/ontology/*.owl
|
||||
|
||||
# Check specific ontology
|
||||
rg "rdfs:label|rdfs:comment" /data/ontology/schemaorg.owl | grep -i "name"
|
||||
```
|
||||
|
||||
### Step 2: Document Ontology Alignment
|
||||
|
||||
In the slot file, document WHY you chose that predicate:
|
||||
|
||||
```yaml
|
||||
slots:
|
||||
source_url:
|
||||
slot_uri: pav:retrievedFrom
|
||||
description: |
|
||||
URL of the web page from which data was retrieved.
|
||||
|
||||
pav:retrievedFrom - "The URI from which the resource was retrieved."
|
||||
|
||||
Chosen over:
|
||||
- schema:url (too generic - refers to the entity's URL, not source)
|
||||
- dct:source (refers to intellectual source, not retrieval location)
|
||||
- prov:wasDerivedFrom (refers to entity derivation, not retrieval)
|
||||
```
|
||||
|
||||
### Step 3: Create Centralized Slot File
|
||||
|
||||
```bash
|
||||
# Create new slot file
|
||||
touch schemas/20251121/linkml/modules/slots/new_slot_name.yaml
|
||||
```
|
||||
|
||||
### Step 4: Update Manifest
|
||||
|
||||
Run the manifest regeneration script or manually add to manifest:
|
||||
|
||||
```bash
|
||||
cd schemas/20251121/linkml
|
||||
python3 scripts/regenerate_manifest.py
|
||||
```
|
||||
|
||||
### Step 5: Import in Class Files
|
||||
|
||||
Add the import to classes that use this slot.
|
||||
|
||||
---
|
||||
|
||||
## 5. Validation Checklist
|
||||
|
||||
Before committing slot changes:
|
||||
|
||||
- [ ] Slot file is in `modules/slots/`
|
||||
- [ ] Slot has `slot_uri` pointing to an established ontology predicate
|
||||
- [ ] Predicate is from `data/ontology/` files or standard vocabularies
|
||||
- [ ] Description includes ontology definition
|
||||
- [ ] Rationale documented if multiple predicates were considered
|
||||
- [ ] `exact_mappings`/`close_mappings` added for equivalent predicates
|
||||
- [ ] Manifest updated to include new slot file
|
||||
- [ ] Classes using the slot have been updated with import
|
||||
- [ ] Frontend slot files synced: `frontend/public/schemas/20251121/linkml/modules/slots/`
|
||||
|
||||
---
|
||||
|
||||
## 6. Common Slot URI Mappings
|
||||
|
||||
| Slot Concept | Recommended `slot_uri` | Alternative Mappings |
|
||||
|--------------|------------------------|---------------------|
|
||||
| Preferred name | `skos:prefLabel` | `schema:name`, `rdfs:label` |
|
||||
| Alternative names | `skos:altLabel` | `schema:alternateName` |
|
||||
| Description | `dcterms:description` | `schema:description`, `rdfs:comment` |
|
||||
| Identifier | `dcterms:identifier` | `schema:identifier` |
|
||||
| Website URL | `gleif_base:hasWebsite` | `schema:url`, `foaf:homepage` |
|
||||
| Source URL | `pav:retrievedFrom` | `prov:wasDerivedFrom` |
|
||||
| Created date | `dcterms:created` | `schema:dateCreated`, `prov:generatedAtTime` |
|
||||
| Modified date | `dcterms:modified` | `schema:dateModified` |
|
||||
| Language | `schema:inLanguage` | `dcterms:language` |
|
||||
| Part of | `dcterms:isPartOf` | `rico:isOrWasPartOf`, `schema:isPartOf` |
|
||||
| Has part | `dcterms:hasPart` | `rico:hasOrHadPart`, `schema:hasPart` |
|
||||
| Location | `schema:location` | `locn:address`, `crm:P53_has_former_or_current_location` |
|
||||
| Start date | `schema:startDate` | `prov:startedAtTime`, `rico:hasBeginningDate` |
|
||||
| End date | `schema:endDate` | `prov:endedAtTime`, `rico:hasEndDate` |
|
||||
|
||||
---
|
||||
|
||||
## See Also
|
||||
|
||||
- [LinkML slot_uri documentation](https://linkml.io/linkml-model/latest/docs/slot_uri/)
|
||||
- [LinkML mappings documentation](https://linkml.io/linkml-model/latest/docs/mappings/)
|
||||
- [LinkML URIs and Mappings guide](https://linkml.io/linkml/schemas/uris-and-mappings.html)
|
||||
- Rule 1: Ontology Files Are Your Primary Reference
|
||||
- Rule 0: LinkML Schemas Are the Single Source of Truth
|
||||
|
||||
---
|
||||
|
||||
**Version**: 1.0.0
|
||||
**Created**: 2026-01-06
|
||||
**Author**: OpenCODE
|
||||
29
.opencode/rules/linkml/slot-fixes-authoritative-rule.md
Normal file
29
.opencode/rules/linkml/slot-fixes-authoritative-rule.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Rule: Slot Fixes File is Authoritative
|
||||
|
||||
**Scope:** Schema Migration / Slot Fixes
|
||||
|
||||
**Description:**
|
||||
The file `slot_fixes.yaml` is the **single authoritative source** for tracking slot migrations and fixes.
|
||||
|
||||
**Directives:**
|
||||
1. **Authoritative Source:** Always read and update `slot_fixes.yaml`.
|
||||
2. **Processed Status:** When a slot migration is completed (schema updated, data migrated), you MUST update the entry in `slot_fixes.yaml` with a `processed` block containing:
|
||||
* `status: true`
|
||||
* `date: 'YYYY-MM-DD'`
|
||||
* `notes`: Brief description of what was done.
|
||||
3. **NEVER DELETE:** You MUST NOT delete entries from `slot_fixes.yaml`. Even if a slot is removed from the schema, the record of its fix MUST remain in this file with `status: true`.
|
||||
4. **Format Compliance:** New slots added during migration must follow proper LinkML format conventions and use `slot_uri` and mappings (`exact_mappings`, `close_mappings`) that reference **legitimate predicates and classes found in `/Users/kempersc/apps/glam/data/ontology/`**.
|
||||
|
||||
**Example of Processed Entry:**
|
||||
```yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/has_old_slot
|
||||
revision:
|
||||
- label: has_new_slot
|
||||
type: slot
|
||||
- label: NewClass
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2026-01-27'
|
||||
notes: Migrated to has_new_slot + NewClass. Old slot archived.
|
||||
```
|
||||
169
.opencode/rules/linkml/slot-fixes-revision-immutability-rule.md
Normal file
169
.opencode/rules/linkml/slot-fixes-revision-immutability-rule.md
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
# Rule: slot_fixes.yaml Revision Key Immutability
|
||||
|
||||
## Status: CRITICAL
|
||||
|
||||
## Summary
|
||||
|
||||
The `revision` key in `slot_fixes.yaml` is **IMMUTABLE**. AI agents MUST follow revision specifications exactly and are NEVER permitted to modify the content of revision entries.
|
||||
|
||||
## The Authoritative Source
|
||||
|
||||
The file `slot_fixes.yaml` serves as the **curated migration specification** for all slot consolidations in the Heritage Custodian Ontology. Each entry's `revision` section was manually curated based on:
|
||||
|
||||
- Ontology analysis (CIDOC-CRM, RiC-O, PROV-O, Schema.org alignment)
|
||||
- Semantic correctness
|
||||
- Pattern consistency (Rule 39: RiC-O style naming)
|
||||
- Type/Types class hierarchy design (Rule 0b)
|
||||
|
||||
## What Agents CAN Do
|
||||
|
||||
| Action | Permitted | Location |
|
||||
|--------|-----------|----------|
|
||||
| Add completion notes | ✅ YES | `processed.notes` |
|
||||
| Update status | ✅ YES | `processed.status` |
|
||||
| Add feedback responses | ✅ YES | `feedback.response` |
|
||||
| Mark feedback as done | ✅ YES | `feedback.done` |
|
||||
| Execute the migration per revision | ✅ YES | Class/slot files |
|
||||
|
||||
## What Agents CANNOT Do
|
||||
|
||||
| Action | Permitted | Reason |
|
||||
|--------|-----------|--------|
|
||||
| Modify `revision` content | ❌ NEVER | Authoritative specification |
|
||||
| Substitute different slots | ❌ NEVER | Violates curated design |
|
||||
| Skip revision components | ❌ NEVER | Incomplete migration |
|
||||
| Add new revision items | ❌ NEVER | Requires human curation |
|
||||
| Change revision labels | ❌ NEVER | Breaks semantic mapping |
|
||||
| Reorder revision items | ❌ NEVER | `link_branch` dependencies |
|
||||
|
||||
## Structure of slot_fixes.yaml Entries
|
||||
|
||||
```yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/example_slot
|
||||
original_slot_label: example_slot
|
||||
revision: # ← IMMUTABLE - DO NOT MODIFY
|
||||
- label: has_or_had_example # Generic slot to use
|
||||
type: slot
|
||||
- label: Example # Class for range
|
||||
type: class
|
||||
- label: has_or_had_attribute # Nested attribute (link_branch: 1)
|
||||
type: slot
|
||||
link_branch: 1
|
||||
processed:
|
||||
status: false # ← CAN UPDATE to true
|
||||
notes: "" # ← CAN ADD notes here
|
||||
feedback: # ← CAN ADD responses here
|
||||
user: "Simon C. Kemper"
|
||||
date: "2026-01-17"
|
||||
message: "Migration incomplete"
|
||||
done: false # ← CAN UPDATE to true
|
||||
response: "" # ← CAN ADD response here
|
||||
```
|
||||
|
||||
## Understanding `link_branch` in Revisions
|
||||
|
||||
The `link_branch` field indicates **nested class attributes**:
|
||||
|
||||
| Revision Item | Meaning |
|
||||
|---------------|---------|
|
||||
| Items **WITHOUT** `link_branch` | PRIMARY slot and class to create |
|
||||
| Items **WITH** `link_branch: 1` | First attribute the primary class needs |
|
||||
| Items **WITH** `link_branch: 2` | Second attribute the primary class needs |
|
||||
|
||||
**Example**:
|
||||
```yaml
|
||||
revision:
|
||||
- label: has_or_had_quantity # PRIMARY SLOT
|
||||
type: slot
|
||||
- label: Quantity # PRIMARY CLASS
|
||||
type: class
|
||||
- label: has_or_had_measurement_unit # Quantity.has_or_had_measurement_unit
|
||||
type: slot
|
||||
link_branch: 1
|
||||
- label: MeasureUnit # Range of branch 1 slot
|
||||
type: class
|
||||
link_branch: 1
|
||||
```
|
||||
|
||||
## Migration Workflow
|
||||
|
||||
1. **READ** the `revision` section completely
|
||||
2. **VERIFY** all referenced slots/classes exist (or create them)
|
||||
3. **REMOVE** old slot from imports, slots list, and slot_usage in consuming classes
|
||||
4. **ADD** new slot(s) and class import(s) per revision specification
|
||||
5. **UPDATE** slot_usage to narrow range to specified class
|
||||
6. **VALIDATE** with `linkml-lint` or `gen-owl`
|
||||
7. **UPDATE** slot_fixes.yaml:
|
||||
- Set `processed.status: true`
|
||||
- Add completion note to `processed.notes`
|
||||
- If feedback exists, set `feedback.done: true` and add `feedback.response`
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
### WRONG - Modifying Revision Content
|
||||
|
||||
```yaml
|
||||
# Agent incorrectly "improves" the revision
|
||||
revision:
|
||||
- label: has_description # ❌ CHANGED from has_or_had_description
|
||||
type: slot
|
||||
- label: TextDescription # ❌ CHANGED from Description
|
||||
type: class
|
||||
```
|
||||
|
||||
### WRONG - Substituting Different Slots
|
||||
|
||||
```yaml
|
||||
# Agent uses a different slot than specified
|
||||
# Revision says: has_or_had_type + BindingType
|
||||
# Agent uses: binding_classification + BindingClassification ❌ WRONG
|
||||
```
|
||||
|
||||
### WRONG - Partial Migration
|
||||
|
||||
```yaml
|
||||
# Agent only creates the slot, ignores the class
|
||||
revision:
|
||||
- label: has_or_had_type # ✅ Agent created this
|
||||
type: slot
|
||||
- label: BindingType # ❌ Agent ignored this
|
||||
type: class
|
||||
```
|
||||
|
||||
### CORRECT - Following Revision Exactly
|
||||
|
||||
```yaml
|
||||
# Revision specifies:
|
||||
revision:
|
||||
- label: has_or_had_description
|
||||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
|
||||
# Agent creates/uses EXACTLY:
|
||||
# 1. Import ../slots/has_or_had_description
|
||||
# 2. Import ../classes/Description
|
||||
# 3. slot_usage: has_or_had_description with range: Description
|
||||
```
|
||||
|
||||
## Rationale
|
||||
|
||||
1. **Curated Quality**: Revisions were manually designed with ontology expertise
|
||||
2. **Consistency**: Same patterns applied across all migrations
|
||||
3. **Auditability**: Clear record of intended vs. actual changes
|
||||
4. **Reversibility**: Original specifications preserved for review
|
||||
5. **Trust**: Users can rely on revision specifications being stable
|
||||
|
||||
## Related Rules
|
||||
|
||||
- **Rule 53**: Full Slot Migration - slot_fixes.yaml is AUTHORITATIVE
|
||||
- **Rule 56**: Semantic Consistency Over Simplicity
|
||||
- **Rule 39**: Slot Naming Convention (RiC-O Style)
|
||||
- **Rule 38**: Slot Centralization and Semantic URI Requirements
|
||||
- **Rule 0b**: Type/Types File Naming Convention
|
||||
|
||||
## See Also
|
||||
|
||||
- `schemas/20251121/linkml/modules/slots/slot_fixes.yaml` - The authoritative file
|
||||
- `.opencode/rules/full-slot-migration-rule.md` - Migration execution rules
|
||||
- `.opencode/rules/semantic-consistency-over-simplicity.md` - Why revisions must be followed
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
# Rule: Slot Naming Convention (Current Style)
|
||||
|
||||
🚨 **CRITICAL**: New LinkML slot names MUST follow the current verb-first naming style used in active slot files under `modules/slots/`.
|
||||
|
||||
## Core Naming Rules
|
||||
|
||||
1. Use `snake_case`.
|
||||
2. Prefer short, descriptive verb predicates as canonical names.
|
||||
3. Keep names ontology-neutral (no ontology namespace prefixes in slot names).
|
||||
4. Use singular nouns in object positions (including multivalued slots).
|
||||
5. Keep temporal semantics in mappings/definitions when needed, not by forcing a legacy prefix.
|
||||
|
||||
## Preferred Patterns
|
||||
|
||||
### 1) Simple verb predicates (default)
|
||||
|
||||
Use a single verb when it clearly expresses the relation.
|
||||
|
||||
Examples from active slots:
|
||||
- `accept`
|
||||
- `contain`
|
||||
- `catalogue`
|
||||
- `exhibit`
|
||||
|
||||
### 2) Verb + particle/preposition when needed
|
||||
|
||||
Use compact phrasal forms when a preposition carries core meaning.
|
||||
|
||||
Examples:
|
||||
- `belong_to`
|
||||
- `located_in`
|
||||
- `derived_from`
|
||||
|
||||
### 3) Symmetric or directional pair pattern
|
||||
|
||||
Use `<present>_or_<past_participle>` when both directions/states are intentionally modeled in one predicate label.
|
||||
|
||||
Examples:
|
||||
- `contains_or_contained`
|
||||
- `includes_or_included`
|
||||
- `operates_or_operated`
|
||||
|
||||
## Legacy Compatibility
|
||||
|
||||
- For migrations, keep backward compatibility via `aliases` when renaming to current-style canonical names.
|
||||
- Do not rename canonical slots opportunistically; follow migration plans and canonical-slot protection rules.
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- ❌ `rico_has_or_had_holder` (ontology prefix in name)
|
||||
- ❌ `collections` (plural noun predicate)
|
||||
- ❌ `has_museum_visitor_count` (class-specific slot name)
|
||||
- ❌ Creating new `has_or_had_*` names by default when a verb predicate is clearer
|
||||
|
||||
## Quick Checklist
|
||||
|
||||
- [ ] Is the canonical slot name verb-first and descriptive?
|
||||
- [ ] Is it `snake_case`?
|
||||
- [ ] Is the noun part singular?
|
||||
- [ ] Is the name ontology-neutral?
|
||||
- [ ] If renaming legacy slots, are aliases/migration constraints handled?
|
||||
|
||||
## See Also
|
||||
|
||||
- `.opencode/rules/archive/DEPRECATED-slot-naming-convention-rico-style.md`
|
||||
- `.opencode/rules/no-ontology-prefix-in-slot-names.md`
|
||||
- `.opencode/rules/slot-noun-singular-convention.md`
|
||||
- `.opencode/rules/generic-slots-specific-classes.md`
|
||||
- `.opencode/rules/canonical-slot-protection-rule.md`
|
||||
80
.opencode/rules/linkml/slot-noun-singular-convention.md
Normal file
80
.opencode/rules/linkml/slot-noun-singular-convention.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# Rule: Slot Nouns Must Be Singular
|
||||
|
||||
🚨 **CRITICAL**: LinkML slot names MUST use singular nouns, even for multivalued slots. The `multivalued: true` property indicates cardinality, not the slot name.
|
||||
|
||||
## Rationale
|
||||
|
||||
1. **Predicate semantics**: Slots represent predicates/relationships. In RDF, `hasCollection` can have multiple objects without changing the predicate name.
|
||||
2. **Consistency**: Singular names work for both single-valued and multivalued slots.
|
||||
3. **Ontology alignment**: Standard ontologies use singular predicates (`skos:broader`, `org:hasMember`, `rico:hasOrHadHolder`).
|
||||
4. **Readability**: `custodian.has_or_had_custodian_type` reads naturally as "custodian has (or had) custodian type".
|
||||
|
||||
## Correct Pattern
|
||||
|
||||
```yaml
|
||||
slots:
|
||||
has_or_had_custodian_type: # ✅ CORRECT - singular noun
|
||||
slot_uri: org:classification
|
||||
range: CustodianType
|
||||
multivalued: true # Cardinality expressed here, not in name
|
||||
|
||||
has_or_had_collection: # ✅ CORRECT - singular noun
|
||||
slot_uri: rico:hasOrHadPart
|
||||
range: CustodianCollection
|
||||
multivalued: true
|
||||
|
||||
has_or_had_member: # ✅ CORRECT - singular noun
|
||||
slot_uri: org:hasMember
|
||||
range: Custodian
|
||||
multivalued: true
|
||||
```
|
||||
|
||||
## Incorrect Pattern
|
||||
|
||||
```yaml
|
||||
slots:
|
||||
has_or_had_custodian_types: # ❌ WRONG - plural noun
|
||||
multivalued: true
|
||||
|
||||
collections: # ❌ WRONG - plural noun
|
||||
multivalued: true
|
||||
|
||||
members: # ❌ WRONG - plural noun
|
||||
multivalued: true
|
||||
```
|
||||
|
||||
## Migration Examples
|
||||
|
||||
| Old (Plural) | New (Singular) |
|
||||
|--------------|----------------|
|
||||
| `custodian_types` | `has_or_had_custodian_type` |
|
||||
| `collections` | `has_or_had_collection` |
|
||||
| `identifiers` | `identifier` |
|
||||
| `alternative_names` | `alternative_name` |
|
||||
| `staff_members` | `staff_member` |
|
||||
|
||||
## Exceptions
|
||||
|
||||
**Compound concepts** where the plural is part of the concept name itself:
|
||||
|
||||
- `archives_regionales` - French administrative term (proper noun)
|
||||
- `united_states` - Geographic proper noun
|
||||
|
||||
**NOT exceptions** (still use singular):
|
||||
|
||||
- `has_or_had_identifier` not `has_or_had_identifiers` (even if institution has multiple)
|
||||
- `broader_type` not `broader_types` (even if multiple broader types)
|
||||
|
||||
## Implementation
|
||||
|
||||
When creating or renaming slots:
|
||||
|
||||
1. Extract the noun from the slot name
|
||||
2. Convert to singular form
|
||||
3. Combine with relationship prefix (`has_or_had_`, `is_or_was_`, etc.)
|
||||
4. Set `multivalued: true` if multiple values are expected
|
||||
|
||||
## See Also
|
||||
|
||||
- `.opencode/rules/slot-naming-convention-current-style.md` - Current slot naming patterns
|
||||
- `.opencode/rules/slot-centralization-and-semantic-uri-rule.md` - Slot centralization requirements
|
||||
174
.opencode/rules/linkml/slot-usage-minimization-rule.md
Normal file
174
.opencode/rules/linkml/slot-usage-minimization-rule.md
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
# Rule 49: Slot Usage Minimization - No Redundant Overrides
|
||||
|
||||
## Summary
|
||||
|
||||
LinkML `slot_usage` entries MUST provide meaningful modifications to the generic slot definition. Redundant `slot_usage` entries that merely re-declare the same values as the generic slot MUST be removed.
|
||||
|
||||
## Background
|
||||
|
||||
### What is slot_usage?
|
||||
|
||||
In LinkML, [`slot_usage`](https://linkml.io/linkml-model/latest/docs/slot_usage/) allows a class to customize how an inherited slot behaves within that specific class context. It enables:
|
||||
|
||||
- Narrowing the `range` to a more specific type
|
||||
- Adding class-specific `required`, `multivalued`, or `identifier` constraints
|
||||
- Providing class-specific `description`, `examples`, or `pattern` overrides
|
||||
- Adding class-specific semantic mappings (`exact_mappings`, `close_mappings`, etc.)
|
||||
|
||||
### The Problem
|
||||
|
||||
A code generation process created **874 redundant `slot_usage` entries** across **374 class files** that simply re-declare the same `range` and `inlined` values already defined in the generic slot:
|
||||
|
||||
```yaml
|
||||
# In modules/slots/template_specificity.yaml (GENERIC DEFINITION)
|
||||
slots:
|
||||
template_specificity:
|
||||
slot_uri: hc:templateSpecificity
|
||||
range: TemplateSpecificityScores
|
||||
inlined: true
|
||||
|
||||
# In modules/classes/AdministrativeOffice.yaml (REDUNDANT OVERRIDE)
|
||||
slot_usage:
|
||||
template_specificity:
|
||||
range: TemplateSpecificityScores # Same as generic!
|
||||
inlined: true # Same as generic!
|
||||
```
|
||||
|
||||
This creates:
|
||||
1. **Visual noise** in the schema viewer (slot_usage badge displayed when nothing is actually customized)
|
||||
2. **Maintenance burden** (changes to generic slot must be mirrored in 374 files)
|
||||
3. **Semantic confusion** (suggests customization where none exists)
|
||||
|
||||
## The Rule
|
||||
|
||||
### MUST Remove: Truly Redundant Overrides
|
||||
|
||||
A `slot_usage` entry is **truly redundant** and MUST be removed if:
|
||||
|
||||
1. **All properties match the generic slot definition exactly**
|
||||
2. **No additional properties are added** (no extra `examples`, `description`, `required`, etc.)
|
||||
|
||||
```yaml
|
||||
# REDUNDANT - Remove this entire slot_usage entry
|
||||
slot_usage:
|
||||
template_specificity:
|
||||
range: TemplateSpecificityScores
|
||||
inlined: true
|
||||
```
|
||||
|
||||
### MAY Keep: Description-Only Modifications
|
||||
|
||||
A `slot_usage` entry that ONLY modifies the `description` by adding articles or context MAY be kept if it provides **semantic value** by referring to a specific entity rather than a general concept.
|
||||
|
||||
**Tolerated Example** (adds definiteness):
|
||||
```yaml
|
||||
# Generic slot
|
||||
slots:
|
||||
has_or_had_record_set:
|
||||
description: Record sets associated with a custodian.
|
||||
range: RecordSet
|
||||
|
||||
# Class-specific slot_usage - TOLERABLE
|
||||
slot_usage:
|
||||
has_or_had_record_set:
|
||||
description: The record sets held by this archive. # "The" makes it definite
|
||||
```
|
||||
|
||||
**Rationale**: "The record sets" (definite) vs "record sets" (indefinite) conveys that this class specifically requires/expects record sets, rather than merely allowing them. This is a **semantic distinction** in linguistic terms (definiteness marking).
|
||||
|
||||
### MUST Keep: Meaningful Modifications
|
||||
|
||||
A `slot_usage` entry MUST be kept if it provides ANY of the following:
|
||||
|
||||
| Modification Type | Example |
|
||||
|-------------------|---------|
|
||||
| **Range narrowing** | `range: MuseumCollection` (from generic `Collection`) |
|
||||
| **Required constraint** | `required: true` (when generic is optional) |
|
||||
| **Pattern override** | `pattern: "^NL-.*"` (Dutch ISIL codes only) |
|
||||
| **Examples addition** | Class-specific examples not in generic |
|
||||
| **Inlined change** | `inlined: true` when generic is `false` |
|
||||
| **Identifier designation** | `identifier: true` for primary key |
|
||||
|
||||
## Decision Matrix
|
||||
|
||||
| Scenario | Action |
|
||||
|----------|--------|
|
||||
| All properties match generic exactly | **REMOVE** |
|
||||
| Only `range` and/or `inlined` match generic | **REMOVE** |
|
||||
| Only `description` differs by adding articles | **TOLERATE** (but consider removing) |
|
||||
| `description` provides substantive new information | **KEEP** |
|
||||
| Any other property modified | **KEEP** |
|
||||
|
||||
## Implementation
|
||||
|
||||
### Cleanup Script
|
||||
|
||||
Use the following to identify and remove redundant overrides:
|
||||
|
||||
```python
|
||||
# scripts/cleanup_redundant_slot_usage.py
|
||||
import yaml
|
||||
import glob
|
||||
|
||||
SLOTS_TO_CHECK = ['template_specificity', 'specificity_annotation']
|
||||
|
||||
for class_file in glob.glob('schemas/20251121/linkml/modules/classes/*.yaml'):
|
||||
with open(class_file) as f:
|
||||
content = yaml.safe_load(f)
|
||||
|
||||
modified = False
|
||||
for cls_name, cls_def in content.get('classes', {}).items():
|
||||
slot_usage = cls_def.get('slot_usage', {})
|
||||
for slot_name in SLOTS_TO_CHECK:
|
||||
if slot_name in slot_usage:
|
||||
override = slot_usage[slot_name]
|
||||
# Check if redundant (only range/inlined matching generic)
|
||||
if is_redundant(override, slot_name):
|
||||
del slot_usage[slot_name]
|
||||
modified = True
|
||||
|
||||
# Remove empty slot_usage
|
||||
if not slot_usage:
|
||||
del cls_def['slot_usage']
|
||||
|
||||
if modified:
|
||||
with open(class_file, 'w') as f:
|
||||
yaml.dump(content, f, allow_unicode=True, sort_keys=False)
|
||||
```
|
||||
|
||||
### Validation
|
||||
|
||||
After cleanup, validate that:
|
||||
1. `linkml-validate` passes for all schemas
|
||||
2. Generated RDF/OWL output is unchanged (redundant overrides have no semantic effect)
|
||||
3. Frontend slot viewer shows fewer `slot_usage` badges
|
||||
|
||||
## Frontend UX Implications
|
||||
|
||||
The frontend LinkML viewer should:
|
||||
|
||||
1. **Display "Slot Usage"** (with space, no underscore) instead of `slot_usage`
|
||||
2. **Add tooltip** explaining what slot_usage means, linking to [LinkML documentation](https://linkml.io/linkml-model/latest/docs/slot_usage/)
|
||||
3. **Only show badge** when `slot_usage` contains meaningful modifications
|
||||
4. **Comparison view** should highlight actual differences, not redundant re-declarations
|
||||
|
||||
## Affected Slots
|
||||
|
||||
Current analysis found redundant overrides for:
|
||||
|
||||
| Slot | Redundant Overrides | Files Affected |
|
||||
|------|---------------------|----------------|
|
||||
| `template_specificity` | 873 | 374 |
|
||||
| `specificity_annotation` | 874 | 374 |
|
||||
|
||||
## References
|
||||
|
||||
- [LinkML slot_usage documentation](https://linkml.io/linkml-model/latest/docs/slot_usage/)
|
||||
- Rule 38: Slot Centralization and Semantic URI Requirements
|
||||
- Rule 48: Class Files Must Not Define Inline Slots
|
||||
|
||||
## Version History
|
||||
|
||||
| Date | Change |
|
||||
|------|--------|
|
||||
| 2026-01-12 | Initial rule created after identifying 874 redundant slot_usage entries |
|
||||
401
.opencode/rules/linkml/specificity-score-convention.md
Normal file
401
.opencode/rules/linkml/specificity-score-convention.md
Normal file
|
|
@ -0,0 +1,401 @@
|
|||
# Rule: Specificity Score Convention for LinkML Schema Annotations
|
||||
|
||||
**Version**: 1.0.0
|
||||
**Created**: 2025-01-04
|
||||
**Status**: Active
|
||||
**Applies to**: `schemas/20251121/linkml/modules/classes/*.yaml`
|
||||
|
||||
---
|
||||
|
||||
## Rule Statement
|
||||
|
||||
Every class in the Heritage Custodian Ontology MUST have specificity score annotations to enable intelligent filtering for RAG retrieval and UML visualization.
|
||||
|
||||
---
|
||||
|
||||
## Annotation Schema
|
||||
|
||||
### Required Annotations
|
||||
|
||||
Every class YAML file MUST include these annotations:
|
||||
|
||||
```yaml
|
||||
classes:
|
||||
ClassName:
|
||||
annotations:
|
||||
specificity_score: 0.75 # Required: General specificity (0.0-1.0)
|
||||
specificity_rationale: "..." # Required: Why this score was assigned
|
||||
```
|
||||
|
||||
### Optional Annotations
|
||||
|
||||
Template-specific scores for context-aware filtering:
|
||||
|
||||
```yaml
|
||||
classes:
|
||||
ClassName:
|
||||
annotations:
|
||||
specificity_score: 0.75
|
||||
specificity_rationale: "..."
|
||||
template_specificity: # Optional: Template-specific scores
|
||||
archive_search: 0.95
|
||||
museum_search: 0.20
|
||||
person_research: 0.30
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Score Semantics
|
||||
|
||||
### General Specificity Score
|
||||
|
||||
The `specificity_score` measures how **context-dependent** a class is:
|
||||
|
||||
| Score Range | Meaning | Example Classes |
|
||||
|-------------|---------|-----------------|
|
||||
| 0.00-0.20 | **Universal** - relevant in almost all contexts | `HeritageCustodian`, `CustodianName`, `Location` |
|
||||
| 0.20-0.40 | **Broadly useful** - relevant in most contexts | `Collection`, `Identifier`, `GHCID` |
|
||||
| 0.40-0.60 | **Moderately specific** - relevant in several contexts | `ChangeEvent`, `PersonProfile`, `DigitalPlatform` |
|
||||
| 0.60-0.80 | **Fairly specific** - relevant in limited contexts | `Archive`, `Museum`, `Library`, `FindingAid` |
|
||||
| 0.80-1.00 | **Highly specific** - relevant only in specialized contexts | `LinkedInConnectionExtraction`, `GHCIDHistoryEntry` |
|
||||
|
||||
**Key Insight**: Lower scores = MORE generally relevant (always useful in RAG); Higher scores = MORE specific (only useful in specialized queries).
|
||||
|
||||
---
|
||||
|
||||
### Template Specificity Scores
|
||||
|
||||
The `template_specificity` maps class relevance to 10 conversation templates:
|
||||
|
||||
| Template ID | Focus Area | Example High-Score Classes |
|
||||
|-------------|------------|---------------------------|
|
||||
| `archive_search` | Archives and archival holdings | `Archive`, `RecordSet`, `Fonds` |
|
||||
| `museum_search` | Museums and exhibitions | `Museum`, `Gallery`, `Exhibition` |
|
||||
| `library_search` | Libraries and catalogs | `Library`, `Catalog`, `BibliographicCollection` |
|
||||
| `collection_discovery` | Collections and holdings | `Collection`, `Accession`, `Extent` |
|
||||
| `person_research` | People and staff | `PersonProfile`, `Staff`, `Role` |
|
||||
| `location_browse` | Geographic information | `Location`, `Address`, `GeoCoordinates` |
|
||||
| `identifier_lookup` | Identifiers (ISIL, Wikidata) | `Identifier`, `GHCID`, `ISIL` |
|
||||
| `organizational_change` | History and changes | `ChangeEvent`, `Founding`, `Merger` |
|
||||
| `digital_platform` | Online resources | `DigitalPlatform`, `Website`, `API` |
|
||||
| `general_heritage` | Fallback/general | Uses `specificity_score` directly |
|
||||
|
||||
---
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: Universal Class (Low Specificity)
|
||||
|
||||
```yaml
|
||||
# modules/classes/HeritageCustodian.yaml
|
||||
classes:
|
||||
HeritageCustodian:
|
||||
description: >-
|
||||
Base class for all heritage custodian institutions.
|
||||
annotations:
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: >-
|
||||
Universal base class relevant in virtually all heritage contexts.
|
||||
Every query about heritage institutions implicitly involves this class.
|
||||
template_specificity:
|
||||
archive_search: 0.65
|
||||
museum_search: 0.65
|
||||
library_search: 0.65
|
||||
collection_discovery: 0.70
|
||||
person_research: 0.70
|
||||
location_browse: 0.75
|
||||
identifier_lookup: 0.70
|
||||
organizational_change: 0.75
|
||||
digital_platform: 0.70
|
||||
general_heritage: 0.15
|
||||
```
|
||||
|
||||
### Example 2: Domain-Specific Class (High Specificity)
|
||||
|
||||
```yaml
|
||||
# modules/classes/Archive.yaml
|
||||
classes:
|
||||
Archive:
|
||||
is_a: HeritageCustodian
|
||||
description: >-
|
||||
An archive institution holding historical records and documents.
|
||||
annotations:
|
||||
specificity_score: 0.70
|
||||
specificity_rationale: >-
|
||||
Domain-specific institution type. Highly relevant for archival research
|
||||
but not needed for museum or library queries.
|
||||
template_specificity:
|
||||
archive_search: 0.95
|
||||
museum_search: 0.20
|
||||
library_search: 0.25
|
||||
collection_discovery: 0.75
|
||||
person_research: 0.40
|
||||
location_browse: 0.65
|
||||
identifier_lookup: 0.50
|
||||
organizational_change: 0.60
|
||||
digital_platform: 0.45
|
||||
general_heritage: 0.70
|
||||
```
|
||||
|
||||
### Example 3: Technical Class (Very High Specificity)
|
||||
|
||||
```yaml
|
||||
# modules/classes/LinkedInConnectionExtraction.yaml
|
||||
classes:
|
||||
LinkedInConnectionExtraction:
|
||||
description: >-
|
||||
Technical class for extracting LinkedIn connection data.
|
||||
annotations:
|
||||
specificity_score: 0.95
|
||||
specificity_rationale: >-
|
||||
Internal extraction class with no semantic significance for end users.
|
||||
Only relevant when specifically researching data extraction processes.
|
||||
template_specificity:
|
||||
archive_search: 0.05
|
||||
museum_search: 0.05
|
||||
library_search: 0.05
|
||||
collection_discovery: 0.05
|
||||
person_research: 0.40
|
||||
location_browse: 0.05
|
||||
identifier_lookup: 0.10
|
||||
organizational_change: 0.05
|
||||
digital_platform: 0.15
|
||||
general_heritage: 0.95
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Score Assignment Guidelines
|
||||
|
||||
### Factors That LOWER Specificity Score
|
||||
|
||||
| Factor | Impact | Example |
|
||||
|--------|--------|---------|
|
||||
| Base/parent class | -0.20 to -0.30 | `HeritageCustodian` is parent of all |
|
||||
| Used in identifiers | -0.10 to -0.15 | `CustodianName` used in GHCID |
|
||||
| Geographic component | -0.10 to -0.15 | `Location` needed for all institutions |
|
||||
| Universal attribute | -0.10 to -0.15 | `Provenance` applies to all data |
|
||||
|
||||
### Factors That RAISE Specificity Score
|
||||
|
||||
| Factor | Impact | Example |
|
||||
|--------|--------|---------|
|
||||
| Institution type | +0.30 to +0.40 | `Archive`, `Museum`, `Library` |
|
||||
| Technical/extraction | +0.30 to +0.40 | `LinkedInConnectionExtraction` |
|
||||
| Event subtype | +0.20 to +0.30 | `Merger`, `Founding`, `Closure` |
|
||||
| Domain terminology | +0.15 to +0.25 | `Fonds`, `FindingAid`, `RecordSet` |
|
||||
|
||||
### Cross-Class Consistency Rules
|
||||
|
||||
1. **Inheritance**: Child classes should have equal or higher specificity than parents
|
||||
2. **Siblings**: Classes at same hierarchy level should have similar base scores
|
||||
3. **Competing types**: Institution types should reduce each other's template scores
|
||||
|
||||
```yaml
|
||||
# CORRECT: Archive (0.70) inherits from HeritageCustodian (0.15)
|
||||
Archive:
|
||||
is_a: HeritageCustodian # Parent: 0.15
|
||||
annotations:
|
||||
specificity_score: 0.70 # Child: 0.70 >= 0.15 ✓
|
||||
|
||||
# WRONG: Child less specific than parent
|
||||
Archive:
|
||||
is_a: HeritageCustodian # Parent: 0.15
|
||||
annotations:
|
||||
specificity_score: 0.10 # Child: 0.10 < 0.15 ✗
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Validation Rules
|
||||
|
||||
### Required Validations
|
||||
|
||||
1. **Range Check**: `0.0 <= specificity_score <= 1.0`
|
||||
2. **Rationale Present**: `specificity_rationale` must not be empty
|
||||
3. **Inheritance Consistency**: Child score >= parent score
|
||||
4. **Template Score Range**: All template scores must be 0.0-1.0
|
||||
|
||||
### Recommended Validations
|
||||
|
||||
1. **No Orphan Scores**: Every class should have annotations (warn if missing)
|
||||
2. **Score Distribution**: Flag if >50% of classes have same score (lack of differentiation)
|
||||
3. **Template Coverage**: Warn if template_specificity omits common templates
|
||||
|
||||
### Validation Script
|
||||
|
||||
```python
|
||||
# scripts/validate_specificity_scores.py
|
||||
|
||||
from linkml_runtime import SchemaView
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
REQUIRED_TEMPLATES = [
|
||||
"archive_search", "museum_search", "library_search",
|
||||
"collection_discovery", "person_research", "location_browse",
|
||||
"identifier_lookup", "organizational_change", "digital_platform",
|
||||
"general_heritage"
|
||||
]
|
||||
|
||||
def validate_specificity_scores(schema_path: Path) -> list[str]:
|
||||
"""Validate all specificity score annotations."""
|
||||
errors = []
|
||||
schema = SchemaView(str(schema_path))
|
||||
|
||||
for class_name in schema.all_classes():
|
||||
cls = schema.get_class(class_name)
|
||||
|
||||
# Check required annotations
|
||||
score = cls.annotations.get("specificity_score")
|
||||
rationale = cls.annotations.get("specificity_rationale")
|
||||
|
||||
if score is None:
|
||||
errors.append(f"{class_name}: Missing specificity_score")
|
||||
continue
|
||||
|
||||
# Validate score range
|
||||
try:
|
||||
score_val = float(score.value)
|
||||
if not 0.0 <= score_val <= 1.0:
|
||||
errors.append(f"{class_name}: Score {score_val} out of range [0.0, 1.0]")
|
||||
except (ValueError, TypeError):
|
||||
errors.append(f"{class_name}: Invalid score value: {score.value}")
|
||||
|
||||
# Check rationale
|
||||
if rationale is None or not rationale.value.strip():
|
||||
errors.append(f"{class_name}: Missing or empty specificity_rationale")
|
||||
|
||||
# Check inheritance consistency
|
||||
if cls.is_a:
|
||||
parent = schema.get_class(cls.is_a)
|
||||
parent_score = parent.annotations.get("specificity_score")
|
||||
if parent_score and float(score.value) < float(parent_score.value):
|
||||
errors.append(
|
||||
f"{class_name}: Score {score.value} < parent {cls.is_a} score {parent_score.value}"
|
||||
)
|
||||
|
||||
return errors
|
||||
|
||||
if __name__ == "__main__":
|
||||
schema_path = Path("schemas/20251121/linkml/01_custodian_name.yaml")
|
||||
errors = validate_specificity_scores(schema_path)
|
||||
|
||||
if errors:
|
||||
print("Validation errors:")
|
||||
for error in errors:
|
||||
print(f" - {error}")
|
||||
sys.exit(1)
|
||||
else:
|
||||
print("All specificity scores valid!")
|
||||
sys.exit(0)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
### What NOT to Do
|
||||
|
||||
| Anti-Pattern | Why It's Wrong | Correct Approach |
|
||||
|--------------|----------------|------------------|
|
||||
| Score without rationale | No audit trail for decisions | Always include rationale |
|
||||
| All scores = 0.5 | No differentiation, useless for filtering | Differentiate based on semantics |
|
||||
| Child < parent score | Violates specificity inheritance | Child should be equal or more specific |
|
||||
| Template score > 1.0 | Invalid score value | Keep all scores in [0.0, 1.0] |
|
||||
| Empty rationale | Fails validation, no documentation | Write meaningful rationale |
|
||||
|
||||
### Example of Incorrect Annotation
|
||||
|
||||
```yaml
|
||||
# WRONG - Multiple issues
|
||||
classes:
|
||||
Archive:
|
||||
annotations:
|
||||
specificity_score: 1.5 # Out of range!
|
||||
specificity_rationale: "" # Empty rationale!
|
||||
template_specificity:
|
||||
archive_search: 0.95
|
||||
# Missing other templates - incomplete coverage
|
||||
```
|
||||
|
||||
### Example of Correct Annotation
|
||||
|
||||
```yaml
|
||||
# CORRECT
|
||||
classes:
|
||||
Archive:
|
||||
annotations:
|
||||
specificity_score: 0.70
|
||||
specificity_rationale: >-
|
||||
Domain-specific institution type for archives. Highly relevant
|
||||
for archival research queries but less useful for museum or
|
||||
library-focused questions.
|
||||
template_specificity:
|
||||
archive_search: 0.95
|
||||
museum_search: 0.20
|
||||
library_search: 0.25
|
||||
collection_discovery: 0.75
|
||||
person_research: 0.40
|
||||
location_browse: 0.65
|
||||
identifier_lookup: 0.50
|
||||
organizational_change: 0.60
|
||||
digital_platform: 0.45
|
||||
general_heritage: 0.70
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Migration Checklist
|
||||
|
||||
When adding specificity scores to existing classes:
|
||||
|
||||
### Phase 1: Assessment
|
||||
|
||||
- [ ] Count classes without annotations
|
||||
- [ ] Identify class hierarchy (parents → children order)
|
||||
- [ ] Review existing descriptions for scoring hints
|
||||
|
||||
### Phase 2: Annotation
|
||||
|
||||
- [ ] Start with root classes (lowest specificity)
|
||||
- [ ] Work down hierarchy (increasing specificity)
|
||||
- [ ] Assign template scores based on domain alignment
|
||||
- [ ] Write rationale explaining score decisions
|
||||
|
||||
### Phase 3: Validation
|
||||
|
||||
- [ ] Run validation script
|
||||
- [ ] Check inheritance consistency
|
||||
- [ ] Verify score distribution (not all same value)
|
||||
- [ ] Review edge cases (technical classes, mixins)
|
||||
|
||||
### Phase 4: Documentation
|
||||
|
||||
- [ ] Update class count in plan documents
|
||||
- [ ] Document any scoring decisions that were difficult
|
||||
- [ ] Create PR with all changes
|
||||
|
||||
---
|
||||
|
||||
## Related Rules
|
||||
|
||||
- **Rule 0**: LinkML Schemas Are the Single Source of Truth
|
||||
- **Rule 4**: Technical Classes Are Excluded from Visualizations
|
||||
- **Rule 13**: Custodian Type Annotations on LinkML Schema Elements
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
- `docs/plan/specificity_score/README.md` - System overview
|
||||
- `docs/plan/specificity_score/04-prompt-conversation-templates.md` - Template definitions
|
||||
- `docs/plan/specificity_score/06-uml-visualization.md` - UML filtering integration
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
| Date | Version | Change |
|
||||
|------|---------|--------|
|
||||
| 2025-01-04 | 1.0.0 | Initial rule created for specificity score system |
|
||||
223
.opencode/rules/linkml/type-naming-convention.md
Normal file
223
.opencode/rules/linkml/type-naming-convention.md
Normal file
|
|
@ -0,0 +1,223 @@
|
|||
# Rule: LinkML Type/Types File Naming Convention
|
||||
|
||||
**Version**: 1.0.0
|
||||
**Created**: 2025-01-04
|
||||
**Status**: Active
|
||||
**Applies to**: `schemas/20251121/linkml/modules/classes/`
|
||||
|
||||
---
|
||||
|
||||
## Rule Statement
|
||||
|
||||
When creating class hierarchies that replace enums in LinkML schemas, follow the **Type/Types** naming pattern to clearly distinguish abstract base classes from their concrete subclasses.
|
||||
|
||||
---
|
||||
|
||||
## Pattern Definition
|
||||
|
||||
| File Name Pattern | Purpose | Contains |
|
||||
|-------------------|---------|----------|
|
||||
| `[Entity]Type.yaml` (singular) | Abstract base class | Single abstract class defining the type taxonomy |
|
||||
| `[Entity]Types.yaml` (plural) | Concrete subclasses | All concrete subclasses inheriting from the base |
|
||||
|
||||
---
|
||||
|
||||
## Class Naming Convention
|
||||
|
||||
🚨 **CRITICAL**: Follow these naming rules for classes within the files:
|
||||
|
||||
1. **Abstract Base Class** (`[Entity]Type.yaml`):
|
||||
* **MUST** end with `Type` suffix.
|
||||
* *Example*: `DigitalPlatformType`, `WarehouseType`.
|
||||
|
||||
2. **Concrete Subclasses** (`[Entity]Types.yaml`):
|
||||
* **MUST NOT** end with `Type` suffix.
|
||||
* Use the natural entity name.
|
||||
* *Example*: `DigitalLibrary` (✅), `CentralDepot` (✅).
|
||||
* *Incorrect*: `DigitalLibraryType` (❌), `CentralDepotType` (❌).
|
||||
|
||||
**Rationale**: The file context (`WarehouseTypes.yaml`) already establishes these are types. Repeating "Type" in the class name is redundant and makes the class name less natural when used as an object instance (e.g., "This object is a CentralDepot").
|
||||
|
||||
---
|
||||
|
||||
## Examples
|
||||
|
||||
### Current Implementations
|
||||
|
||||
| Base Class File | Subclasses File | Subclass Count | Description |
|
||||
|-----------------|-----------------|----------------|-------------|
|
||||
| `DigitalPlatformType.yaml` | `DigitalPlatformTypes.yaml` | 69 | Digital platform type taxonomy |
|
||||
| `WebPortalType.yaml` | `WebPortalTypes.yaml` | ~15 | Web portal type taxonomy |
|
||||
| `CustodianType.yaml` | `CustodianTypes.yaml` | 19 | Heritage custodian type taxonomy (GLAMORCUBESFIXPHDNT) |
|
||||
| `DataServiceEndpointType.yaml` | `DataServiceEndpointTypes.yaml` | 7 | API/data service endpoint types |
|
||||
|
||||
### File Structure Example
|
||||
|
||||
```
|
||||
modules/classes/
|
||||
├── DigitalPlatformType.yaml # Abstract base class
|
||||
├── DigitalPlatformTypes.yaml # 69 concrete subclasses
|
||||
├── WebPortalType.yaml # Abstract base class
|
||||
├── WebPortalTypes.yaml # ~15 concrete subclasses
|
||||
├── CustodianType.yaml # Abstract base class
|
||||
└── CustodianTypes.yaml # 19 concrete subclasses
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Import Pattern
|
||||
|
||||
The subclasses file MUST import the base class file:
|
||||
|
||||
```yaml
|
||||
# In DigitalPlatformTypes.yaml (subclasses file)
|
||||
id: https://w3id.org/heritage-custodian/linkml/digital_platform_types
|
||||
name: digital_platform_types
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./DigitalPlatformType # Import base class (singular)
|
||||
|
||||
classes:
|
||||
DigitalLibrary:
|
||||
is_a: DigitalPlatformType # Inherit from base
|
||||
description: >-
|
||||
A digital library platform providing access to digitized collections.
|
||||
class_uri: schema:DigitalDocument
|
||||
|
||||
DigitalArchive:
|
||||
is_a: DigitalPlatformType
|
||||
description: >-
|
||||
A digital archive for born-digital or digitized archival materials.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Slot Range Pattern
|
||||
|
||||
When other classes reference the type taxonomy, use the **base class** (singular) as the range:
|
||||
|
||||
```yaml
|
||||
# In DigitalPlatform.yaml
|
||||
imports:
|
||||
- ./DigitalPlatformType # Import base class for range
|
||||
- ./DigitalPlatformTypes # Import subclasses for validation
|
||||
|
||||
classes:
|
||||
DigitalPlatform:
|
||||
slots:
|
||||
- platform_type
|
||||
slot_usage:
|
||||
platform_type:
|
||||
range: DigitalPlatformType # Use base class as range
|
||||
description: >-
|
||||
The type of digital platform. Value must be one of the
|
||||
concrete subclasses defined in DigitalPlatformTypes.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
### What NOT to Do
|
||||
|
||||
| Anti-Pattern | Why It's Wrong | Correct Alternative |
|
||||
|--------------|----------------|---------------------|
|
||||
| `DigitalPlatformTypeBase.yaml` | "Base" suffix is redundant; singular "Type" already implies base class | `DigitalPlatformType.yaml` |
|
||||
| `DigitalPlatformTypeClasses.yaml` | "Classes" is less intuitive than "Types" for a type taxonomy | `DigitalPlatformTypes.yaml` |
|
||||
| All types in single file | Large files are hard to navigate; separation clarifies architecture | Split into Type.yaml + Types.yaml |
|
||||
| `DigitalPlatformEnum.yaml` | Enums lack extensibility; class hierarchies are preferred | Use class hierarchy pattern |
|
||||
| `CentralDepotType` (Class Name) | Redundant "Type" suffix on concrete subclass | `CentralDepot` |
|
||||
|
||||
### Example of Incorrect Naming
|
||||
|
||||
```yaml
|
||||
# WRONG - Don't use "Base" suffix
|
||||
# File: DigitalPlatformTypeBase.yaml
|
||||
classes:
|
||||
DigitalPlatformTypeBase: # Redundant "Base"
|
||||
abstract: true
|
||||
```
|
||||
|
||||
```yaml
|
||||
# CORRECT - Use singular "Type"
|
||||
# File: DigitalPlatformType.yaml
|
||||
classes:
|
||||
DigitalPlatformType: # Clean, clear naming
|
||||
abstract: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Rationale
|
||||
|
||||
1. **Clarity**: "Type" (singular) = one abstract concept; "Types" (plural) = many concrete implementations
|
||||
2. **Discoverability**: Related files appear adjacent in alphabetical directory listings
|
||||
3. **Consistency**: Follows established pattern across entire schema
|
||||
4. **Semantics**: Mirrors natural language ("a platform type" vs "the platform types")
|
||||
5. **Scalability**: Easy to add new types without modifying base class file
|
||||
|
||||
---
|
||||
|
||||
## Migration Checklist
|
||||
|
||||
When renaming existing files to follow this convention:
|
||||
|
||||
### Pre-Migration
|
||||
|
||||
- [ ] Identify all files referencing the old name
|
||||
- [ ] Create backup or ensure version control is clean
|
||||
- [ ] Document the old → new name mapping
|
||||
|
||||
### File Rename
|
||||
|
||||
- [ ] Rename file: `[Entity]TypeBase.yaml` → `[Entity]Type.yaml`
|
||||
- [ ] Update `id:` field in renamed file
|
||||
- [ ] Update `name:` field in renamed file
|
||||
- [ ] Update class name inside the file
|
||||
- [ ] Update all internal documentation references
|
||||
|
||||
### Update References
|
||||
|
||||
- [ ] Update imports in `[Entity]Types.yaml` (subclasses file)
|
||||
- [ ] Update `is_a:` in all subclasses
|
||||
- [ ] Update imports in consuming classes (e.g., `DigitalPlatform.yaml`)
|
||||
- [ ] Update `range:` in slot definitions
|
||||
- [ ] Update any `slot_usage:` references
|
||||
|
||||
### Documentation
|
||||
|
||||
- [ ] Update AGENTS.md if convention is documented there
|
||||
- [ ] Update any design documents
|
||||
- [ ] Add migration note to changelog
|
||||
|
||||
### Verification
|
||||
|
||||
```bash
|
||||
# Verify no references to old name remain
|
||||
grep -r "OldClassName" schemas/20251121/linkml/
|
||||
|
||||
# Verify new file exists
|
||||
ls -la schemas/20251121/linkml/modules/classes/NewClassName.yaml
|
||||
|
||||
# Verify old file is removed
|
||||
ls -la schemas/20251121/linkml/modules/classes/OldClassName.yaml # Should fail
|
||||
|
||||
# Validate schema
|
||||
linkml-validate schemas/20251121/linkml/01_custodian_name.yaml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Related Rules
|
||||
|
||||
- **Rule 0**: LinkML Schemas Are the Single Source of Truth
|
||||
- **Rule 9**: Enum-to-Class Promotion - Single Source of Truth
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
| Date | Version | Change |
|
||||
|------|---------|--------|
|
||||
| 2025-01-04 | 1.0.0 | Initial rule created after DigitalPlatformType refactoring |
|
||||
332
.opencode/rules/linkml/types-classes-as-template-variables.md
Normal file
332
.opencode/rules/linkml/types-classes-as-template-variables.md
Normal file
|
|
@ -0,0 +1,332 @@
|
|||
# Rule: LinkML "Types" Classes Define SPARQL Template Variables
|
||||
|
||||
**Created**: 2025-01-08
|
||||
**Status**: Active
|
||||
**Applies to**: SPARQL template design, RAG pipeline slot extraction
|
||||
|
||||
## Core Principle
|
||||
|
||||
LinkML classes following the `*Type` / `*Types` naming pattern (Rule 0b) serve as the **single source of truth** for valid values in SPARQL template slot variables.
|
||||
|
||||
When designing SPARQL templates, **extract variables from the schema** rather than hardcoding values. This enables:
|
||||
- **Flexibility**: Same template works across all institution types
|
||||
- **Extensibility**: Adding new types to schema automatically extends templates
|
||||
- **Consistency**: Variable values always align with ontology
|
||||
- **Multilingual support**: Type labels in multiple languages available from schema
|
||||
|
||||
## Template Variable Sources
|
||||
|
||||
### 1. Institution Type Variable (`institution_type`)
|
||||
|
||||
**Schema Source**: `CustodianType` abstract class and its 19 subclasses
|
||||
|
||||
| Subclass | Code | Description |
|
||||
|----------|------|-------------|
|
||||
| `ArchiveOrganizationType` | A | Archives |
|
||||
| `BioCustodianType` | B | Botanical gardens, zoos |
|
||||
| `CommercialOrganizationType` | C | Corporations |
|
||||
| `DigitalPlatformType` | D | Digital platforms |
|
||||
| `EducationProviderType` | E | Universities, schools |
|
||||
| `FeatureCustodianType` | F | Geographic features |
|
||||
| `GalleryType` | G | Art galleries |
|
||||
| `HolySacredSiteType` | H | Religious sites |
|
||||
| `IntangibleHeritageGroupType` | I | Folklore organizations |
|
||||
| `LibraryType` | L | Libraries |
|
||||
| `MuseumType` | M | Museums |
|
||||
| `NonProfitType` | N | NGOs |
|
||||
| `OfficialInstitutionType` | O | Government agencies |
|
||||
| `PersonalCollectionType` | P | Private collectors |
|
||||
| `ResearchOrganizationType` | R | Research centers |
|
||||
| `HeritageSocietyType` | S | Historical societies |
|
||||
| `TasteScentHeritageType` | T | Culinary heritage |
|
||||
| `UnspecifiedType` | U | Unknown |
|
||||
| `MixedCustodianType` | X | Multiple types |
|
||||
|
||||
**Template Slot Definition**:
|
||||
```yaml
|
||||
slots:
|
||||
institution_type:
|
||||
type: institution_type
|
||||
required: true
|
||||
schema_source: "modules/classes/CustodianType.yaml"
|
||||
# Valid values derived from CustodianType subclasses
|
||||
```
|
||||
|
||||
### 2. Geographic Scope Variable (`location`)
|
||||
|
||||
Geographic scope is a **hierarchical variable** with three levels:
|
||||
|
||||
| Level | Schema Source | SPARQL Property | Example |
|
||||
|-------|---------------|-----------------|---------|
|
||||
| Country | ISO 3166-1 alpha-2 | `hc:countryCode` | NL, DE, BE |
|
||||
| Subregion | ISO 3166-2 | `hc:subregionCode` | NL-NH, DE-BY |
|
||||
| Settlement | GeoNames | `hc:settlementName` | Amsterdam, Berlin |
|
||||
|
||||
**Template Slot Definition**:
|
||||
```yaml
|
||||
slots:
|
||||
location:
|
||||
type: location
|
||||
required: true
|
||||
schema_source:
|
||||
- "modules/enums/CountryCodeEnum.yaml" (if exists)
|
||||
- "data/reference/geonames.db"
|
||||
resolution_order: [settlement, subregion, country]
|
||||
# SlotExtractor detects which level user specified
|
||||
```
|
||||
|
||||
### 3. Digital Platform Type Variable (`platform_type`)
|
||||
|
||||
**Schema Source**: `DigitalPlatformType` abstract class and 69+ subclasses in `DigitalPlatformTypes.yaml`
|
||||
|
||||
Categories include:
|
||||
- REPOSITORY: DigitalLibrary, DigitalArchivePlatform, OpenAccessRepository
|
||||
- AGGREGATOR: Europeana-type aggregators, BibliographicDatabasePlatform
|
||||
- DISCOVERY: WebPortal, OnlineDatabase, OpenDataPortal
|
||||
- VIRTUAL_HERITAGE: VirtualMuseum, VirtualLibrary, OnlineArtGallery
|
||||
- RESEARCH: DisciplinaryRepository, PrePrintServer, GenealogyDatabase
|
||||
- ...and many more
|
||||
|
||||
**Template Slot Definition**:
|
||||
```yaml
|
||||
slots:
|
||||
platform_type:
|
||||
type: platform_type
|
||||
required: false
|
||||
schema_source: "modules/classes/DigitalPlatformTypes.yaml"
|
||||
```
|
||||
|
||||
## Template Design Pattern
|
||||
|
||||
### Before (Hardcoded - WRONG)
|
||||
|
||||
```yaml
|
||||
# Separate templates for each institution type - DO NOT DO THIS
|
||||
templates:
|
||||
count_museums_in_region:
|
||||
sparql: |
|
||||
SELECT (COUNT(?s) AS ?count) WHERE {
|
||||
?s hc:institutionType "M" ;
|
||||
hc:subregionCode "{{ region }}" .
|
||||
}
|
||||
|
||||
count_archives_in_region:
|
||||
sparql: |
|
||||
SELECT (COUNT(?s) AS ?count) WHERE {
|
||||
?s hc:institutionType "A" ;
|
||||
hc:subregionCode "{{ region }}" .
|
||||
}
|
||||
```
|
||||
|
||||
### After (Parameterized - CORRECT)
|
||||
|
||||
```yaml
|
||||
# Single template with institution_type as variable
|
||||
templates:
|
||||
count_institutions_by_type_location:
|
||||
description: "Count heritage institutions by type and location"
|
||||
slots:
|
||||
institution_type:
|
||||
type: institution_type
|
||||
required: true
|
||||
schema_source: "modules/classes/CustodianType.yaml"
|
||||
location:
|
||||
type: location
|
||||
required: true
|
||||
resolution_order: [settlement, subregion, country]
|
||||
|
||||
# Multiple SPARQL variants based on location resolution
|
||||
sparql_template: |
|
||||
SELECT (COUNT(DISTINCT ?institution) AS ?count) WHERE {
|
||||
?institution a hcc:Custodian ;
|
||||
hc:institutionType "{{ institution_type }}" ;
|
||||
hc:settlementName "{{ location }}" .
|
||||
}
|
||||
|
||||
sparql_template_region: |
|
||||
SELECT (COUNT(DISTINCT ?institution) AS ?count) WHERE {
|
||||
?institution a hcc:Custodian ;
|
||||
hc:institutionType "{{ institution_type }}" ;
|
||||
hc:subregionCode "{{ location }}" .
|
||||
}
|
||||
|
||||
sparql_template_country: |
|
||||
SELECT (COUNT(DISTINCT ?institution) AS ?count) WHERE {
|
||||
?institution a hcc:Custodian ;
|
||||
hc:institutionType "{{ institution_type }}" ;
|
||||
hc:countryCode "{{ location }}" .
|
||||
}
|
||||
```
|
||||
|
||||
## SlotExtractor Responsibilities
|
||||
|
||||
The SlotExtractor module must:
|
||||
|
||||
1. **Detect institution type** from user query:
|
||||
- "musea" → M (Dutch plural)
|
||||
- "archives" → A (English)
|
||||
- "bibliotheken" → L (Dutch)
|
||||
- Use synonyms from `_slot_types.institution_type.synonyms`
|
||||
|
||||
2. **Detect location level** from user query:
|
||||
- "Amsterdam" → settlement level → use `sparql_template`
|
||||
- "Noord-Holland" → subregion level → use `sparql_template_region`
|
||||
- "Nederland" → country level → use `sparql_template_country`
|
||||
|
||||
3. **Normalize values** to schema-compliant codes:
|
||||
- "Noord-Holland" → "NL-NH"
|
||||
- "museum" → "M"
|
||||
|
||||
## Dynamic Label Resolution (NO HARDCODING)
|
||||
|
||||
**CRITICAL**: Labels MUST be resolved at runtime from schema/reference files, NOT hardcoded in templates or code.
|
||||
|
||||
### Institution Type Labels
|
||||
|
||||
The `CustodianType` classes contain multilingual labels via `type_label` slot:
|
||||
|
||||
```yaml
|
||||
MuseumType:
|
||||
type_label:
|
||||
- "Museum"@en
|
||||
- "museum"@nl
|
||||
- "Museum"@de
|
||||
- "museo"@es
|
||||
```
|
||||
|
||||
**Label Resolution Chain**:
|
||||
1. Load `CustodianType.yaml` and subclass files
|
||||
2. Parse `type_label` slot for each type code (M, L, A, etc.)
|
||||
3. Build runtime label dictionary keyed by code + language
|
||||
|
||||
### Geographic Labels
|
||||
|
||||
Subregion/settlement names come from **reference data files**, not hardcoded:
|
||||
|
||||
```yaml
|
||||
label_sources:
|
||||
- "data/reference/iso_3166_2_{country}.json" # e.g., iso_3166_2_nl.json
|
||||
- "data/reference/geonames.db" # GeoNames database
|
||||
- "data/reference/admin1CodesASCII.txt" # GeoNames fallback
|
||||
```
|
||||
|
||||
**Example**: `iso_3166_2_nl.json` contains:
|
||||
```json
|
||||
{
|
||||
"provinces": {
|
||||
"Noord-Holland": "NH",
|
||||
"Zuid-Holland": "ZH",
|
||||
"North Holland": "NH" // English synonym
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### SlotExtractor Label Loading
|
||||
|
||||
```python
|
||||
class SlotExtractor:
|
||||
def __init__(self, schema_path: str, reference_path: str):
|
||||
# Load institution type labels from schema
|
||||
self.type_labels = self._load_custodian_type_labels(schema_path)
|
||||
|
||||
# Load geographic labels from reference files
|
||||
self.subregion_labels = self._load_subregion_labels(reference_path)
|
||||
|
||||
def _load_custodian_type_labels(self, schema_path: str) -> dict:
|
||||
"""Load multilingual labels from CustodianType schema files."""
|
||||
# Parse YAML, extract type_label slots
|
||||
# Return: {"M": {"nl": "musea", "en": "museums"}, ...}
|
||||
|
||||
def _load_subregion_labels(self, reference_path: str) -> dict:
|
||||
"""Load subregion labels from ISO 3166-2 JSON files."""
|
||||
# Load iso_3166_2_nl.json, iso_3166_2_de.json, etc.
|
||||
# Return: {"NL-NH": {"nl": "Noord-Holland", "en": "North Holland"}, ...}
|
||||
```
|
||||
|
||||
### UI Template Interpolation
|
||||
|
||||
```yaml
|
||||
ui_template:
|
||||
nl: "Er zijn {{ count }} {{ institution_type_nl }} in {{ location }}."
|
||||
en: "There are {{ count }} {{ institution_type_en }} in {{ location }}."
|
||||
```
|
||||
|
||||
The RAG pipeline populates `institution_type_nl` / `institution_type_en` from dynamically loaded labels:
|
||||
|
||||
```python
|
||||
# At runtime, NOT hardcoded
|
||||
template_context["institution_type_nl"] = slot_extractor.type_labels[type_code]["nl"]
|
||||
template_context["institution_type_en"] = slot_extractor.type_labels[type_code]["en"]
|
||||
```
|
||||
|
||||
## Adding New Types
|
||||
|
||||
When the schema gains new institution types:
|
||||
|
||||
1. **No template changes needed** - parameterized templates automatically support new types
|
||||
2. **Update synonyms** in `_slot_types.institution_type.synonyms` for NLP recognition
|
||||
3. **Labels auto-discovered** from schema files - no code changes needed
|
||||
|
||||
## Anti-Patterns (FORBIDDEN)
|
||||
|
||||
### Hardcoded Labels in Templates
|
||||
|
||||
```yaml
|
||||
# WRONG - Hardcoded labels
|
||||
labels:
|
||||
NL-NH: {nl: "Noord-Holland", en: "North Holland"}
|
||||
NL-ZH: {nl: "Zuid-Holland", en: "South Holland"}
|
||||
```
|
||||
|
||||
```python
|
||||
# WRONG - Hardcoded labels in code
|
||||
INSTITUTION_TYPE_LABELS_NL = {
|
||||
"M": "musea", "L": "bibliotheken", ...
|
||||
}
|
||||
```
|
||||
|
||||
### Correct Approach
|
||||
|
||||
```yaml
|
||||
# CORRECT - Reference to schema/data source
|
||||
label_sources:
|
||||
- "schemas/20251121/linkml/modules/classes/CustodianType.yaml"
|
||||
- "data/reference/iso_3166_2_{country}.json"
|
||||
```
|
||||
|
||||
```python
|
||||
# CORRECT - Load labels at runtime
|
||||
type_labels = load_labels_from_schema("CustodianType.yaml")
|
||||
region_labels = load_labels_from_reference("iso_3166_2_nl.json")
|
||||
```
|
||||
|
||||
**Why?**
|
||||
1. **Single source of truth** - Labels defined once in schema/reference files
|
||||
2. **Automatic sync** - Schema changes automatically propagate to UI
|
||||
3. **Extensibility** - Adding new countries/types doesn't require code changes
|
||||
4. **Multilingual** - All language variants come from same source
|
||||
|
||||
## Validation
|
||||
|
||||
Templates MUST validate slot values against schema:
|
||||
|
||||
```python
|
||||
def validate_institution_type(value: str) -> bool:
|
||||
"""Validate institution_type against CustodianType schema."""
|
||||
valid_codes = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
|
||||
'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'X']
|
||||
return value in valid_codes
|
||||
```
|
||||
|
||||
## Related Rules
|
||||
|
||||
- **Rule 0b**: Type/Types file naming convention
|
||||
- **Rule 13**: Custodian type annotations on LinkML schema elements
|
||||
- **Rule 37**: Specificity score annotations for template filtering
|
||||
|
||||
## References
|
||||
|
||||
- Schema: `schemas/20251121/linkml/modules/classes/CustodianType.yaml`
|
||||
- Types: `schemas/20251121/linkml/modules/classes/*Types.yaml`
|
||||
- Enums: `schemas/20251121/linkml/modules/enums/InstitutionTypeCodeEnum.yaml`
|
||||
- Templates: `data/sparql_templates.yaml`
|
||||
323
.opencode/rules/linkml/verified-ontology-mapping-requirements.md
Normal file
323
.opencode/rules/linkml/verified-ontology-mapping-requirements.md
Normal file
|
|
@ -0,0 +1,323 @@
|
|||
# Rule: Verified Ontology Mapping Requirements
|
||||
|
||||
## Overview
|
||||
|
||||
All LinkML slot files MUST include ontology mappings that are **verified against the actual ontology files** in `data/ontology/`. Never use hallucinated or assumed ontology terms.
|
||||
|
||||
---
|
||||
|
||||
## 1. Source Ontology Files
|
||||
|
||||
The following ontology files are available for verification:
|
||||
|
||||
| Prefix | Namespace | File | Key Properties |
|
||||
|--------|-----------|------|----------------|
|
||||
| `crm:` | `http://www.cidoc-crm.org/cidoc-crm/` | `CIDOC_CRM_v7.1.3.rdf` | P1, P2, P22, P23, P70, P82, etc. |
|
||||
| `rico:` | `https://www.ica.org/standards/RiC/ontology#` | `RiC-O_1-1.rdf` | hasOrHadHolder, isOrWasPartOf, etc. |
|
||||
| `prov:` | `http://www.w3.org/ns/prov#` | `prov.ttl` | wasInfluencedBy, wasDerivedFrom, used, etc. |
|
||||
| `schema:` | `http://schema.org/` | `schemaorg.owl` | url, name, description, etc. |
|
||||
| `dcterms:` | `http://purl.org/dc/terms/` | `dcterms.rdf` | format, rights, source, etc. |
|
||||
| `skos:` | `http://www.w3.org/2004/02/skos/core#` | `skos.rdf` | prefLabel, notation, inScheme, etc. |
|
||||
| `foaf:` | `http://xmlns.com/foaf/0.1/` | `foaf.ttl` | page, homepage, name, etc. |
|
||||
| `dcat:` | `http://www.w3.org/ns/dcat#` | `dcat3.ttl` | mediaType, downloadURL, etc. |
|
||||
| `time:` | `http://www.w3.org/2006/time#` | `time.ttl` | hasBeginning, hasEnd, etc. |
|
||||
| `org:` | `http://www.w3.org/ns/org#` | `org.rdf` | siteOf, hasSite, subOrganizationOf, etc. |
|
||||
| `sosa:` | `http://www.w3.org/ns/sosa/` | `sosa.ttl` | madeBySensor, observes, etc. |
|
||||
|
||||
---
|
||||
|
||||
## 2. Required Header Documentation
|
||||
|
||||
Every slot file MUST include a header comment block with an ontology alignment table:
|
||||
|
||||
```yaml
|
||||
# ==============================================================================
|
||||
# LinkML Slot Definition: {slot_name}
|
||||
# ==============================================================================
|
||||
# {Brief description - one line}
|
||||
#
|
||||
# ONTOLOGY ALIGNMENT (verified against data/ontology/):
|
||||
#
|
||||
# | Ontology | Property | File/Line | Mapping | Notes |
|
||||
# |---------------|-----------------------|----------------------|---------|------------------------------------|
|
||||
# | **PROV-O** | `prov:used` | prov.ttl:1046-1057 | exact | Entity used by activity |
|
||||
# | **PROV-O** | `prov:wasInfluencedBy`| prov.ttl:1099-1121 | broad | Parent property (subPropertyOf) |
|
||||
#
|
||||
# HIERARCHY: prov:used rdfs:subPropertyOf prov:wasInfluencedBy (line 1046)
|
||||
#
|
||||
# CREATED: YYYY-MM-DD
|
||||
# UPDATED: YYYY-MM-DD - Description of changes
|
||||
# ==============================================================================
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Mapping Types
|
||||
|
||||
Use the correct mapping type based on semantic relationship:
|
||||
|
||||
| Mapping Type | Usage | Example |
|
||||
|--------------|-------|---------|
|
||||
| `slot_uri` | Primary RDF predicate for this slot | `slot_uri: prov:used` |
|
||||
| `exact_mappings` | Semantically equivalent properties | `- schema:dateRetrieved` |
|
||||
| `close_mappings` | Very similar but slightly different semantics | `- prov:wasGeneratedBy` |
|
||||
| `broad_mappings` | Parent/broader properties (slot is subPropertyOf these) | `- prov:wasInfluencedBy` |
|
||||
| `narrow_mappings` | Child/narrower properties (these are subPropertyOf slot) | `- prov:qualifiedUsage` |
|
||||
| `related_mappings` | Conceptually related but different scope | `- dcterms:source` |
|
||||
|
||||
---
|
||||
|
||||
## 4. Hierarchy Discovery Process
|
||||
|
||||
### Step 1: Search for subPropertyOf relationships
|
||||
|
||||
```bash
|
||||
# Find if our property is subPropertyOf something (-> broad_mapping)
|
||||
grep -n "OUR_PROPERTY.*subPropertyOf\|subPropertyOf.*OUR_PROPERTY" data/ontology/*.ttl
|
||||
|
||||
# Find properties that are subPropertyOf our property (-> narrow_mappings)
|
||||
grep -n "subPropertyOf.*OUR_PROPERTY" data/ontology/*.rdf
|
||||
```
|
||||
|
||||
### Step 2: Document the hierarchy
|
||||
|
||||
When you find a hierarchy, document it in:
|
||||
1. The header comment block (HIERARCHY line)
|
||||
2. The appropriate mapping field (`broad_mappings` or `narrow_mappings`)
|
||||
3. Inline comments with file/line references
|
||||
|
||||
---
|
||||
|
||||
## 5. Key Ontology Hierarchies Reference
|
||||
|
||||
### PROV-O (`prov.ttl`)
|
||||
|
||||
```
|
||||
prov:wasInfluencedBy (parent of many)
|
||||
├── prov:wasDerivedFrom
|
||||
│ ├── prov:hadPrimarySource
|
||||
│ ├── prov:wasQuotedFrom
|
||||
│ └── prov:wasRevisionOf
|
||||
├── prov:wasGeneratedBy
|
||||
├── prov:used
|
||||
├── prov:wasAssociatedWith
|
||||
├── prov:wasAttributedTo
|
||||
└── prov:wasInformedBy
|
||||
|
||||
prov:influenced (inverse direction)
|
||||
├── prov:generated
|
||||
└── prov:invalidated
|
||||
```
|
||||
|
||||
### CIDOC-CRM (`CIDOC_CRM_v7.1.3.rdf`)
|
||||
|
||||
```
|
||||
crm:P1_is_identified_by
|
||||
├── crm:P48_has_preferred_identifier
|
||||
└── crm:P168_place_is_defined_by
|
||||
|
||||
crm:P82_at_some_time_within
|
||||
├── crm:P82a_begin_of_the_begin
|
||||
└── crm:P82b_end_of_the_end
|
||||
|
||||
crm:P81_ongoing_throughout
|
||||
├── crm:P81a_end_of_the_begin
|
||||
└── crm:P81b_begin_of_the_end
|
||||
|
||||
crm:P67_refers_to
|
||||
└── crm:P70_documents
|
||||
```
|
||||
|
||||
### RiC-O (`RiC-O_1-1.rdf`)
|
||||
|
||||
```
|
||||
rico:isOrWasUnderAuthorityOf
|
||||
├── rico:hasOrHadManager
|
||||
│ └── rico:hasOrHadHolder
|
||||
└── (other authority relationships)
|
||||
|
||||
rico:hasOrHadPart
|
||||
└── rico:containsOrContained
|
||||
└── rico:containsTransitive
|
||||
|
||||
rico:isSuccessorOf
|
||||
├── rico:hasAncestor
|
||||
├── rico:resultedFromTheMergerOf
|
||||
└── rico:resultedFromTheSplitOf
|
||||
```
|
||||
|
||||
### Dublin Core Terms (`dcterms.rdf`)
|
||||
|
||||
```
|
||||
dcterms:rights
|
||||
└── dcterms:accessRights
|
||||
```
|
||||
|
||||
### DCAT (`dcat3.ttl`)
|
||||
|
||||
```
|
||||
dcterms:format
|
||||
├── dcat:mediaType
|
||||
├── dcat:compressFormat
|
||||
└── dcat:packageFormat
|
||||
```
|
||||
|
||||
### FOAF (`foaf.ttl`)
|
||||
|
||||
```
|
||||
foaf:page
|
||||
├── foaf:homepage
|
||||
├── foaf:weblog
|
||||
├── foaf:interest
|
||||
├── foaf:workplaceHomepage
|
||||
└── foaf:schoolHomepage
|
||||
```
|
||||
|
||||
### Schema.org (`schemaorg.owl`)
|
||||
|
||||
```
|
||||
schema:workFeatured
|
||||
├── schema:workPerformed
|
||||
└── schema:workPresented
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification Commands
|
||||
|
||||
### Check if a property exists
|
||||
|
||||
```bash
|
||||
grep -n "PROPERTY_NAME" data/ontology/FILE.ttl
|
||||
```
|
||||
|
||||
### Find all subPropertyOf for a property
|
||||
|
||||
```bash
|
||||
grep -B5 -A5 "subPropertyOf" data/ontology/FILE.ttl | grep -A5 -B5 "PROPERTY_NAME"
|
||||
```
|
||||
|
||||
### Validate YAML after editing
|
||||
|
||||
```bash
|
||||
python3 -c "import yaml; yaml.safe_load(open('FILENAME.yaml')); print('✅ valid')"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. Complete Slot File Example
|
||||
|
||||
```yaml
|
||||
# ==============================================================================
|
||||
# LinkML Slot Definition: retrieved_through
|
||||
# ==============================================================================
|
||||
# To denote the specific method, protocol, or mechanism by which a resource
|
||||
# or data was accessed, fetched, or collected.
|
||||
#
|
||||
# ONTOLOGY ALIGNMENT (verified against data/ontology/):
|
||||
#
|
||||
# | Ontology | Property | File/Line | Mapping | Notes |
|
||||
# |------------|--------------------------|--------------------|---------|------------------------------------|
|
||||
# | **PROV-O** | `prov:used` | prov.ttl:1046-1057 | exact | Entity used by activity |
|
||||
# | **PROV-O** | `prov:wasInfluencedBy` | prov.ttl:1099-1121 | broad | Parent property (subPropertyOf) |
|
||||
# | **PROV-O** | `prov:qualifiedUsage` | prov.ttl:788-798 | narrow | Qualified usage with details |
|
||||
#
|
||||
# HIERARCHY: prov:used rdfs:subPropertyOf prov:wasInfluencedBy (line 1046)
|
||||
#
|
||||
# CREATED: 2026-01-26
|
||||
# UPDATED: 2026-02-03 - Added broad/narrow mappings, header documentation
|
||||
# ==============================================================================
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/retrieved_through
|
||||
name: retrieved_through
|
||||
title: Retrieved Through
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
retrieved_through:
|
||||
slot_uri: prov:used
|
||||
description: |
|
||||
To denote the specific method, protocol, or mechanism by which a resource or data was accessed, fetched, or collected.
|
||||
range: string
|
||||
exact_mappings:
|
||||
- prov:used # prov.ttl:1046-1057
|
||||
broad_mappings:
|
||||
- prov:wasInfluencedBy # prov.ttl:1099-1121 - parent (used subPropertyOf wasInfluencedBy)
|
||||
narrow_mappings:
|
||||
- prov:qualifiedUsage # prov.ttl:788-798 - qualified form with details
|
||||
comments:
|
||||
- |
|
||||
**ONTOLOGY ALIGNMENT** (verified against data/ontology/):
|
||||
|
||||
| Ontology | Property | Line | Mapping | Notes |
|
||||
|----------|----------|------|---------|-------|
|
||||
| PROV-O | prov:used | 1046-1057 | exact | Entity used by activity |
|
||||
| PROV-O | prov:wasInfluencedBy | 1099-1121 | broad | Parent property |
|
||||
| PROV-O | prov:qualifiedUsage | 788-798 | narrow | Qualified usage |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. Anti-Patterns
|
||||
|
||||
### ❌ WRONG: Hallucinated ontology terms
|
||||
|
||||
```yaml
|
||||
exact_mappings:
|
||||
- prov:retrievedWith # ❌ Does not exist in PROV-O!
|
||||
- rico:wasObtainedBy # ❌ Not a real RiC-O property!
|
||||
```
|
||||
|
||||
### ❌ WRONG: No verification references
|
||||
|
||||
```yaml
|
||||
exact_mappings:
|
||||
- prov:used # No file/line reference - how do we know this is correct?
|
||||
```
|
||||
|
||||
### ✅ CORRECT: Verified with references
|
||||
|
||||
```yaml
|
||||
exact_mappings:
|
||||
- prov:used # prov.ttl:1046-1057 - "Entity used by activity"
|
||||
broad_mappings:
|
||||
- prov:wasInfluencedBy # prov.ttl:1099-1121 - parent property (verified subPropertyOf)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. Validation Checklist
|
||||
|
||||
Before completing a slot file, verify:
|
||||
|
||||
- [ ] Header comment block includes ontology alignment table
|
||||
- [ ] All mappings verified against actual ontology files in `data/ontology/`
|
||||
- [ ] File/line references provided for each mapping
|
||||
- [ ] `rdfs:subPropertyOf` relationships checked for broad/narrow mappings
|
||||
- [ ] HIERARCHY line documents any property hierarchies
|
||||
- [ ] No hallucinated or assumed ontology terms
|
||||
- [ ] YAML validates correctly
|
||||
|
||||
---
|
||||
|
||||
## See Also
|
||||
|
||||
- Rule 1: Ontology Files Are Your Primary Reference (`no-hallucinated-ontology-references.md`)
|
||||
- Rule: Verified Ontology Terms (`verified-ontology-terms.md`)
|
||||
- Ontology files: `data/ontology/`
|
||||
|
||||
---
|
||||
|
||||
**Version**: 1.0.0
|
||||
**Created**: 2026-02-03
|
||||
**Author**: OpenCODE
|
||||
68
.opencode/rules/linkml/verified-ontology-terms.md
Normal file
68
.opencode/rules/linkml/verified-ontology-terms.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Rule 62: Verified Ontology Terms Reference
|
||||
|
||||
🚨 **CRITICAL**: All `class_uri`, `slot_uri`, and mapping properties (`exact_mappings`, `close_mappings`, etc.) MUST use verified classes and predicates that exist in the local ontology files at `data/ontology/`.
|
||||
|
||||
## 1. Verified Ontology Files
|
||||
|
||||
The following ontologies are locally available in `data/ontology/`. Always verify terms against these specific files. **NO HALLUCINATIONS ALLOWED.**
|
||||
|
||||
**Mandatory Verification Step**: Before using any `class_uri`, `slot_uri`, or mapping URI, you MUST `grep` the term in the local ontology file to confirm it exists.
|
||||
|
||||
| Prefix | Namespace | Local File | Key Classes/Predicates (Verified) |
|
||||
|--------|-----------|------------|-----------------------------------|
|
||||
| `cpov:` | `http://data.europa.eu/m8g/` | `core-public-organisation-ap.ttl` | `PublicOrganisation`, `contactPage`, `email` |
|
||||
| `crm:` | `http://www.cidoc-crm.org/cidoc-crm/` | `CIDOC_CRM_v7.1.3.rdf` | `E1_CRM_Entity`, `E5_Event`, `P2_has_type` |
|
||||
| `rico:` | `https://www.ica.org/standards/RiC/ontology#` | `RiC-O_1-1.rdf` | `Record`, `Agent`, `hasOrHadHolder` (Note: Use v1.1 file) |
|
||||
| `pico:` | `https://personsincontext.org/model#` | `pico.ttl` | `PersonObservation`, `role` |
|
||||
| `prov:` | `http://www.w3.org/ns/prov#` | `prov.ttl` | `Activity`, `Agent`, `wasGeneratedBy` |
|
||||
| `skos:` | `http://www.w3.org/2004/02/skos/core#` | `skos.rdf` | `Concept`, `prefLabel`, `broader` |
|
||||
| `schema:` | `https://schema.org/` | `frontend/public/ontology/schemaorg.owl` | `Organization`, `Place`, `name`, `url` |
|
||||
| `dcterms:` | `http://purl.org/dc/terms/` | `dublin_core_elements.rdf` | `identifier`, `title`, `description` |
|
||||
| `org:` | `http://www.w3.org/ns/org#` | `org.rdf` | `Organization`, `hasMember` |
|
||||
| `tooi:` | `https://identifier.overheid.nl/tooi/def/ont/` | `tooiont.ttl` | `Overheidsorganisatie` |
|
||||
| `dcat:` | `http://www.w3.org/ns/dcat#` | `dcat3.ttl` | `Dataset`, `Catalog`, `dataset` |
|
||||
| `gn:` | `https://www.geonames.org/ontology#` | `geonames_ontology.rdf` | `Feature` |
|
||||
| `dqv:` | `http://www.w3.org/ns/dqv#` | `dqv.ttl` | `QualityMeasurement`, `hasQualityAnnotation` |
|
||||
| `premis:` | `http://www.loc.gov/premis/rdf/v3/` | `premis3.owl` | `fixity`, `storedAt`, `Event` |
|
||||
|
||||
## 2. Verification Procedure (MANDATORY)
|
||||
|
||||
**You MUST verify every term.** Do not assume a term exists just because it sounds standard.
|
||||
|
||||
```bash
|
||||
# 1. Identify the source ontology file
|
||||
ls data/ontology/
|
||||
|
||||
# 2. Grep for the specific term (e.g., 'hasFixity')
|
||||
grep "hasFixity" data/ontology/premis3.owl
|
||||
# Result: EMPTY -> Term does not exist! DO NOT USE.
|
||||
|
||||
# 3. Grep for the correct term (e.g., 'fixity')
|
||||
grep "fixity" data/ontology/premis3.owl
|
||||
# Result: <owl:ObjectProperty rdf:about=".../fixity"> -> Term exists. USE THIS.
|
||||
```
|
||||
|
||||
## 3. LinkML Mapping Requirements
|
||||
|
||||
Mappings must be precise and verified.
|
||||
|
||||
* `exact_mappings` = `skos:exactMatch` (Semantic equivalence)
|
||||
* `close_mappings` = `skos:closeMatch` (Near equivalence)
|
||||
* `related_mappings` = `skos:relatedMatch` (Association)
|
||||
* `broad_mappings` = `skos:broadMatch` (Broader concept)
|
||||
* `narrow_mappings` = `skos:narrowMatch` (Narrower concept)
|
||||
|
||||
## 4. Prohibited/Invalid Terms (Hallucinations)
|
||||
|
||||
Do NOT use these commonly hallucinated or incorrect terms. They have been verified as **non-existent** in our local ontologies:
|
||||
|
||||
* ❌ `dqv:ConfidenceScore` (Use `dqv:QualityMeasurement`)
|
||||
* ❌ `premis:hasFixity` (Use `premis:fixity`)
|
||||
* ❌ `premis:hasFrameRate` (Verify specific PREMIS properties first)
|
||||
* ❌ `schema:HeritageBuilding` (Use `schema:LandmarksOrHistoricalBuildings`)
|
||||
* ❌ `rico:has_provenance` (Use `rico:history`)
|
||||
* ❌ `rico:hasProvenance` (Use `rico:history`)
|
||||
* ❌ `schema:archive` (Use `schema:archiveHeld` or `schema:archivedAt`)
|
||||
|
||||
**Always verify against the local file content.**
|
||||
|
||||
162
.opencode/rules/linkml/wikidata-mapping-discovery-rule.md
Normal file
162
.opencode/rules/linkml/wikidata-mapping-discovery-rule.md
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
# Wikidata Mapping Discovery Rule
|
||||
|
||||
## Rule: Use Wikidata MCP to Discover and Verify Mappings Carefully
|
||||
|
||||
When adding Wikidata mappings to class files, you MUST verify the semantic meaning and relationship before adding any mapping.
|
||||
|
||||
### 🚨 CRITICAL: Always Verify Before Adding
|
||||
|
||||
**NEVER add a Wikidata QID without verifying:**
|
||||
1. What the entity actually IS (not just the label)
|
||||
2. That it's the SAME TYPE as your class (organization→organization, NOT organization→building)
|
||||
3. That the semantic relationship makes sense
|
||||
|
||||
### Workflow
|
||||
|
||||
#### Step 1: VERIFY Existing Mappings First
|
||||
|
||||
Before trusting any existing mapping, verify it:
|
||||
|
||||
```sparql
|
||||
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
||||
VALUES ?item { wd:Q22075301 wd:Q1643722 wd:Q185583 }
|
||||
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
||||
}
|
||||
```
|
||||
|
||||
**Example of WRONG mappings found in codebase:**
|
||||
| QID | Label | Was Mapped To | WHY WRONG |
|
||||
|-----|-------|---------------|-----------|
|
||||
| Q22075301 | textile artwork | FacultyPaperCollection | Not related at all! |
|
||||
| Q1643722 | building in Vienna | UniversityAdministrativeFonds | Not an archival concept! |
|
||||
| Q185583 | candy | AcademicStudentRecordSeries | Completely unrelated! |
|
||||
|
||||
#### Step 2: Search for Candidates
|
||||
|
||||
Search for relevant Wikidata entities by keyword or hierarchy:
|
||||
|
||||
```sparql
|
||||
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
||||
?item wdt:P279 wd:Q166118 . # subclasses of "archives"
|
||||
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
||||
}
|
||||
```
|
||||
|
||||
#### Step 3: VERIFY Each Candidate
|
||||
|
||||
For EVERY candidate found, verify:
|
||||
1. **Read the description** - does it match your class?
|
||||
2. **Check instance of (P31)** - is it the same type?
|
||||
3. **Check subclass of (P279)** - is it in a relevant hierarchy?
|
||||
|
||||
```sparql
|
||||
SELECT ?item ?itemLabel ?itemDescription ?instanceLabel ?subclassLabel WHERE {
|
||||
VALUES ?item { wd:Q9388534 }
|
||||
OPTIONAL { ?item wdt:P31 ?instance. }
|
||||
OPTIONAL { ?item wdt:P279 ?subclass. }
|
||||
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
||||
}
|
||||
```
|
||||
|
||||
#### Step 4: Confirm Semantic Relationship
|
||||
|
||||
Ask: **Would a domain expert agree this mapping makes sense?**
|
||||
|
||||
| Your Class | Wikidata Entity | Verdict |
|
||||
|------------|-----------------|---------|
|
||||
| FacultyPaperCollection | Q22075301 (textile artwork) | ❌ NO - completely unrelated |
|
||||
| CampusDocumentationCollection | Q9388534 (archival collection) | ✅ YES - semantically related |
|
||||
| AcademicArchive | Q27032435 (academic archive) | ✅ YES - exact match |
|
||||
|
||||
### Type Compatibility Rules
|
||||
|
||||
| Your Class Type | Valid Wikidata Types | Invalid Wikidata Types |
|
||||
|-----------------|---------------------|------------------------|
|
||||
| Organization | organization, institution | building, person, artwork |
|
||||
| Record Set Type | collection, fonds, series | building, candy, textile |
|
||||
| Event | activity, occurrence | organization, place |
|
||||
| Type/Category | type, concept, class | specific instances |
|
||||
|
||||
### Common Mistakes to Avoid
|
||||
|
||||
❌ **WRONG: Adding any QID found in search without verification**
|
||||
```
|
||||
"Found Q1643722 in search results, adding it as mapping"
|
||||
→ Result: Mapping a "building in Vienna" to "UniversityAdministrativeFonds"
|
||||
```
|
||||
|
||||
✅ **CORRECT: Verify description and type before adding**
|
||||
```
|
||||
1. Search finds Q1643722
|
||||
2. Verify: Q1643722 = "building in Vienna, Austria"
|
||||
3. Check: Is a building related to "UniversityAdministrativeFonds"?
|
||||
4. Decision: NO - do not add this mapping
|
||||
```
|
||||
|
||||
### When to Add Wikidata Mappings
|
||||
|
||||
Add Wikidata mappings ONLY when:
|
||||
- [ ] You verified the entity's label AND description
|
||||
- [ ] The entity is the same type as your class
|
||||
- [ ] The semantic relationship is clear (exact, broader, narrower, related)
|
||||
- [ ] A domain expert would agree the mapping makes sense
|
||||
|
||||
### When NOT to Add Wikidata Mappings
|
||||
|
||||
Do NOT add Wikidata mappings when:
|
||||
- You only searched but didn't verify the description
|
||||
- The entity type doesn't match (e.g., building vs. organization)
|
||||
- The relationship is unclear or forced
|
||||
- You're just trying to "fill in" mappings
|
||||
|
||||
### Mapping Categories
|
||||
|
||||
| Category | Wikidata Property | When to Use |
|
||||
|----------|-------------------|-------------|
|
||||
| `exact_mappings` | - | Same semantic meaning (rare!) |
|
||||
| `close_mappings` | - | Similar but not identical |
|
||||
| `broad_mappings` | P279 (subclass of) | Wikidata entity is BROADER |
|
||||
| `narrow_mappings` | inverse of P279 | Wikidata entity is NARROWER |
|
||||
| `related_mappings` | - | Non-hierarchical but semantically related |
|
||||
|
||||
### Checklist
|
||||
|
||||
For each Wikidata mapping:
|
||||
|
||||
- [ ] Verified entity label matches expected meaning
|
||||
- [ ] Verified entity description confirms semantic fit
|
||||
- [ ] Entity type is compatible with class type
|
||||
- [ ] Mapping category (exact/close/broad/narrow/related) is correct
|
||||
- [ ] A domain expert would agree this makes sense
|
||||
|
||||
### Example: Proper Verification for FacultyPaperCollection
|
||||
|
||||
**Step 1: What are we looking for?**
|
||||
- Personal papers of faculty members
|
||||
- Academic archives
|
||||
- Manuscript collections
|
||||
|
||||
**Step 2: Search**
|
||||
```sparql
|
||||
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
||||
?item ?prop ?value .
|
||||
?value bif:contains "'personal papers' OR 'faculty papers'" .
|
||||
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
||||
} LIMIT 10
|
||||
```
|
||||
|
||||
**Step 3: Verify candidates**
|
||||
- If no exact match found → DO NOT add a wrong mapping
|
||||
- Better to have NO Wikidata mapping than a WRONG one
|
||||
|
||||
**Step 4: Decision**
|
||||
- No exact Wikidata match for "FacultyPaperCollection"
|
||||
- Keep ontology mappings only (rico-rst:Fonds, bf:Archival)
|
||||
- Do NOT add unrelated QIDs like Q22075301 (textile artwork!)
|
||||
|
||||
### Integration with Other Rules
|
||||
|
||||
This rule complements:
|
||||
- **mapping-specificity-hypernym-rule.md**: Rules for choosing mapping type
|
||||
- **wikidata-mapping-verification-rule.md**: Rules for verifying QIDs exist
|
||||
- **verified-ontology-mapping-requirements.md**: General ontology verification
|
||||
97
.opencode/rules/linkml/wikidata-mapping-verification-rule.md
Normal file
97
.opencode/rules/linkml/wikidata-mapping-verification-rule.md
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
# Wikidata Mapping Verification Rule
|
||||
|
||||
## Rule: Always Verify Wikidata Mappings Using Authenticated Tools
|
||||
|
||||
When adding or reviewing Wikidata mappings (wd:Qxxxxx), you MUST verify the entity exists and is semantically appropriate using the available tools.
|
||||
|
||||
### Verification Methods (in order of preference)
|
||||
|
||||
#### 1. Wikidata SPARQL Query (Primary)
|
||||
|
||||
Use `wikidata-authenticated_execute_sparql` to verify entity labels and descriptions:
|
||||
|
||||
```sparql
|
||||
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
||||
VALUES ?item { wd:Q38723 wd:Q2385804 }
|
||||
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
||||
}
|
||||
```
|
||||
|
||||
#### 2. Wikidata Metadata API
|
||||
|
||||
Use `wikidata-authenticated_get_metadata` to retrieve label and description:
|
||||
|
||||
```
|
||||
entity_id: Q38723
|
||||
language: en
|
||||
```
|
||||
|
||||
#### 3. Web Search as Fallback
|
||||
|
||||
If authenticated tools fail, use `linkup_linkup-search` or `exa_web_search_exa`:
|
||||
```
|
||||
query: "Wikidata Q38723 higher education institution"
|
||||
```
|
||||
|
||||
### Common Errors to Avoid
|
||||
|
||||
| Error | Example | Fix |
|
||||
|-------|---------|-----|
|
||||
| **Wrong QID** | Q600875 (a person) for "academic program" | Q600134 (course) |
|
||||
| **Too broad** | Q35120 (entity) for specific class | Use appropriate subclass |
|
||||
| **Too narrow** | Q3918 (university) for general academic institution | Use Q38723 (higher education institution) |
|
||||
| **Different concept** | Q416703 (museum building) for museum organization | Use appropriate organizational class |
|
||||
|
||||
### Verification Checklist
|
||||
|
||||
Before committing any Wikidata mapping:
|
||||
|
||||
- [ ] QID exists (not 404)
|
||||
- [ ] Label matches expected concept
|
||||
- [ ] Description confirms semantic alignment
|
||||
- [ ] Mapping specificity follows Rule 63 (exact/broad/narrow/close)
|
||||
- [ ] Not a duplicate of another mapping in the same class
|
||||
|
||||
### Example Verification
|
||||
|
||||
**WRONG:**
|
||||
```yaml
|
||||
# Q600875 was not verified - it's actually a person
|
||||
close_mappings:
|
||||
- wd:Q600875 # Juan Lindolfo Cuestas - President of Uruguay!
|
||||
```
|
||||
|
||||
**CORRECT:**
|
||||
```yaml
|
||||
# Verified via SPARQL: Q600134 = "course"
|
||||
close_mappings:
|
||||
- wd:Q600134 # program of study, or unit of teaching
|
||||
```
|
||||
|
||||
### SPARQL Query Template
|
||||
|
||||
```sparql
|
||||
SELECT ?item ?itemLabel ?itemDescription ?itemAltLabel WHERE {
|
||||
VALUES ?item { wd:Q38723 }
|
||||
OPTIONAL { ?item skos:altLabel ?itemAltLabel. FILTER(LANG(?itemAltLabel) = "en") }
|
||||
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
||||
}
|
||||
```
|
||||
|
||||
### Batch Verification
|
||||
|
||||
For multiple QIDs in a file, verify all at once:
|
||||
|
||||
```sparql
|
||||
SELECT ?item ?itemLabel ?itemDescription WHERE {
|
||||
VALUES ?item { wd:Q38723 wd:Q2385804 wd:Q600134 wd:Q3918 }
|
||||
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
|
||||
}
|
||||
```
|
||||
|
||||
### Integration with Other Rules
|
||||
|
||||
This rule complements:
|
||||
- **Rule 63** (mapping-specificity-hypernym-rule.md): Determines mapping type (exact/broad/narrow)
|
||||
- **no-hallucinated-ontology-references.md**: Prevents fake ontology terms
|
||||
- **verified-ontology-terms.md**: General ontology verification
|
||||
BIN
.opencode/rules/sem_rules.zip
Normal file
BIN
.opencode/rules/sem_rules.zip
Normal file
Binary file not shown.
|
|
@ -3,10 +3,10 @@
|
|||
**Scope:** Schema Migration / Slot Fixes
|
||||
|
||||
**Description:**
|
||||
The file `/Users/kempersc/apps/glam/data/fixes/slot_fixes.yaml` is the **single authoritative source** for tracking slot migrations and fixes.
|
||||
The file `slot_fixes.yaml` is the **single authoritative source** for tracking slot migrations and fixes.
|
||||
|
||||
**Directives:**
|
||||
1. **Authoritative Source:** Always read and update `/Users/kempersc/apps/glam/data/fixes/slot_fixes.yaml`. Do NOT use `schemas/.../slot_fixes.yaml` as the master list (though you may need to sync them if they diverge, the `data/fixes` version takes precedence).
|
||||
1. **Authoritative Source:** Always read and update `slot_fixes.yaml`.
|
||||
2. **Processed Status:** When a slot migration is completed (schema updated, data migrated), you MUST update the entry in `slot_fixes.yaml` with a `processed` block containing:
|
||||
* `status: true`
|
||||
* `date: 'YYYY-MM-DD'`
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
## Summary
|
||||
|
||||
The `revision` key in `schemas/20251121/linkml/modules/slots/slot_fixes.yaml` is **IMMUTABLE**. AI agents MUST follow revision specifications exactly and are NEVER permitted to modify the content of revision entries.
|
||||
The `revision` key in `slot_fixes.yaml` is **IMMUTABLE**. AI agents MUST follow revision specifications exactly and are NEVER permitted to modify the content of revision entries.
|
||||
|
||||
## The Authoritative Source
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
# Rule: Slot Naming Convention (Current Style)
|
||||
|
||||
🚨 **CRITICAL**: New LinkML slot names MUST follow the current verb-first naming style used in active slot files under `schemas/20251121/linkml/modules/slots/`.
|
||||
|
||||
## Status
|
||||
|
||||
- This rule **replaces** the deprecated RiC-O naming rule.
|
||||
- The old `has_or_had_*` / `is_or_was_*` requirement is not mandatory for new slot names.
|
||||
🚨 **CRITICAL**: New LinkML slot names MUST follow the current verb-first naming style used in active slot files under `modules/slots/`.
|
||||
|
||||
## Core Naming Rules
|
||||
|
||||
|
|
@ -47,7 +42,6 @@ Examples:
|
|||
|
||||
## Legacy Compatibility
|
||||
|
||||
- Existing `has_or_had_*` and `is_or_was_*` slots can remain where already established.
|
||||
- For migrations, keep backward compatibility via `aliases` when renaming to current-style canonical names.
|
||||
- Do not rename canonical slots opportunistically; follow migration plans and canonical-slot protection rules.
|
||||
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ classes:
|
|||
range: WikidataEnrichment
|
||||
description: Full Wikidata enrichment data
|
||||
ghcid:
|
||||
range: GhcidBlock
|
||||
range: GHCIDBlock
|
||||
description: GHCID generation metadata with history
|
||||
web_claims:
|
||||
range: WebClaimsBlock
|
||||
|
|
@ -1174,7 +1174,7 @@ classes:
|
|||
# GHCID BLOCK - Heritage Custodian ID with history
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
GhcidBlock:
|
||||
GHCIDBlock:
|
||||
description: GHCID generation metadata and history
|
||||
attributes:
|
||||
ghcid_current:
|
||||
|
|
@ -1203,7 +1203,7 @@ classes:
|
|||
range: datetime
|
||||
description: When GHCID was generated
|
||||
ghcid_history:
|
||||
range: GhcidHistoryEntry
|
||||
range: GHCIDHistoryEntry
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
description: History of GHCID changes
|
||||
|
|
@ -1220,7 +1220,7 @@ classes:
|
|||
range: boolean
|
||||
description: Whether a collision was detected and resolved
|
||||
|
||||
GhcidHistoryEntry:
|
||||
GHCIDHistoryEntry:
|
||||
description: Historical GHCID entry with validity period
|
||||
attributes:
|
||||
ghcid:
|
||||
|
|
|
|||
|
|
@ -75,8 +75,8 @@ imports:
|
|||
- ./modules/classes/ProvenanceSources
|
||||
- ./modules/classes/SourceRecord
|
||||
# Identifiers Domain
|
||||
- ./modules/classes/GhcidBlock
|
||||
- ./modules/classes/GhcidHistoryEntry
|
||||
- ./modules/classes/GHCIDBlock
|
||||
- ./modules/classes/GHCIDHistoryEntry
|
||||
- ./modules/classes/Identifier
|
||||
# Location Domain
|
||||
- ./modules/classes/CoordinateProvenance
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ instances:
|
|||
examples:
|
||||
- name: Private art collector
|
||||
description: Individual maintaining personal art collection
|
||||
ghcid_type: P # Personal collection
|
||||
GHCID_type: P # Personal collection
|
||||
- name: Family archivist
|
||||
description: Individual preserving family papers and photographs
|
||||
- name: Independent researcher
|
||||
|
|
|
|||
|
|
@ -1143,13 +1143,13 @@
|
|||
"category": "classes"
|
||||
},
|
||||
{
|
||||
"name": "GhcidBlock",
|
||||
"path": "modules/classes/GhcidBlock.yaml",
|
||||
"name": "GHCIDBlock",
|
||||
"path": "modules/classes/GHCIDBlock.yaml",
|
||||
"category": "classes"
|
||||
},
|
||||
{
|
||||
"name": "GhcidHistoryEntry",
|
||||
"path": "modules/classes/GhcidHistoryEntry.yaml",
|
||||
"name": "GHCIDHistoryEntry",
|
||||
"path": "modules/classes/GHCIDHistoryEntry.yaml",
|
||||
"category": "classes"
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ imports:
|
|||
- ./CustodianNameConsensus
|
||||
- ./DigitalPlatform
|
||||
- ./GenealogiewerkbalkEnrichment
|
||||
- ./GhcidBlock
|
||||
- ./GHCIDBlock
|
||||
- ./GoogleMapsEnrichment
|
||||
- ./GoogleMapsPlaywrightEnrichment
|
||||
- ./Identifier
|
||||
|
|
@ -94,7 +94,7 @@ classes:
|
|||
range: WikidataEnrichment
|
||||
description: Full Wikidata enrichment data
|
||||
ghcid:
|
||||
range: GhcidBlock
|
||||
range: GHCIDBlock
|
||||
description: GHCID generation metadata with history
|
||||
has_or_had_web_claim:
|
||||
range: WebClaimsBlock
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
# GhcidBlock - GHCID generation metadata and history
|
||||
# GHCIDBlock - GHCID generation metadata and history
|
||||
# Extracted from custodian_source.yaml per Rule 38 (modular schema files)
|
||||
# Extraction date: 2026-01-08
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/GhcidBlock
|
||||
name: GhcidBlock
|
||||
title: GhcidBlock
|
||||
id: https://nde.nl/ontology/hc/classes/GHCIDBlock
|
||||
name: GHCIDBlock
|
||||
title: GHCIDBlock
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
|
|
@ -17,12 +17,12 @@ imports:
|
|||
- linkml:types
|
||||
|
||||
|
||||
- ./GhcidHistoryEntry
|
||||
- ./GHCIDHistoryEntry
|
||||
- ./LocationResolution
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
GhcidBlock:
|
||||
GHCIDBlock:
|
||||
description: GHCID generation metadata and history
|
||||
attributes:
|
||||
ghcid_current:
|
||||
|
|
@ -51,7 +51,7 @@ classes:
|
|||
range: datetime
|
||||
description: When GHCID was generated
|
||||
ghcid_history:
|
||||
range: GhcidHistoryEntry
|
||||
range: GHCIDHistoryEntry
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
description: History of GHCID changes
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
# GhcidHistoryEntry - Historical GHCID entry with validity period
|
||||
# GHCIDHistoryEntry - Historical GHCID entry with validity period
|
||||
# Extracted from custodian_source.yaml per Rule 38 (modular schema files)
|
||||
# Extraction date: 2026-01-08
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/GhcidHistoryEntry
|
||||
name: GhcidHistoryEntry
|
||||
title: GhcidHistoryEntry
|
||||
id: https://nde.nl/ontology/hc/classes/GHCIDHistoryEntry
|
||||
name: GHCIDHistoryEntry
|
||||
title: GHCIDHistoryEntry
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
|
|
@ -20,7 +20,7 @@ imports:
|
|||
default_range: string
|
||||
|
||||
classes:
|
||||
GhcidHistoryEntry:
|
||||
GHCIDHistoryEntry:
|
||||
description: Historical GHCID entry with validity period
|
||||
attributes:
|
||||
ghcid:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
id: https://nde.nl/ontology/hc/slot/ghcid
|
||||
name: ghcid_slot
|
||||
title: Ghcid Slot
|
||||
title: GHCID Slot
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ classes:
|
|||
range: WikidataEnrichment
|
||||
description: Full Wikidata enrichment data
|
||||
ghcid:
|
||||
range: GhcidBlock
|
||||
range: GHCIDBlock
|
||||
description: GHCID generation metadata with history
|
||||
web_claims:
|
||||
range: WebClaimsBlock
|
||||
|
|
@ -1174,7 +1174,7 @@ classes:
|
|||
# GHCID BLOCK - Heritage Custodian ID with history
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
GhcidBlock:
|
||||
GHCIDBlock:
|
||||
description: GHCID generation metadata and history
|
||||
attributes:
|
||||
ghcid_current:
|
||||
|
|
@ -1203,7 +1203,7 @@ classes:
|
|||
range: datetime
|
||||
description: When GHCID was generated
|
||||
ghcid_history:
|
||||
range: GhcidHistoryEntry
|
||||
range: GHCIDHistoryEntry
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
description: History of GHCID changes
|
||||
|
|
@ -1220,7 +1220,7 @@ classes:
|
|||
range: boolean
|
||||
description: Whether a collision was detected and resolved
|
||||
|
||||
GhcidHistoryEntry:
|
||||
GHCIDHistoryEntry:
|
||||
description: Historical GHCID entry with validity period
|
||||
attributes:
|
||||
ghcid:
|
||||
|
|
|
|||
|
|
@ -75,8 +75,8 @@ imports:
|
|||
- ./modules/classes/ProvenanceSources
|
||||
- ./modules/classes/SourceRecord
|
||||
# Identifiers Domain
|
||||
- ./modules/classes/GhcidBlock
|
||||
- ./modules/classes/GhcidHistoryEntry
|
||||
- ./modules/classes/GHCIDBlock
|
||||
- ./modules/classes/GHCIDHistoryEntry
|
||||
- ./modules/classes/Identifier
|
||||
# Location Domain
|
||||
- ./modules/classes/CoordinateProvenance
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ instances:
|
|||
examples:
|
||||
- name: Private art collector
|
||||
description: Individual maintaining personal art collection
|
||||
ghcid_type: P # Personal collection
|
||||
GHCID_type: P # Personal collection
|
||||
- name: Family archivist
|
||||
description: Individual preserving family papers and photographs
|
||||
- name: Independent researcher
|
||||
|
|
|
|||
|
|
@ -3066,8 +3066,8 @@
|
|||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "GhcidBlock",
|
||||
"path": "modules/classes/GhcidBlock.yaml",
|
||||
"name": "GHCIDBlock",
|
||||
"path": "modules/classes/GHCIDBlock.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
|
|
@ -3076,8 +3076,8 @@
|
|||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "GhcidHistoryEntry",
|
||||
"path": "modules/classes/GhcidHistoryEntry.yaml",
|
||||
"name": "GHCIDHistoryEntry",
|
||||
"path": "modules/classes/GHCIDHistoryEntry.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GhcidBlock
|
||||
name: GhcidBlock
|
||||
title: GhcidBlock
|
||||
id: https://nde.nl/ontology/hc/classes/GHCIDBlock
|
||||
name: GHCIDBlock
|
||||
title: GHCIDBlock
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
@ -16,7 +16,7 @@ imports:
|
|||
- linkml:types
|
||||
# default_range: string
|
||||
classes:
|
||||
GhcidBlock:
|
||||
GHCIDBlock:
|
||||
description: "GHCID (Global Heritage Custodian Identifier) generation metadata\
|
||||
\ and history. Contains current GHCID string, UUID variants (v5, v8), numeric\
|
||||
\ form, generation timestamp, and history of GHCID changes due to relocations,\
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GhcidHistoryEntry
|
||||
name: GhcidHistoryEntry
|
||||
title: GhcidHistoryEntry
|
||||
id: https://nde.nl/ontology/hc/classes/GHCIDHistoryEntry
|
||||
name: GHCIDHistoryEntry
|
||||
title: GHCIDHistoryEntry
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
@ -12,7 +12,7 @@ imports:
|
|||
- linkml:types
|
||||
# default_range: string
|
||||
classes:
|
||||
GhcidHistoryEntry:
|
||||
GHCIDHistoryEntry:
|
||||
description: "Historical GHCID entry with validity period tracking the evolution\
|
||||
\ of a Global Heritage Custodian Identifier over time, including reasons for\
|
||||
\ changes and supersession relationships.\nOntology mapping rationale: - class_uri\
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
id: https://nde.nl/ontology/hc/slot/ghcid
|
||||
name: ghcid_slot
|
||||
title: Ghcid Slot
|
||||
title: GHCID Slot
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ classes:
|
|||
range: WikidataEnrichment
|
||||
description: Full Wikidata enrichment data
|
||||
ghcid:
|
||||
range: GhcidBlock
|
||||
range: GHCIDBlock
|
||||
description: GHCID generation metadata with history
|
||||
web_claims:
|
||||
range: WebClaimsBlock
|
||||
|
|
@ -1174,7 +1174,7 @@ classes:
|
|||
# GHCID BLOCK - Heritage Custodian ID with history
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
GhcidBlock:
|
||||
GHCIDBlock:
|
||||
description: GHCID generation metadata and history
|
||||
attributes:
|
||||
ghcid_current:
|
||||
|
|
@ -1203,7 +1203,7 @@ classes:
|
|||
range: datetime
|
||||
description: When GHCID was generated
|
||||
ghcid_history:
|
||||
range: GhcidHistoryEntry
|
||||
range: GHCIDHistoryEntry
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
description: History of GHCID changes
|
||||
|
|
@ -1220,7 +1220,7 @@ classes:
|
|||
range: boolean
|
||||
description: Whether a collision was detected and resolved
|
||||
|
||||
GhcidHistoryEntry:
|
||||
GHCIDHistoryEntry:
|
||||
description: Historical GHCID entry with validity period
|
||||
attributes:
|
||||
ghcid:
|
||||
|
|
|
|||
|
|
@ -75,8 +75,8 @@ imports:
|
|||
- ./modules/classes/ProvenanceSources
|
||||
- ./modules/classes/SourceRecord
|
||||
# Identifiers Domain
|
||||
- ./modules/classes/GhcidBlock
|
||||
- ./modules/classes/GhcidHistoryEntry
|
||||
- ./modules/classes/GHCIDBlock
|
||||
- ./modules/classes/GHCIDHistoryEntry
|
||||
- ./modules/classes/Identifier
|
||||
# Location Domain
|
||||
- ./modules/classes/CoordinateProvenance
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ instances:
|
|||
examples:
|
||||
- name: Private art collector
|
||||
description: Individual maintaining personal art collection
|
||||
ghcid_type: P # Personal collection
|
||||
GHCID_type: P # Personal collection
|
||||
- name: Family archivist
|
||||
description: Individual preserving family papers and photographs
|
||||
- name: Independent researcher
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"generated": "2026-02-15T18:20:10.034Z",
|
||||
"generated": "2026-02-15T20:40:13.702Z",
|
||||
"schemaRoot": "/schemas/20251121/linkml",
|
||||
"totalFiles": 2369,
|
||||
"categoryCounts": {
|
||||
|
|
@ -3066,8 +3066,8 @@
|
|||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "GhcidBlock",
|
||||
"path": "modules/classes/GhcidBlock.yaml",
|
||||
"name": "GHCIDBlock",
|
||||
"path": "modules/classes/GHCIDBlock.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
|
|
@ -3076,8 +3076,8 @@
|
|||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "GhcidHistoryEntry",
|
||||
"path": "modules/classes/GhcidHistoryEntry.yaml",
|
||||
"name": "GHCIDHistoryEntry",
|
||||
"path": "modules/classes/GHCIDHistoryEntry.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
id: https://w3id.org/nde/ontology/GLAM
|
||||
name: GLAM
|
||||
title: GLAM (Galleries, Libraries, Archives, and Museums)
|
||||
title: GLAM Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
@ -12,31 +12,17 @@ imports:
|
|||
- ../slots/has_score
|
||||
classes:
|
||||
GLAM:
|
||||
description: Acronym for "Galleries, Libraries, Archives, and Museums" that refers to cultural institutions that have providing access to knowledge as their mission. GLAM institutions share common goals around preservation, access, and cultural heritage stewardship, though they differ in their primary materials and methodologies. The term is used to describe both the sector collectively and institutions that combine multiple GLAM functions.
|
||||
is_a: ArchiveOrganizationType
|
||||
class_uri: skos:Concept
|
||||
description: Sector concept grouping galleries, libraries, archives, and museums.
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
slots:
|
||||
- has_score
|
||||
- identified_by
|
||||
slot_usage:
|
||||
identified_by:
|
||||
- identified_by
|
||||
- has_score
|
||||
annotations:
|
||||
skos:prefLabel: GLAM
|
||||
skos:altLabel: Galleries, Libraries, Archives, and Museums, GLAM institution, Memory institution, Cultural heritage institution
|
||||
sector_term: 'yes'
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
see_also:
|
||||
- GalleryType
|
||||
- LibraryType
|
||||
- ArchiveOrganizationType
|
||||
- MuseumType
|
||||
- MixedType
|
||||
comments:
|
||||
- GLAM (de)
|
||||
- GLAM (es)
|
||||
- GLAM (fr)
|
||||
- Sector-wide term encompassing heritage custodian types
|
||||
- Sometimes extended to GLAMR (adding Research) or GLAMS (adding Science)
|
||||
- Core concept for this ontology's domain scope
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Sector umbrella concept for memory institutions.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,23 +1,25 @@
|
|||
id: https://nde.nl/ontology/hc/class/GLAMORCUBESFIXPHDNTCode
|
||||
name: GLAMORCUBESFIXPHDNTCode
|
||||
title: GLAMORCUBESFIXPHDNT Code
|
||||
description: A code from the GLAMORCUBESFIXPHDNT taxonomy. MIGRATED from glamorcubesfixphdnt_code slot per Rule 53. Follows skos:Concept.
|
||||
title: GLAMORCUBESFIXPHDNT Code Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
- ../slots/has_label
|
||||
default_prefix: hc
|
||||
- ../slots/has_description
|
||||
classes:
|
||||
GLAMORCUBESFIXPHDNTCode:
|
||||
class_uri: skos:Concept
|
||||
description: Controlled code value in the GLAMORCUBESFIXPHDNT taxonomy.
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
- has_label
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: Taxonomy code class for institutional categorization.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,28 +1,24 @@
|
|||
id: https://nde.nl/ontology/hc/class/GLEIFIdentifier
|
||||
name: GLEIFIdentifier
|
||||
title: GLEIF Identifier
|
||||
description: Global Legal Entity Identifier Foundation (GLEIF) Registration Authority code. MIGRATED from gleif_ra_code slot per Rule 53. Follows gleif:RegistrationAuthorityCode.
|
||||
title: GLEIF Identifier Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
gleif: https://www.gleif.org/ontology/Base/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
org: http://www.w3.org/ns/org#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
default_prefix: hc
|
||||
classes:
|
||||
GLEIFIdentifier:
|
||||
is_a: Identifier
|
||||
class_uri: gleif:RegistrationAuthorityCode
|
||||
description: A code identifying a registration authority in the GLEIF system.
|
||||
class_uri: hc:GLEIFIdentifier
|
||||
description: Identifier referencing a legal-entity record in the GLEIF ecosystem.
|
||||
close_mappings:
|
||||
- dcterms:Identifier
|
||||
related_mappings:
|
||||
- gleif:RegistrationAuthorityCode
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: External legal-entity identifier for governance and compliance linking.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GhcidBlock
|
||||
name: GhcidBlock
|
||||
title: Ghcid Block Class
|
||||
id: https://nde.nl/ontology/hc/classes/GHCIDBlock
|
||||
name: GHCIDBlock
|
||||
title: GHCID Block Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
@ -12,7 +12,7 @@ imports:
|
|||
- linkml:types
|
||||
- ../slots/identified_by
|
||||
classes:
|
||||
GhcidBlock:
|
||||
GHCIDBlock:
|
||||
class_uri: dcterms:Identifier
|
||||
description: Identifier metadata block capturing assignment, variants, and lifecycle history for GHCID values.
|
||||
exact_mappings:
|
||||
|
|
|
|||
|
|
@ -1,32 +1,23 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GhcidHistoryEntry
|
||||
name: GhcidHistoryEntry
|
||||
title: GhcidHistoryEntry
|
||||
id: https://nde.nl/ontology/hc/classes/GHCIDHistoryEntry
|
||||
name: GHCIDHistoryEntry
|
||||
title: GHCID History Entry Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
# default_range: string
|
||||
classes:
|
||||
GhcidHistoryEntry:
|
||||
description: "Historical GHCID entry with validity period tracking the evolution\
|
||||
\ of a Global Heritage Custodian Identifier over time, including reasons for\
|
||||
\ changes and supersession relationships.\nOntology mapping rationale: - class_uri\
|
||||
\ is prov:Entity because this represents a historical state\n of an identifier\
|
||||
\ entity with temporal validity bounds\n- close_mappings includes dcterms:Identifier\
|
||||
\ for identifier semantics - related_mappings includes prov:Revision for versioning\
|
||||
\ context"
|
||||
GHCIDHistoryEntry:
|
||||
class_uri: prov:Entity
|
||||
description: Historical identifier state entry with temporal validity and change context.
|
||||
close_mappings:
|
||||
- dcterms:Identifier
|
||||
- dcterms:Identifier
|
||||
related_mappings:
|
||||
- prov:Revision
|
||||
- prov:Revision
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
slots: []
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: Identifier history component for lifecycle tracking.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,322 +1,108 @@
|
|||
id: https://nde.nl/ontology/hc/class/gift-shop
|
||||
name: gift_shop_class
|
||||
title: GiftShop Class
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../enums/GiftShopTypeEnum
|
||||
- ../enums/ProductCategoryEnum
|
||||
- ../slots/accept
|
||||
- ../slots/has_description
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_label
|
||||
- ../slots/has_quantity
|
||||
- ../slots/has_range
|
||||
- ../slots/has_revenue
|
||||
- ../slots/has_score
|
||||
- ../slots/has_supplier
|
||||
- ../slots/derive_from
|
||||
- ../slots/generated_by
|
||||
- ../slots/managed_by
|
||||
- ../slots/has_digital_platform
|
||||
- ../slots/has_operating_hours
|
||||
- ../slots/located_at
|
||||
- ../slots/has_currency
|
||||
- ../slots/refer_to
|
||||
- ../slots/has_type
|
||||
- ../slots/temporal_extent
|
||||
id: https://nde.nl/ontology/hc/class/GiftShop
|
||||
name: GiftShop
|
||||
title: Gift Shop Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
gr: http://purl.org/goodrelations/v1#
|
||||
org: http://www.w3.org/ns/org#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../enums/GiftShopTypeEnum
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_label
|
||||
- ../slots/has_description
|
||||
- ../slots/has_type
|
||||
- ../slots/located_at
|
||||
- ../slots/has_digital_platform
|
||||
- ../slots/accept
|
||||
- ../slots/has_currency
|
||||
- ../slots/has_range
|
||||
- ../slots/has_revenue
|
||||
- ../slots/has_supplier
|
||||
- ../slots/has_operating_hours
|
||||
- ../slots/managed_by
|
||||
- ../slots/refer_to
|
||||
- ../slots/has_quantity
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/has_score
|
||||
- ../slots/derive_from
|
||||
- ../slots/generated_by
|
||||
classes:
|
||||
GiftShop:
|
||||
is_a: ReconstructedEntity
|
||||
class_uri: schema:Store
|
||||
description: "Retail operation associated with a heritage custodian for selling merchandise,\nreproductions, books, and heritage-related products.\n\n**PURPOSE AND SCOPE**:\n\nMuseum gift shops, archive bookshops, and library retail spaces are important\nrevenue-generating operations that also serve educational and cultural missions:\n\n- **Revenue generation**: Support institutional operations through merchandise sales\n- **Mission extension**: Offer products related to collections and exhibitions\n- **Visitor experience**: Complete the visit with memorable takeaways\n- **Brand communication**: Extend institutional identity through products\n- **Educational outreach**: Books, educational materials, replicas for learning\n\n**PHYSICAL vs. DIGITAL PRESENCE**:\n\nGift shops can exist in multiple forms:\n\n1. **Physical shop** (on-site): Located within museum/archive building\n - Links to AuxiliaryPlace (physical location)\n - Has opening_hours, accept (PaymentMethod)\n\
|
||||
\ \n2. **Physical shop** (separate): Stand-alone retail location\n - Links to AuxiliaryPlace with type RETAIL_SPACE\n - May have separate street address, hours\n \n3. **Online shop** (e-commerce): Web-based retail platform\n - Links to AuxiliaryDigitalPlatform with type WEBSHOP\n - Has platform_url, shipping policies\n \n4. **Hybrid**: Both physical and online presence\n - Multiple links to AuxiliaryPlace AND AuxiliaryDigitalPlatform\n\n**SCHEMA.ORG ALIGNMENT**:\n\n`schema:Store` - \"A retail good store.\"\n\nKey properties:\n- `schema:openingHours` - Operating hours\n- `schema:acceptedPaymentMethod` - Payment options\n- `schema:priceRange` - Price level indication\n- `schema:currenciesAccepted` - Currency codes\n\n**GoodRelations Integration**:\n\nFor detailed product/offer modeling, GiftShop can link to:\n- `gr:Offering` - Specific product offers\n- `gr:BusinessEntity` - Shop as business entity\n- `gr:PaymentMethod` - Payment options\n\n**RELATIONSHIP TO CUSTODIAN\
|
||||
\ HUB**:\n\n```\nCustodian (hub)\n \u251C\u2500\u2500 gift_shop \u2192 GiftShop (retail operations)\n \u2502 \u251C\u2500\u2500 physical_location \u2192 AuxiliaryPlace (shop location)\n \u2502 \u251C\u2500\u2500 online_shop \u2192 AuxiliaryDigitalPlatform (e-commerce)\n \u2502 \u251C\u2500\u2500 product_categories \u2192 ProductCategoryEnum[]\n \u2502 \u2514\u2500\u2500 revenue_data \u2192 Annual sales, visitor conversion\n \u2502\n \u2514\u2500\u2500 commercial_activities (broader commercial operations)\n```\n\n**USE CASES**:\n\n1. **Museum Shop** (Rijksmuseum):\n - Physical shop in museum foyer\n - Online shop at rijksmuseumshop.nl\n - Products: Reproductions, books, design objects\n \n2. **Archive Bookshop** (National Archives):\n - Small shop near reading room\n - Publications, finding aids, historical maps\n \n3. **Library Retail** (British Library):\n - Multiple retail spaces (shop, cafe, bookshop)\n - Extensive publication program\n \n4. **Pop-up\
|
||||
\ Shop** (Exhibition):\n - Temporary retail for special exhibition\n - Exhibition catalog, themed merchandise\n\n**Example - Rijksmuseum Gift Shop**:\n```yaml\nCustodian:\n identified_by: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\"\n preferred_label: \"Rijksmuseum\"\n gift_shop:\n - identified_by: \"https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop\" # was: shop_id\n has_label: # was: shop_name\n label_text: \"Rijksmuseum Shop\"\n shop_type: MUSEUM_SHOP\n has_description: # was: shop_description\n description_text: |\n Award-winning museum shop offering reproductions, design objects,\n books, and exclusive Rijksmuseum merchandise.\n physical_location:\n - place_name: \"Rijksmuseum Shop - Main Hall\"\n auxiliary_place_type: RETAIL_SPACE\n street_address: \"Museumstraat 1, Amsterdam\"\n online_shop:\n - platform_name: \"Rijksmuseum Online Shop\"\n \
|
||||
\ platform_url: \"https://www.rijksmuseumshop.nl/\"\n auxiliary_platform_type: WEBSHOP\n product_categories:\n - REPRODUCTIONS\n - BOOKS\n - DESIGN_OBJECTS\n - JEWELRY\n - HOME_DECOR\n price_currency: EUR\n accepts_payment_methods:\n - CASH\n - CREDIT_CARD\n - DEBIT_CARD\n - MOBILE_PAYMENT\n opening_hours: \"09:00-18:00\"\n```\n\n**TEMPORAL VALIDITY**:\n\nGift shops can open/close independently of the main institution:\n- New shop location opened 2013 after renovation\n- Temporary pop-up during exhibition\n- Online shop launched 2010\n\nTrack with valid_from/valid_to dates.\n"
|
||||
description: Retail operation associated with a custodian, including physical and online shop channels.
|
||||
exact_mappings:
|
||||
- schema:Store
|
||||
- gr:BusinessEntity
|
||||
- schema:Store
|
||||
close_mappings:
|
||||
- schema:LocalBusiness
|
||||
- schema:ShoppingCenter
|
||||
- crm:E39_Actor
|
||||
- foaf:Organization
|
||||
- schema:LocalBusiness
|
||||
- gr:BusinessEntity
|
||||
- crm:E39_Actor
|
||||
- foaf:Organization
|
||||
related_mappings:
|
||||
- schema:Offer
|
||||
- gr:Offering
|
||||
- schema:Product
|
||||
- schema:Offer
|
||||
- gr:Offering
|
||||
- schema:Product
|
||||
slots:
|
||||
- accept
|
||||
- has_revenue
|
||||
- has_range
|
||||
- managed_by
|
||||
- has_digital_platform
|
||||
- has_opening_hour
|
||||
- located_at
|
||||
- has_currency
|
||||
- refer_to
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
- has_type
|
||||
- has_quantity
|
||||
- has_quantity
|
||||
- has_supplier
|
||||
- has_score
|
||||
- temporal_extent
|
||||
- derive_from
|
||||
- generated_by
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
- has_type
|
||||
- located_at
|
||||
- has_digital_platform
|
||||
- accept
|
||||
- has_currency
|
||||
- has_range
|
||||
- has_revenue
|
||||
- has_supplier
|
||||
- has_operating_hours
|
||||
- managed_by
|
||||
- refer_to
|
||||
- has_quantity
|
||||
- temporal_extent
|
||||
- has_score
|
||||
- derive_from
|
||||
- generated_by
|
||||
slot_usage:
|
||||
identified_by:
|
||||
# range: string # uriorcurie
|
||||
required: true
|
||||
identifier: true
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop
|
||||
has_label:
|
||||
# range: string
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
required: true
|
||||
examples:
|
||||
- value:
|
||||
label_text: Rijksmuseum Shop
|
||||
- value:
|
||||
label_text: British Library Bookshop
|
||||
has_description:
|
||||
# range: string
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
examples:
|
||||
- value:
|
||||
description_text: Award-winning museum shop offering reproductions and design objects
|
||||
has_type:
|
||||
range: GiftShopTypeEnum
|
||||
required: true
|
||||
examples:
|
||||
- value: MUSEUM_SHOP
|
||||
- value: BOOKSHOP
|
||||
has_currency:
|
||||
pattern: ^[A-Z]{3}$
|
||||
located_at:
|
||||
range: AuxiliaryPlace
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
place_name: Rijksmuseum Shop - Main Hall
|
||||
auxiliary_place_type: RETAIL_SPACE
|
||||
has_digital_platform:
|
||||
range: AuxiliaryDigitalPlatform
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
platform_name: Rijksmuseum Online Shop
|
||||
platform_url: https://www.rijksmuseumshop.nl/
|
||||
auxiliary_platform_type: WEBSHOP
|
||||
has_currency:
|
||||
# range: string
|
||||
required: true
|
||||
pattern: ^[A-Z]{3}$
|
||||
examples:
|
||||
- value: EUR
|
||||
- value: USD
|
||||
accept:
|
||||
range: PaymentMethod
|
||||
multivalued: true
|
||||
inlined: true
|
||||
has_range:
|
||||
range: PriceRange
|
||||
inlined: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
has_symbol: $$
|
||||
has_description: Mid-range pricing
|
||||
- value:
|
||||
has_label: "\u20AC5-\u20AC500"
|
||||
has_description: Price range in euros
|
||||
accept:
|
||||
range: PaymentMethod
|
||||
inlined: true
|
||||
multivalued: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
- method_type: credit_card
|
||||
- method_type: digital
|
||||
has_opening_hour:
|
||||
# range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: Mo-Su 09:00-18:00
|
||||
- value: Mo-Fr 10:00-17:00, Sa-Su 10:00-18:00
|
||||
has_revenue:
|
||||
range: Revenue
|
||||
inlined: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value:
|
||||
has_quantity: 5000000.0
|
||||
has_currency:
|
||||
currency_code: EUR
|
||||
has_time_interval:
|
||||
- value: "has_conversion_rate:\n - rate_value: 0.35\n has_type:\n has_label: \"Visitor to Purchase\"\n temporal_extent:\n begin_of_the_begin: \"2024-01-01\"\n end_of_the_end: \"2024-12-31\"\n"
|
||||
has_quantity:
|
||||
range: integer
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
has_quantity:
|
||||
range: float
|
||||
required: false
|
||||
examples:
|
||||
- value: 250.0
|
||||
managed_by:
|
||||
# range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: In-house (Rijksmuseum BV)
|
||||
- value: Outsourced (Culture Shops Ltd)
|
||||
inlined: true
|
||||
has_supplier:
|
||||
range: Supplier
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
multivalued: true
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
- has_label:
|
||||
label_text: King & McGaw
|
||||
has_type:
|
||||
- has_label:
|
||||
label_text: Print Supplier
|
||||
has_description:
|
||||
description_text: Art prints supplier
|
||||
- has_label:
|
||||
label_text: Museum Reproductions Ltd
|
||||
has_type:
|
||||
- has_label:
|
||||
label_text: Reproduction Supplier
|
||||
temporal_extent:
|
||||
range: TimeSpan
|
||||
required: false
|
||||
examples:
|
||||
- value:
|
||||
begin_of_the_begin: '2010-01-01'
|
||||
end_of_the_begin: '2013-04-13'
|
||||
derive_from:
|
||||
range: CustodianObservation
|
||||
multivalued: true
|
||||
required: false
|
||||
generated_by:
|
||||
range: ReconstructionActivity
|
||||
required: false
|
||||
refer_to:
|
||||
range: Custodian
|
||||
required: true
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
|
||||
comments:
|
||||
- GiftShop models retail operations of heritage custodians
|
||||
- Can have physical location (AuxiliaryPlace) and/or online presence (AuxiliaryDigitalPlatform)
|
||||
- Schema.org schema:Store for retail business modeling
|
||||
- GoodRelations (gr:) can be used for detailed product/offer modeling
|
||||
- Revenue and conversion metrics support institutional planning
|
||||
- Temporal validity tracks shop lifecycle (opening, renovation, closure)
|
||||
- May be in-house or outsourced to third-party operators
|
||||
see_also:
|
||||
- https://schema.org/Store
|
||||
- https://schema.org/LocalBusiness
|
||||
- http://purl.org/goodrelations/v1#
|
||||
- https://schema.org/Offer
|
||||
examples:
|
||||
- value:
|
||||
identified_by: https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop
|
||||
has_label:
|
||||
label_text: Rijksmuseum Shop
|
||||
shop_type: MUSEUM_SHOP
|
||||
has_description:
|
||||
description_text: Award-winning museum shop offering reproductions, design objects, books, and exclusive Rijksmuseum merchandise. Located in the redesigned entrance hall.
|
||||
located_at:
|
||||
- place_name: Rijksmuseum Shop - Main Hall
|
||||
auxiliary_place_type: RETAIL_SPACE
|
||||
postal_code: 1071 XX
|
||||
country: https://nde.nl/ontology/hc/country/NL
|
||||
has_digital_platform:
|
||||
- platform_name: Rijksmuseum Online Shop
|
||||
platform_url: https://www.rijksmuseumshop.nl/
|
||||
auxiliary_platform_type: WEBSHOP
|
||||
price_currency: EUR
|
||||
has_range:
|
||||
has_symbol: $$
|
||||
has_description: Mid-range pricing
|
||||
accept:
|
||||
- method_type: CASH
|
||||
- method_type: CREDIT_CARD
|
||||
- method_type: DEBIT_CARD
|
||||
- method_type: MOBILE_PAYMENT
|
||||
- method_type: MUSEUM_CARD
|
||||
opening_hours: Mo-Su 09:00-18:00
|
||||
has_quantity:
|
||||
range: integer
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
square_meters: 450.0
|
||||
managed_by: In-house (Rijksmuseum BV)
|
||||
has_supplier:
|
||||
- has_label:
|
||||
label_text: King & McGaw
|
||||
has_type:
|
||||
- has_label:
|
||||
label_text: Print Supplier
|
||||
has_description:
|
||||
description_text: Fine art prints supplier for museum reproductions
|
||||
- has_label:
|
||||
label_text: Museum Reproductions Ltd
|
||||
has_type:
|
||||
- has_label:
|
||||
label_text: Reproduction Supplier
|
||||
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
|
||||
- value:
|
||||
identified_by: https://nde.nl/ontology/hc/gift-shop/british-library-shop
|
||||
has_label:
|
||||
label_text: British Library Shop
|
||||
shop_type: BOOKSHOP
|
||||
has_description:
|
||||
description_text: Specialist bookshop focusing on rare book facsimiles, literary merchandise, and British Library publications.
|
||||
located_at:
|
||||
- place_name: British Library Shop
|
||||
auxiliary_place_type: RETAIL_SPACE
|
||||
country: https://nde.nl/ontology/hc/country/GB
|
||||
has_digital_platform:
|
||||
- platform_name: British Library Shop Online
|
||||
platform_url: https://shop.bl.uk/
|
||||
auxiliary_platform_type: WEBSHOP
|
||||
price_currency: GBP
|
||||
has_range:
|
||||
has_symbol: $$
|
||||
has_description: Mid-range pricing
|
||||
accept:
|
||||
- method_type: CASH
|
||||
- method_type: CREDIT_CARD
|
||||
- method_type: DEBIT_CARD
|
||||
opening_hours: Mo-Fr 09:30-18:00, Sa 09:30-17:00, Su 11:00-17:00
|
||||
refers_to_custodian: https://nde.nl/ontology/hc/gb-british-library
|
||||
- value:
|
||||
identified_by: https://nde.nl/ontology/hc/gift-shop/vermeer-exhibition-popup
|
||||
has_label:
|
||||
label_text: Vermeer Exhibition Pop-up Shop
|
||||
shop_type: POP_UP
|
||||
has_description:
|
||||
description_text: Temporary retail for the 2023 Vermeer exhibition with exclusive exhibition merchandise and catalog.
|
||||
located_at:
|
||||
- place_name: Vermeer Exhibition Shop
|
||||
auxiliary_place_type: RETAIL_SPACE
|
||||
price_currency: EUR
|
||||
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.6
|
||||
specificity_rationale: Commercial operations model for institutional retail channels.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,26 +1,27 @@
|
|||
id: https://nde.nl/ontology/hc/class/GivenName
|
||||
name: GivenName
|
||||
title: Given Name
|
||||
description: A given name, first name, or forename. MIGRATED from given_name slot per Rule 53. Follows foaf:givenName or schema:givenName.
|
||||
title: Given Name Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
schema: http://schema.org/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
- ../slots/has_label
|
||||
default_prefix: hc
|
||||
- ../slots/has_description
|
||||
classes:
|
||||
GivenName:
|
||||
class_uri: hc:GivenName
|
||||
close_mappings:
|
||||
- foaf:givenName
|
||||
description: Personal given-name value used in human name modeling.
|
||||
related_mappings:
|
||||
- foaf:givenName
|
||||
- schema:givenName
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
- has_label
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: Atomic personal-name component.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,56 +1,46 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GoogleMapsEnrichment
|
||||
name: GoogleMapsEnrichment
|
||||
title: GoogleMapsEnrichment
|
||||
title: Google Maps Enrichment Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
org: http://www.w3.org/ns/org#
|
||||
schema: http://schema.org/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_name
|
||||
- ../slots/has_label
|
||||
- ../slots/has_note
|
||||
- ../slots/has_coordinates
|
||||
- ../slots/has_latitude
|
||||
- ../slots/has_longitude
|
||||
- ../slots/has_url
|
||||
- ../slots/has_source
|
||||
- ../slots/has_operating_hours
|
||||
# default_range: string
|
||||
classes:
|
||||
GoogleMapsEnrichment:
|
||||
class_uri: prov:Entity
|
||||
description: 'Full Google Maps Places API enrichment data for a heritage custodian
|
||||
location.
|
||||
|
||||
prov:Entity - "An entity is a physical, digital, conceptual, or other kind of
|
||||
thing with some fixed aspects; entities may be real or imaginary."
|
||||
|
||||
This class represents ENRICHMENT DATA extracted from Google Maps API about a
|
||||
place, not the place itself. It captures metadata like ratings, reviews, photos,
|
||||
opening hours, and address components that describe a heritage institution''s
|
||||
physical location.
|
||||
|
||||
Mapping rationale: - Uses prov:Entity because this is data derived from an external
|
||||
source (Google Maps API) - The enrichment has clear provenance (API call, timestamp,
|
||||
place_id) - NOT schema:Place - that would represent the actual location, not
|
||||
metadata about it - Related to schema:Place as the subject being described'
|
||||
description: Enrichment payload derived from Google Maps data for a location record.
|
||||
exact_mappings:
|
||||
- prov:Entity
|
||||
close_mappings:
|
||||
- schema:PropertyValue
|
||||
- schema:PropertyValue
|
||||
related_mappings:
|
||||
- schema:Place
|
||||
- schema:LocalBusiness
|
||||
- prov:Generation
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
- schema:Place
|
||||
- schema:LocalBusiness
|
||||
- prov:Generation
|
||||
slots:
|
||||
- has_name
|
||||
- has_coordinates
|
||||
- has_url
|
||||
- has_opening_hour
|
||||
- has_latitude
|
||||
- has_longitude
|
||||
- has_source
|
||||
- has_label
|
||||
- has_note
|
||||
- has_name
|
||||
- has_label
|
||||
- has_note
|
||||
- has_coordinates
|
||||
- has_latitude
|
||||
- has_longitude
|
||||
- has_url
|
||||
- has_source
|
||||
- has_operating_hours
|
||||
annotations:
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: External-source enrichment entity for place metadata.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,36 +1,37 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GoogleMapsPlaywrightEnrichment
|
||||
name: GoogleMapsPlaywrightEnrichment
|
||||
title: GoogleMapsPlaywrightEnrichment
|
||||
title: Google Maps Playwright Enrichment Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
schema: http://schema.org/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_method
|
||||
- ../slots/has_url
|
||||
- ../slots/has_name
|
||||
- ../slots/has_description
|
||||
- ../slots/has_operating_hours
|
||||
# default_range: string
|
||||
classes:
|
||||
GoogleMapsPlaywrightEnrichment:
|
||||
description: "Google Maps data extracted via Playwright browser automation including\
|
||||
\ place details, ratings, reviews, opening hours, photos, and popular times.\n\
|
||||
Ontology mapping rationale: - class_uri is prov:Entity because this represents\
|
||||
\ enrichment data\n (an entity) derived from Google Maps via automated extraction\n\
|
||||
- close_mappings includes schema:Place for location/place semantics - related_mappings\
|
||||
\ includes schema:LocalBusiness for business attributes"
|
||||
class_uri: prov:Entity
|
||||
description: Browser-automation extraction result from Google Maps interfaces.
|
||||
exact_mappings:
|
||||
- prov:Entity
|
||||
close_mappings:
|
||||
- schema:Place
|
||||
- schema:PropertyValue
|
||||
related_mappings:
|
||||
- schema:LocalBusiness
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
- schema:Place
|
||||
- schema:LocalBusiness
|
||||
slots:
|
||||
- has_method
|
||||
- has_url
|
||||
- has_name
|
||||
- has_description
|
||||
- has_opening_hour
|
||||
- has_method
|
||||
- has_url
|
||||
- has_name
|
||||
- has_description
|
||||
- has_operating_hours
|
||||
annotations:
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Enrichment entity documenting browser-mediated extraction.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,31 +1,25 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GooglePhoto
|
||||
name: GooglePhoto
|
||||
title: GooglePhoto
|
||||
title: Google Photo Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
# default_range: string
|
||||
classes:
|
||||
GooglePhoto:
|
||||
description: "Photo metadata from Google Places API including reference string,\
|
||||
\ dimensions, and URL. Represents image resources associated with heritage institution\
|
||||
\ place listings.\nOntology mapping rationale: - class_uri is schema:ImageObject\
|
||||
\ because this represents image content with\n dimensions (height, width) and\
|
||||
\ URL - the core properties of ImageObject\n- close_mappings includes schema:Photograph\
|
||||
\ as a more specific image type - related_mappings includes prov:Entity as this\
|
||||
\ is data retrieved from an\n external API with provenance implications"
|
||||
class_uri: schema:ImageObject
|
||||
description: Image metadata record associated with a Google place listing.
|
||||
exact_mappings:
|
||||
- schema:ImageObject
|
||||
close_mappings:
|
||||
- schema:Photograph
|
||||
- schema:Photograph
|
||||
related_mappings:
|
||||
- prov:Entity
|
||||
- prov:Entity
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
slots: []
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: External image metadata entity for enrichment workflows.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,17 +1,12 @@
|
|||
id: https://nde.nl/ontology/hc/classes/GoogleReview
|
||||
name: GoogleReview
|
||||
title: GoogleReview
|
||||
title: Google Review Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
org: http://www.w3.org/ns/org#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_author
|
||||
|
|
@ -20,16 +15,17 @@ imports:
|
|||
- ../slots/has_description
|
||||
- ../slots/has_text
|
||||
- ../slots/published_on
|
||||
# default_range: string
|
||||
classes:
|
||||
GoogleReview:
|
||||
description: "Google Maps review for a heritage institution. Contains author information, rating (1-5 stars), review text, and publication timestamp. Used for crowd-sourced quality assessment data.\nOntology mapping rationale: - class_uri is schema:Review which is the standard Schema.org\n type for user reviews and ratings\n- close_mappings includes schema:UserReview (specific review subtype) - related_mappings includes prov:Entity (review as traceable data)\n and schema:Rating (the numeric rating component)"
|
||||
class_uri: schema:Review
|
||||
description: Crowd-authored review metadata for a place profile.
|
||||
exact_mappings:
|
||||
- schema:Review
|
||||
close_mappings:
|
||||
- schema:UserReview
|
||||
- schema:UserReview
|
||||
related_mappings:
|
||||
- prov:Entity
|
||||
- schema:Rating
|
||||
- schema:Rating
|
||||
- prov:Entity
|
||||
slots:
|
||||
- has_author
|
||||
- has_url
|
||||
|
|
@ -38,20 +34,9 @@ classes:
|
|||
- has_text
|
||||
- published_on
|
||||
slot_usage:
|
||||
has_author:
|
||||
description: Author/Reviewer name
|
||||
has_url:
|
||||
description: Author profile URL
|
||||
has_rating:
|
||||
range: integer
|
||||
description: Rating value (1-5 stars)
|
||||
has_description:
|
||||
description: Relative time description (e.g., "a week ago")
|
||||
has_text:
|
||||
description: Review content
|
||||
published_on:
|
||||
description: Timestamp of review
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Review entity for reputational and quality-signal enrichment.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,27 +1,30 @@
|
|||
id: https://nde.nl/ontology/hc/class/GovernanceAuthority
|
||||
name: GovernanceAuthority
|
||||
title: Governance Authority
|
||||
description: The authority that exercises governance over the entity or institution.
|
||||
title: Governance Authority Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
org: http://www.w3.org/ns/org#
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_name
|
||||
- ../slots/has_description
|
||||
classes:
|
||||
GovernanceAuthority:
|
||||
class_uri: org:Organization
|
||||
description: The authority that exercises governance over the entity or institution.
|
||||
description: Organization that holds formal governance authority over an entity.
|
||||
exact_mappings:
|
||||
- org:Organization
|
||||
close_mappings:
|
||||
- schema:Organization
|
||||
slots:
|
||||
- identified_by
|
||||
- has_name
|
||||
- has_description
|
||||
- identified_by
|
||||
- has_name
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_name
|
||||
specificity_score: 0.4
|
||||
specificity_rationale: Governance actor model for formal oversight relationships.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,27 +1,30 @@
|
|||
id: https://nde.nl/ontology/hc/class/GovernanceRole
|
||||
name: GovernanceRole
|
||||
title: Governance Role
|
||||
description: A role within a governance structure (e.g., Voting Member, Observer).
|
||||
title: Governance Role Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
schema: http://schema.org/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
org: http://www.w3.org/ns/org#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_label
|
||||
- ../slots/has_description
|
||||
classes:
|
||||
GovernanceRole:
|
||||
class_uri: org:Role
|
||||
description: A role within a governance structure (e.g., Voting Member, Observer).
|
||||
description: Role type used within governance membership and decision structures.
|
||||
exact_mappings:
|
||||
- org:Role
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
slots:
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Role vocabulary for governance composition and mandates.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
id: https://nde.nl/ontology/hc/class/GovernanceStructure
|
||||
name: GovernanceStructure
|
||||
title: Governance Structure
|
||||
description: The internal governance and organizational structure.
|
||||
title: Governance Structure Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
org: http://www.w3.org/ns/org#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_type
|
||||
- ../slots/has_description
|
||||
classes:
|
||||
GovernanceStructure:
|
||||
class_uri: org:OrganizationalUnit
|
||||
description: The internal governance and organizational structure.
|
||||
description: Structural governance unit used to describe internal authority arrangement.
|
||||
exact_mappings:
|
||||
- org:OrganizationalUnit
|
||||
slots:
|
||||
- has_description
|
||||
- has_type
|
||||
- identified_by
|
||||
- identified_by
|
||||
- has_type
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.4
|
||||
specificity_rationale: Structural model for governance topology and units.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
id: https://nde.nl/ontology/hc/class/GoverningBody
|
||||
name: GoverningBody
|
||||
title: Governing Body
|
||||
description: The organisation or body that established and governs this agenda or entity.
|
||||
title: Governing Body Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
org: http://www.w3.org/ns/org#
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
cpov: http://data.europa.eu/m8g/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/identified_by
|
||||
|
|
@ -15,14 +16,17 @@ imports:
|
|||
classes:
|
||||
GoverningBody:
|
||||
class_uri: org:Organization
|
||||
description: Body responsible for establishing and governing an entity.
|
||||
exact_mappings:
|
||||
- org:Organization
|
||||
close_mappings:
|
||||
- cpov:PublicOrganisation
|
||||
- rico:CorporateBody
|
||||
description: The organisation or body that established and governs this agenda or entity.
|
||||
- schema:Organization
|
||||
slots:
|
||||
- identified_by
|
||||
- has_name
|
||||
- identified_by
|
||||
- has_name
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Governance body model for institutional authority attribution.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,56 +1,38 @@
|
|||
id: https://w3id.org/nde/ontology/GovernmentArchive
|
||||
name: GovernmentArchive
|
||||
title: Government Archive
|
||||
title: Government Archive Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
- ../slots/hold_record_set
|
||||
- ../slots/has_score
|
||||
classes:
|
||||
GovernmentArchive:
|
||||
description: Official archive of a government. Government archives preserve records created or received by governmental bodies in the course of their activities. They document the functions, policies, decisions, and operations of the state at various levels (national, regional, local). Government archives are typically public institutions with legal mandates to preserve and provide access to official records.
|
||||
is_a: ArchiveOrganizationType
|
||||
class_uri: schema:ArchiveOrganization
|
||||
slots:
|
||||
- has_type
|
||||
- hold_record_set
|
||||
- has_score
|
||||
- identified_by
|
||||
description: Public archive organization mandated to preserve and provide access to government records.
|
||||
exact_mappings:
|
||||
- wd:Q119712417
|
||||
- schema:ArchiveOrganization
|
||||
close_mappings:
|
||||
- rico:CorporateBody
|
||||
- skos:Concept
|
||||
- wd:Q119712417
|
||||
- rico:CorporateBody
|
||||
broad_mappings:
|
||||
- wd:Q166118
|
||||
slot_usage:
|
||||
identified_by: null
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
- wd:Q166118
|
||||
slots:
|
||||
- identified_by
|
||||
- has_type
|
||||
- hold_record_set
|
||||
- has_score
|
||||
annotations:
|
||||
skos:prefLabel: Government Archive
|
||||
skos:altLabel: Staatsarchiv, archivos gubernamentales, archives gouvernementales, State Archive, Public Records Office
|
||||
custodian_status: governmental
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
see_also:
|
||||
- NationalArchive
|
||||
- StateArchive
|
||||
- RegionalArchive
|
||||
- MunicipalArchive
|
||||
comments:
|
||||
- Staatsarchiv (de)
|
||||
- archivos gubernamentales (es)
|
||||
- archives gouvernementales (fr)
|
||||
- Broad category encompassing archives at all government levels
|
||||
- Subject to public records and freedom of information legislation
|
||||
- Distinct from private or non-governmental archives
|
||||
specificity_score: 0.65
|
||||
specificity_rationale: Archive organization type defined by legal public-records stewardship.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,34 +1,28 @@
|
|||
id: https://nde.nl/ontology/hc/class/GovernmentArchiveRecordSetType
|
||||
name: GovernmentArchiveRecordSetType
|
||||
title: GovernmentArchive Record Set Type
|
||||
title: Government Archive Record Set Type Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
schema: http://schema.org/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_type
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
classes:
|
||||
GovernmentArchiveRecordSetType:
|
||||
description: 'A rico:RecordSetType for classifying collections held by GovernmentArchive custodians.
|
||||
'
|
||||
is_a: CollectionType
|
||||
class_uri: rico:RecordSetType
|
||||
description: Record-set type used to classify holdings typically preserved by government archives.
|
||||
exact_mappings:
|
||||
- rico:RecordSetType
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_scope
|
||||
see_also:
|
||||
- GovernmentArchive
|
||||
- rico:RecordSetType
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
- has_type
|
||||
- has_scope
|
||||
- has_score
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.55
|
||||
specificity_rationale: Domain record-set typing for public-sector archival holdings.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,117 +1,60 @@
|
|||
id: https://nde.nl/ontology/hc/class/GovernmentArchiveRecordSetTypes
|
||||
name: GovernmentArchiveRecordSetTypes
|
||||
title: GovernmentArchive Record Set Type Subclasses
|
||||
title: Government Archive Record Set Types Class Module
|
||||
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#
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
rico-rst: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- ./GovernmentArchiveRecordSetType
|
||||
- linkml:types
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
- ../slots/has_score
|
||||
- ../slots/has_custodian
|
||||
- ../slots/has_note
|
||||
classes:
|
||||
AgencyAdministrativeFonds:
|
||||
is_a: GovernmentArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: "A rico:RecordSetType for Government agency operational records.\n\
|
||||
\n**RiC-O Alignment**:\nThis class is a specialized rico:RecordSetType following\
|
||||
\ the fonds \norganizational principle as defined by rico-rst:Fonds.\n"
|
||||
description: Fonds-level record set for agency administrative operations.
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Fonds
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- GovernmentArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Fonds
|
||||
- skos:Concept
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- record_holder_note
|
||||
- has_type
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: AgencyAdministrativeFonds
|
||||
has_custodian:
|
||||
equals_string: GovernmentArchive
|
||||
record_holder_note:
|
||||
equals_string: This RecordSetType is typically held by GovernmentArchive custodians.
|
||||
Inverse of rico:isOrWasHolderOf.
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- has_note
|
||||
PolicyDocumentCollection:
|
||||
is_a: GovernmentArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: "A rico:RecordSetType for Government policy documentation.\n\n**RiC-O\
|
||||
\ Alignment**:\nThis class is a specialized rico:RecordSetType following the\
|
||||
\ collection \norganizational principle as defined by rico-rst:Collection.\n"
|
||||
description: Collection-level record set for policy and regulatory documentation.
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- GovernmentArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Collection
|
||||
- skos:Concept
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- record_holder_note
|
||||
- has_type
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: PolicyDocumentCollection
|
||||
has_custodian:
|
||||
equals_string: GovernmentArchive
|
||||
record_holder_note:
|
||||
equals_string: This RecordSetType is typically held by GovernmentArchive custodians.
|
||||
Inverse of rico:isOrWasHolderOf.
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- has_note
|
||||
PublicServiceRecordSeries:
|
||||
is_a: GovernmentArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: "A rico:RecordSetType for Public service delivery records.\n\n**RiC-O\
|
||||
\ Alignment**:\nThis class is a specialized rico:RecordSetType following the\
|
||||
\ series \norganizational principle as defined by rico-rst:Series.\n"
|
||||
description: Series-level record set for public service delivery records.
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Series
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- GovernmentArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Series
|
||||
- skos:Concept
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- record_holder_note
|
||||
- has_type
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: PublicServiceRecordSeries
|
||||
has_custodian:
|
||||
equals_string: GovernmentArchive
|
||||
record_holder_note:
|
||||
equals_string: This RecordSetType is typically held by GovernmentArchive custodians.
|
||||
Inverse of rico:isOrWasHolderOf.
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- has_note
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ prefixes:
|
|||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
org: http://www.w3.org/ns/org#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
|
|
@ -14,27 +13,17 @@ imports:
|
|||
classes:
|
||||
GovernmentHierarchy:
|
||||
class_uri: org:OrganizationalUnit
|
||||
description: 'A structural unit or level within a government hierarchy.
|
||||
|
||||
Used to model the administrative context of official institutions.
|
||||
|
||||
|
||||
**Structure**:
|
||||
|
||||
- Links to AdministrativeLevel via has_tier.
|
||||
|
||||
- Can be used with part_of to place an institution in the hierarchy.
|
||||
|
||||
'
|
||||
description: Administrative hierarchy unit used to model governmental tier placement.
|
||||
exact_mappings:
|
||||
- org:OrganizationalUnit
|
||||
slots:
|
||||
- has_label
|
||||
- has_tier
|
||||
- has_label
|
||||
- has_tier
|
||||
slot_usage:
|
||||
has_tier:
|
||||
range: AdministrativeLevel
|
||||
required: true
|
||||
has_label:
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Structural hierarchy unit for public administration context.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -1,75 +1,34 @@
|
|||
id: https://nde.nl/ontology/hc/class/GrantRange
|
||||
name: grant_range_class
|
||||
title: GrantRange Class
|
||||
name: GrantRange
|
||||
title: Grant Range Class
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
schema: http://schema.org/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../enums/MeasureUnitEnum
|
||||
- ../slots/maximum_of_maximum
|
||||
- ../slots/minimum_of_minimum
|
||||
default_prefix: hc
|
||||
- ../slots/maximum_of_maximum
|
||||
classes:
|
||||
GrantRange:
|
||||
class_uri: crm:E54_Dimension
|
||||
description: "Structured representation of a funding or grant amount range.\n\n\
|
||||
**PURPOSE**:\nReplaces string-based grant ranges like \"€100K-€500K\" with structured\
|
||||
\ data\nenabling comparison, filtering, and currency-aware analytics.\n\n**STRUCTURE**\
|
||||
\ (per slot_fixes.yaml):\n- `minimal_of_minimal` → Quantity (branch 1): Lower\
|
||||
\ bound with amount and currency\n- `maximal_of_maximal` → Quantity (branch\
|
||||
\ 2): Upper bound with amount and currency\n\n**CIDOC-CRM Alignment**:\nMaps\
|
||||
\ to E54_Dimension which represents quantifiable properties,\nusing P90a/P90b\
|
||||
\ for lower/upper value limits.\n\n**USE CASES**:\n- Heritage grant programs\
|
||||
\ (Mondriaan Fund, EU Creative Europe)\n- Digitization funding ranges\n- Conservation\
|
||||
\ project budgets\n- Research grant parameters\n\n**EXAMPLE** - Creative Europe\
|
||||
\ Grant:\n```yaml\nhas_range:\n - minimal_of_minimal:\n quantity_value:\
|
||||
\ 60000\n has_measurement_unit:\n unit_label: \"EUR\"\n \
|
||||
\ maximal_of_maximal:\n quantity_value: 200000\n has_measurement_unit:\n\
|
||||
\ unit_label: \"EUR\"\n range_description: \"Small-scale cooperation\
|
||||
\ projects\"\n```\n"
|
||||
description: Structured lower and upper monetary bounds for grant or funding eligibility.
|
||||
exact_mappings:
|
||||
- crm:E54_Dimension
|
||||
- crm:E54_Dimension
|
||||
close_mappings:
|
||||
- schema:MonetaryAmount
|
||||
- schema:QuantitativeValue
|
||||
- schema:MonetaryAmount
|
||||
- schema:QuantitativeValue
|
||||
slots:
|
||||
- minimum_of_minimum
|
||||
- maximum_of_maximum
|
||||
- minimum_of_minimum
|
||||
- maximum_of_maximum
|
||||
slot_usage:
|
||||
minimum_of_minimum:
|
||||
range: integer
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
required: false
|
||||
maximum_of_maximum:
|
||||
range: integer
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
required: false
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces string-based typical_grant_range slot
|
||||
- Enables structured comparison and filtering of funding opportunities
|
||||
- Currency-aware through Quantity class integration
|
||||
see_also:
|
||||
- https://cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E54
|
||||
examples:
|
||||
- value:
|
||||
minimum_of_minimum:
|
||||
has_measurement_unit:
|
||||
unit_label: EUR
|
||||
maximum_of_maximum:
|
||||
has_measurement_unit:
|
||||
unit_label: EUR
|
||||
- value:
|
||||
minimum_of_minimum:
|
||||
has_measurement_unit:
|
||||
unit_label: GBP
|
||||
maximum_of_maximum:
|
||||
has_measurement_unit:
|
||||
unit_label: GBP
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Structured funding range model for comparison and filtering.
|
||||
custodian_types: '["*"]'
|
||||
|
|
|
|||
|
|
@ -12,28 +12,31 @@ imports:
|
|||
classes:
|
||||
Group:
|
||||
class_uri: org:OrganizationalUnit
|
||||
description: 'An organizational group or team.
|
||||
|
||||
|
||||
**USAGE**:
|
||||
|
||||
Used for:
|
||||
|
||||
- Management groups
|
||||
|
||||
- Teams
|
||||
|
||||
- Departments
|
||||
|
||||
- Committees
|
||||
|
||||
'
|
||||
description: >-
|
||||
Organizational unit used to represent teams, departments, committees, or
|
||||
other internal coordination bodies.
|
||||
alt_descriptions:
|
||||
nl: {text: Organisatorische eenheid voor teams, afdelingen, commissies of andere interne samenwerkingsverbanden., language: nl}
|
||||
de: {text: Organisationseinheit zur Abbildung von Teams, Abteilungen, Ausschuessen oder anderen internen Koordinationsstrukturen., language: de}
|
||||
fr: {text: Unite organisationnelle representant equipes, departements, comites ou autres structures internes de coordination., language: fr}
|
||||
es: {text: Unidad organizativa para representar equipos, departamentos, comites u otras estructuras internas de coordinacion., language: es}
|
||||
ar: {text: وحدة تنظيمية لتمثيل الفرق والأقسام واللجان وغيرها من هياكل التنسيق الداخلية., language: ar}
|
||||
id: {text: Unit organisasi untuk merepresentasikan tim, departemen, komite, atau struktur koordinasi internal lainnya., language: id}
|
||||
zh: {text: 用于表示团队、部门、委员会等内部协作结构的组织单元。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: organisatie-eenheid, language: nl}]
|
||||
de: [{literal_form: Organisationseinheit, language: de}]
|
||||
fr: [{literal_form: unite organisationnelle, language: fr}]
|
||||
es: [{literal_form: unidad organizativa, language: es}]
|
||||
ar: [{literal_form: وحدة تنظيمية, language: ar}]
|
||||
id: [{literal_form: unit organisasi, language: id}]
|
||||
zh: [{literal_form: 组织单元, language: zh}]
|
||||
exact_mappings:
|
||||
- org:OrganizationalUnit
|
||||
close_mappings:
|
||||
- schema:Organization
|
||||
annotations:
|
||||
specificity_score: '0.35'
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: Low specificity - groups are common organizational concept.
|
||||
custodian_types: '[''*'']'
|
||||
examples:
|
||||
|
|
|
|||
|
|
@ -14,6 +14,27 @@ default_prefix: hc
|
|||
classes:
|
||||
GrowthRate:
|
||||
class_uri: schema:QuantitativeValue
|
||||
description: >-
|
||||
Quantitative change indicator expressing increase or decrease over a
|
||||
defined period.
|
||||
alt_descriptions:
|
||||
nl: {text: Kwantitatieve veranderindicator die toename of afname over een bepaalde periode uitdrukt., language: nl}
|
||||
de: {text: Quantitativer Veraenderungsindikator fuer Zu- oder Abnahme ueber einen definierten Zeitraum., language: de}
|
||||
fr: {text: Indicateur quantitatif de variation exprimant hausse ou baisse sur une periode definie., language: fr}
|
||||
es: {text: Indicador cuantitativo de cambio que expresa aumento o disminucion en un periodo definido., language: es}
|
||||
ar: {text: مؤشر كمي للتغير يعبّر عن الزيادة أو الانخفاض خلال فترة محددة., language: ar}
|
||||
id: {text: Indikator perubahan kuantitatif yang menyatakan kenaikan atau penurunan selama periode tertentu., language: id}
|
||||
zh: {text: 表示在特定时期内增减变化的量化指标。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: groeipercentage, language: nl}]
|
||||
de: [{literal_form: Wachstumsrate, language: de}]
|
||||
fr: [{literal_form: taux de croissance, language: fr}]
|
||||
es: [{literal_form: tasa de crecimiento, language: es}]
|
||||
ar: [{literal_form: معدل نمو, language: ar}]
|
||||
id: [{literal_form: laju pertumbuhan, language: id}]
|
||||
zh: [{literal_form: 增长率, language: zh}]
|
||||
exact_mappings:
|
||||
- schema:QuantitativeValue
|
||||
slots:
|
||||
- has_description
|
||||
annotations:
|
||||
|
|
|
|||
|
|
@ -14,7 +14,27 @@ classes:
|
|||
HALCAdm1Code:
|
||||
is_a: Identifier
|
||||
class_uri: skos:Concept
|
||||
description: HALC administrative level 1 code.
|
||||
description: >-
|
||||
Code identifier for first-level administrative subdivision in the HALC
|
||||
geographic coding system.
|
||||
alt_descriptions:
|
||||
nl: {text: Code-identificatie voor eerstelijns administratieve indeling in het HALC geografische coderingssysteem., language: nl}
|
||||
de: {text: Codekennung fuer Verwaltungseinheiten der ersten Ebene im HALC-Geocodierungssystem., language: de}
|
||||
fr: {text: Code identifiant la subdivision administrative de premier niveau dans le systeme de codage geographique HALC., language: fr}
|
||||
es: {text: Codigo identificador para la subdivision administrativa de primer nivel en el sistema geografico HALC., language: es}
|
||||
ar: {text: رمز معرّف للتقسيم الإداري من المستوى الأول ضمن نظام الترميز الجغرافي HALC., language: ar}
|
||||
id: {text: Pengidentifikasi kode untuk subdivisi administratif tingkat pertama dalam sistem kode geografis HALC., language: id}
|
||||
zh: {text: HALC 地理编码体系中一级行政区划的代码标识。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: HALC adm1-code, language: nl}]
|
||||
de: [{literal_form: HALC Adm1-Code, language: de}]
|
||||
fr: [{literal_form: code HALC niveau 1, language: fr}]
|
||||
es: [{literal_form: codigo HALC nivel 1, language: es}]
|
||||
ar: [{literal_form: رمز HALC للمستوى الأول, language: ar}]
|
||||
id: [{literal_form: kode HALC tingkat 1, language: id}]
|
||||
zh: [{literal_form: HALC 一级代码, language: zh}]
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
|
|
|
|||
|
|
@ -14,6 +14,27 @@ default_prefix: hc
|
|||
classes:
|
||||
HALCAdm2Name:
|
||||
class_uri: skos:Concept
|
||||
description: >-
|
||||
Name label for second-level administrative subdivision represented in the
|
||||
HALC geographic framework.
|
||||
alt_descriptions:
|
||||
nl: {text: Naamlabel voor administratieve indeling op tweede niveau binnen het HALC geografische kader., language: nl}
|
||||
de: {text: Namensbezeichnung fuer Verwaltungseinheiten der zweiten Ebene im HALC-Georahmen., language: de}
|
||||
fr: {text: Libelle de nom pour la subdivision administrative de deuxieme niveau dans le cadre geographique HALC., language: fr}
|
||||
es: {text: Etiqueta de nombre para la subdivision administrativa de segundo nivel en el marco geografico HALC., language: es}
|
||||
ar: {text: تسمية اسم للتقسيم الإداري من المستوى الثاني ضمن إطار HALC الجغرافي., language: ar}
|
||||
id: {text: Label nama untuk subdivisi administratif tingkat kedua dalam kerangka geografis HALC., language: id}
|
||||
zh: {text: HALC 地理框架中二级行政区划的名称标签。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: HALC adm2-naam, language: nl}]
|
||||
de: [{literal_form: HALC Adm2-Name, language: de}]
|
||||
fr: [{literal_form: nom HALC niveau 2, language: fr}]
|
||||
es: [{literal_form: nombre HALC nivel 2, language: es}]
|
||||
ar: [{literal_form: اسم HALC للمستوى الثاني, language: ar}]
|
||||
id: [{literal_form: nama HALC tingkat 2, language: id}]
|
||||
zh: [{literal_form: HALC 二级名称, language: zh}]
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
|
|
|
|||
|
|
@ -17,7 +17,27 @@ imports:
|
|||
classes:
|
||||
HCID:
|
||||
class_uri: schema:PropertyValue
|
||||
description: HCID.
|
||||
description: >-
|
||||
Persistent identifier value assigned to a heritage custodian entity for
|
||||
cross-system reference and reconciliation.
|
||||
alt_descriptions:
|
||||
nl: {text: Persistente identificatiewaarde toegekend aan een erfgoedbeheerder voor koppeling en reconciliatie tussen systemen., language: nl}
|
||||
de: {text: Persistenter Identifikationswert fuer eine Kulturerbe-Institution zur systemuebergreifenden Referenz und Abgleichung., language: de}
|
||||
fr: {text: Valeur d identifiant persistant attribuee a une institution patrimoniale pour reference et rapprochement entre systemes., language: fr}
|
||||
es: {text: Valor identificador persistente asignado a una entidad custodio de patrimonio para referencia y conciliacion entre sistemas., language: es}
|
||||
ar: {text: قيمة معرّف دائم تُسند لجهة حفظ التراث للمرجعية والمواءمة بين الأنظمة., language: ar}
|
||||
id: {text: Nilai pengenal persisten yang ditetapkan untuk entitas kustodian warisan guna referensi dan rekonsiliasi lintas sistem., language: id}
|
||||
zh: {text: 分配给遗产保管机构实体的持久标识值,用于跨系统引用与对齐。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: erfgoedbeheerder-ID, language: nl}]
|
||||
de: [{literal_form: Kulturerbe-Kustoden-ID, language: de}]
|
||||
fr: [{literal_form: identifiant du detenteur patrimonial, language: fr}]
|
||||
es: [{literal_form: identificador de custodio patrimonial, language: es}]
|
||||
ar: [{literal_form: معرّف جهة حفظ التراث, language: ar}]
|
||||
id: [{literal_form: pengenal kustodian warisan, language: id}]
|
||||
zh: [{literal_form: 遗产保管机构标识, language: zh}]
|
||||
exact_mappings:
|
||||
- schema:PropertyValue
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: "Generic utility class created during migration"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,27 @@ imports:
|
|||
classes:
|
||||
HCPresetURI:
|
||||
class_uri: schema:URL
|
||||
description: HC Preset URI.
|
||||
description: >-
|
||||
Canonical preconfigured URI pattern used to mint or reference heritage
|
||||
custodian resources.
|
||||
alt_descriptions:
|
||||
nl: {text: Canoniek vooraf geconfigureerd URI-patroon voor het uitgeven of verwijzen naar erfgoedbeheerderbronnen., language: nl}
|
||||
de: {text: Kanonisches vorkonfiguriertes URI-Muster zur Vergabe oder Referenzierung von Kulturerbe-Kustodenressourcen., language: de}
|
||||
fr: {text: Motif URI canonique preconfigure pour creer ou referencer des ressources de detenteurs patrimoniaux., language: fr}
|
||||
es: {text: Patron URI canonico preconfigurado para emitir o referenciar recursos de custodios patrimoniales., language: es}
|
||||
ar: {text: نمط URI معياري مُعد مسبقا لإنشاء موارد جهة حفظ التراث أو الإحالة إليها., language: ar}
|
||||
id: {text: Pola URI kanonik pra-konfigurasi untuk menerbitkan atau merujuk sumber daya kustodian warisan., language: id}
|
||||
zh: {text: 用于生成或引用遗产保管机构资源的规范预设 URI 模式。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: standaard HC-URI, language: nl}]
|
||||
de: [{literal_form: HC-Standard-URI, language: de}]
|
||||
fr: [{literal_form: URI predefinie de detenteur patrimonial, language: fr}]
|
||||
es: [{literal_form: URI predefinida de custodio patrimonial, language: es}]
|
||||
ar: [{literal_form: URI مُعد مسبقا لجهة التراث, language: ar}]
|
||||
id: [{literal_form: URI baku kustodian warisan, language: id}]
|
||||
zh: [{literal_form: 遗产保管预设URI, language: zh}]
|
||||
close_mappings:
|
||||
- schema:URL
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: "Generic utility class created during migration"
|
||||
|
|
|
|||
|
|
@ -1,17 +1,11 @@
|
|||
id: https://nde.nl/ontology/hc/class/HTMLFile
|
||||
name: HTMLFile
|
||||
title: HTML File Class
|
||||
description: >-
|
||||
An HTML file resource (e.g. a snapshot of a webpage).
|
||||
MIGRATED from html_snapshot_path (Rule 53).
|
||||
|
||||
title: HTML File
|
||||
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/
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
|
|
@ -19,13 +13,36 @@ imports:
|
|||
- ../slots/has_label
|
||||
classes:
|
||||
HTMLFile:
|
||||
class_uri: skos:Concept
|
||||
description: An HTML file.
|
||||
class_uri: hc:HTMLFile
|
||||
description: >-
|
||||
Digital document resource storing HyperText Markup Language content,
|
||||
typically captured as a web snapshot or export artifact.
|
||||
alt_descriptions:
|
||||
nl: Digitaal document met HTML-inhoud, doorgaans vastgelegd als websnapshot of exportbestand.
|
||||
de: Digitales Dokument mit HTML-Inhalt, typischerweise als Web-Snapshot oder Exportartefakt erfasst.
|
||||
fr: Ressource documentaire numerique contenant du HTML, generalement capturee comme instantane web ou export.
|
||||
es: Recurso documental digital con contenido HTML, normalmente capturado como instantanea web o artefacto de exportacion.
|
||||
ar: مورد وثائقي رقمي يحفظ محتوى HTML، غالبا كلقطة ويب أو ملف تصدير.
|
||||
id: Sumber dokumen digital yang menyimpan konten HTML, biasanya ditangkap sebagai cuplikan web atau artefak ekspor.
|
||||
zh: 存储 HTML 内容的数字文档资源,常见于网页快照或导出文件。
|
||||
structured_aliases:
|
||||
- literal_form: HTML-bestand
|
||||
in_language: nl
|
||||
- literal_form: HTML-Datei
|
||||
in_language: de
|
||||
- literal_form: fichier HTML
|
||||
in_language: fr
|
||||
- literal_form: archivo HTML
|
||||
in_language: es
|
||||
- literal_form: ملف HTML
|
||||
in_language: ar
|
||||
- literal_form: berkas HTML
|
||||
in_language: id
|
||||
- literal_form: HTML 文件
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
- has_file_location
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class.
|
||||
custodian_types: '["*"]'
|
||||
broad_mappings:
|
||||
- schema:DigitalDocument
|
||||
|
|
|
|||
|
|
@ -1,23 +1,21 @@
|
|||
id: https://nde.nl/ontology/hc/class/HTTPMethod
|
||||
name: HTTPMethod
|
||||
title: HTTP Method
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_type
|
||||
classes:
|
||||
HTTPMethod:
|
||||
description: Represents an HTTP request method supported by a heritage institution's API or web service. Common methods
|
||||
include GET (retrieve), POST (create), PUT (update), DELETE (remove), and PATCH (partial update).
|
||||
class_uri: schema:Thing
|
||||
class_uri: hc:HTTPMethod
|
||||
description: >-
|
||||
Request-verb descriptor used in web interactions to indicate retrieval,
|
||||
creation, update, or deletion behavior.
|
||||
slots:
|
||||
- has_type
|
||||
slot_usage:
|
||||
has_type:
|
||||
# range: string # uriorcurie
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
- has_type
|
||||
broad_mappings:
|
||||
- schema:DefinedTerm
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
id: https://nde.nl/ontology/hc/class/HTTPMethodType
|
||||
name: HTTPMethodType
|
||||
title: HTTP Method Type
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
|
|
@ -11,14 +13,14 @@ imports:
|
|||
- ../slots/has_label
|
||||
classes:
|
||||
HTTPMethodType:
|
||||
description: Abstract base class for HTTP method type taxonomy. Classifies HTTP request methods (GET, POST, PUT, DELETE, PATCH, etc.) used by heritage institution APIs and web services.
|
||||
class_uri: skos:Concept
|
||||
class_uri: hc:HTTPMethodType
|
||||
abstract: true
|
||||
description: >-
|
||||
Controlled vocabulary root for classifying HTTP request verbs used by
|
||||
APIs and web services.
|
||||
slots:
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
|
|
|
|||
|
|
@ -1,38 +1,42 @@
|
|||
id: https://nde.nl/ontology/hc/class/HTTPMethodTypes
|
||||
name: HTTPMethodTypes
|
||||
title: HTTP Method Types
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- ./HTTPMethodType
|
||||
- linkml:types
|
||||
classes:
|
||||
GETMethod:
|
||||
is_a: HTTPMethodType
|
||||
description: HTTP GET method
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
class_uri: hc:GETMethod
|
||||
description: Method for retrieving representations without server-side mutation.
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
- skos:Concept
|
||||
POSTMethod:
|
||||
is_a: HTTPMethodType
|
||||
description: HTTP POST method
|
||||
class_uri: hc:POSTMethod
|
||||
description: Method for submitting payloads to create or trigger server actions.
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
- skos:Concept
|
||||
PUTMethod:
|
||||
is_a: HTTPMethodType
|
||||
description: HTTP PUT method
|
||||
class_uri: hc:PUTMethod
|
||||
description: Method for full replacement or creation of a target resource state.
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
- skos:Concept
|
||||
DELETEMethod:
|
||||
is_a: HTTPMethodType
|
||||
description: HTTP DELETE method
|
||||
class_uri: hc:DELETEMethod
|
||||
description: Method for removing or deactivating a target resource.
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
- skos:Concept
|
||||
PATCHMethod:
|
||||
is_a: HTTPMethodType
|
||||
description: HTTP PATCH method
|
||||
class_uri: hc:PATCHMethod
|
||||
description: Method for partial modification of an existing resource representation.
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
- skos:Concept
|
||||
|
|
|
|||
|
|
@ -1,17 +1,11 @@
|
|||
id: https://nde.nl/ontology/hc/class/HTTPStatus
|
||||
name: HTTPStatus
|
||||
title: HTTP Status Class
|
||||
description: >-
|
||||
An HTTP status code and description.
|
||||
MIGRATED from http_status_code (Rule 53).
|
||||
|
||||
title: HTTP Status
|
||||
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/
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
|
|
@ -19,13 +13,13 @@ imports:
|
|||
- ../slots/has_value
|
||||
classes:
|
||||
HTTPStatus:
|
||||
class_uri: skos:Concept
|
||||
description: An HTTP status.
|
||||
class_uri: hc:HTTPStatus
|
||||
description: >-
|
||||
Response state descriptor combining numeric status code and reason phrase
|
||||
for HTTP transaction outcomes.
|
||||
slots:
|
||||
- has_value
|
||||
- has_label
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class.
|
||||
custodian_types: '["*"]'
|
||||
broad_mappings:
|
||||
- schema:DefinedTerm
|
||||
|
|
|
|||
|
|
@ -1,29 +1,23 @@
|
|||
id: https://nde.nl/ontology/hc/class/HTTPStatusCode
|
||||
name: HTTPStatusCode
|
||||
title: HTTP Status Code Class
|
||||
description: >-
|
||||
An HTTP status code.
|
||||
MIGRATED from http_status_code (Rule 53).
|
||||
|
||||
title: HTTP Status Code
|
||||
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/
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_label
|
||||
- ../slots/has_value
|
||||
classes:
|
||||
HTTPStatusCode:
|
||||
class_uri: skos:Concept
|
||||
description: An HTTP status code.
|
||||
class_uri: hc:HTTPStatusCode
|
||||
description: >-
|
||||
Numeric code token representing protocol-level result classes for HTTP
|
||||
request processing.
|
||||
slots:
|
||||
- has_value
|
||||
- has_label
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class.
|
||||
custodian_types: '["*"]'
|
||||
broad_mappings:
|
||||
- schema:DefinedTerm
|
||||
|
|
|
|||
|
|
@ -15,6 +15,25 @@ default_prefix: hc
|
|||
classes:
|
||||
Habitat:
|
||||
class_uri: hc:Habitat
|
||||
description: >-
|
||||
Environmental context where a biological specimen or observation is found,
|
||||
collected, or recorded.
|
||||
alt_descriptions:
|
||||
nl: {text: Omgevingscontext waarin een biologisch specimen of waarneming is gevonden, verzameld of geregistreerd., language: nl}
|
||||
de: {text: Umweltkontext, in dem ein biologisches Exemplar oder eine Beobachtung gefunden, gesammelt oder dokumentiert wurde., language: de}
|
||||
fr: {text: Contexte environnemental dans lequel un specimen biologique ou une observation est trouve, collecte ou consigne., language: fr}
|
||||
es: {text: Contexto ambiental donde un especimen biologico u observacion fue hallado, recolectado o registrado., language: es}
|
||||
ar: {text: السياق البيئي الذي وُجدت أو جُمعت أو سُجلت فيه عينة بيولوجية أو ملاحظة., language: ar}
|
||||
id: {text: Konteks lingkungan tempat spesimen biologis atau observasi ditemukan, dikumpulkan, atau dicatat., language: id}
|
||||
zh: {text: 生物标本或观测被发现、采集或记录时所处的环境背景。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: leefomgeving, language: nl}]
|
||||
de: [{literal_form: Lebensraum, language: de}]
|
||||
fr: [{literal_form: habitat, language: fr}]
|
||||
es: [{literal_form: habitat, language: es}]
|
||||
ar: [{literal_form: موطن, language: ar}]
|
||||
id: [{literal_form: habitat, language: id}]
|
||||
zh: [{literal_form: 生境, language: zh}]
|
||||
close_mappings:
|
||||
- dwc:habitat
|
||||
slots:
|
||||
|
|
|
|||
|
|
@ -13,7 +13,27 @@ imports:
|
|||
classes:
|
||||
HandsOnFacility:
|
||||
class_uri: schema:AmenityFeature
|
||||
description: Hands-on facility.
|
||||
description: >-
|
||||
Amenity feature indicating availability of interactive, practical learning
|
||||
or handling spaces for visitors and participants.
|
||||
alt_descriptions:
|
||||
nl: {text: Voorzieningskenmerk dat aangeeft dat interactieve en praktische leer- of werkruimten beschikbaar zijn., language: nl}
|
||||
de: {text: Ausstattungsmerkmal fuer verfuegbare interaktive und praktische Lern- oder Arbeitsraeume., language: de}
|
||||
fr: {text: Caracteristique d equipement indiquant la disponibilite d espaces interactifs et pratiques pour apprentissage ou manipulation., language: fr}
|
||||
es: {text: Caracteristica de equipamiento que indica disponibilidad de espacios interactivos y practicos de aprendizaje o manipulacion., language: es}
|
||||
ar: {text: سمة مرفقية تشير إلى توفر مساحات تفاعلية وعملية للتعلم أو التعامل المباشر., language: ar}
|
||||
id: {text: Fitur amenitas yang menunjukkan ketersediaan ruang interaktif dan praktik untuk pembelajaran atau penanganan langsung., language: id}
|
||||
zh: {text: 表示是否提供互动式实践学习或操作空间的设施特征。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: doe-faciliteit, language: nl}]
|
||||
de: [{literal_form: Mitmachbereich, language: de}]
|
||||
fr: [{literal_form: espace pratique interactif, language: fr}]
|
||||
es: [{literal_form: espacio practico interactivo, language: es}]
|
||||
ar: [{literal_form: مرفق تفاعلي عملي, language: ar}]
|
||||
id: [{literal_form: fasilitas praktik interaktif, language: id}]
|
||||
zh: [{literal_form: 互动实践设施, language: zh}]
|
||||
broad_mappings:
|
||||
- schema:AmenityFeature
|
||||
slots:
|
||||
- has_description
|
||||
annotations:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ id: https://nde.nl/ontology/hc/class/Hazard
|
|||
name: Hazard
|
||||
title: Hazard
|
||||
description: >-
|
||||
A has_risk or risk.
|
||||
Potential source of harm or damage relevant to preservation, safety, or operational continuity.
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
|
|
@ -17,7 +17,27 @@ imports:
|
|||
classes:
|
||||
Hazard:
|
||||
class_uri: schema:Text
|
||||
description: Hazard.
|
||||
description: >-
|
||||
Potential source of harm or damage relevant to preservation, safety, or
|
||||
operational continuity.
|
||||
alt_descriptions:
|
||||
nl: {text: Potentiele bron van schade of gevaar die relevant is voor behoud, veiligheid of operationele continuiteit., language: nl}
|
||||
de: {text: Potenzielle Gefahren- oder Schadensquelle mit Relevanz fuer Erhaltung, Sicherheit oder betriebliche Kontinuitaet., language: de}
|
||||
fr: {text: Source potentielle de dommage ou de danger pertinente pour conservation, securite ou continuite operationnelle., language: fr}
|
||||
es: {text: Fuente potencial de dano o peligro relevante para conservacion, seguridad o continuidad operativa., language: es}
|
||||
ar: {text: مصدر محتمل للضرر أو الخطر ذي صلة بالحفظ أو السلامة أو استمرارية التشغيل., language: ar}
|
||||
id: {text: Sumber potensi bahaya atau kerusakan yang relevan bagi pelestarian, keselamatan, atau kesinambungan operasional., language: id}
|
||||
zh: {text: 与保存、安全或运营连续性相关的潜在危害或损害来源。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: risicofactor, language: nl}]
|
||||
de: [{literal_form: Gefaehrdung, language: de}]
|
||||
fr: [{literal_form: danger potentiel, language: fr}]
|
||||
es: [{literal_form: peligro potencial, language: es}]
|
||||
ar: [{literal_form: خطر محتمل, language: ar}]
|
||||
id: [{literal_form: potensi bahaya, language: id}]
|
||||
zh: [{literal_form: 潜在风险源, language: zh}]
|
||||
related_mappings:
|
||||
- schema:riskFactor
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: "Generic utility class created during migration"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,25 @@ imports:
|
|||
classes:
|
||||
Heading:
|
||||
class_uri: schema:Text
|
||||
description: Heading.
|
||||
description: >-
|
||||
Structured textual heading used to label sections and support document
|
||||
navigation.
|
||||
alt_descriptions:
|
||||
nl: {text: Gestructureerde koptekst om secties te benoemen en documentnavigatie te ondersteunen., language: nl}
|
||||
de: {text: Strukturierte Ueberschrift zur Kennzeichnung von Abschnitten und zur Unterstuetzung der Dokumentnavigation., language: de}
|
||||
fr: {text: Intitule textuel structure utilise pour nommer des sections et faciliter la navigation documentaire., language: fr}
|
||||
es: {text: Encabezado textual estructurado para nombrar secciones y facilitar la navegacion del documento., language: es}
|
||||
ar: {text: عنوان نصي منظم لتسمية الأقسام ودعم التنقل داخل المستند., language: ar}
|
||||
id: {text: Judul teks terstruktur untuk menamai bagian dan mendukung navigasi dokumen., language: id}
|
||||
zh: {text: 用于标注章节并支持文档导航的结构化标题文本。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: kopregel, language: nl}]
|
||||
de: [{literal_form: Ueberschrift, language: de}]
|
||||
fr: [{literal_form: titre de section, language: fr}]
|
||||
es: [{literal_form: encabezado, language: es}]
|
||||
ar: [{literal_form: عنوان قسم, language: ar}]
|
||||
id: [{literal_form: judul bagian, language: id}]
|
||||
zh: [{literal_form: 标题文本, language: zh}]
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: "Generic utility class created during migration"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,25 @@ imports:
|
|||
classes:
|
||||
HeadingLevel:
|
||||
class_uri: schema:Integer
|
||||
description: Heading level.
|
||||
description: >-
|
||||
Numeric hierarchy level assigned to a heading to indicate document
|
||||
structure depth.
|
||||
alt_descriptions:
|
||||
nl: {text: Numeriek hierarchieniveau van een kop om de diepte van documentstructuur aan te geven., language: nl}
|
||||
de: {text: Numerische Hierarchieebene einer Ueberschrift zur Kennzeichnung der Dokumentstrukturtiefe., language: de}
|
||||
fr: {text: Niveau hierarchique numerique attribue a un titre pour indiquer la profondeur structurelle du document., language: fr}
|
||||
es: {text: Nivel jerarquico numerico asignado a un encabezado para indicar la profundidad de la estructura documental., language: es}
|
||||
ar: {text: مستوى هرمي رقمي يُسند إلى العنوان لبيان عمق بنية المستند., language: ar}
|
||||
id: {text: Tingkat hierarki numerik yang diberikan pada heading untuk menunjukkan kedalaman struktur dokumen., language: id}
|
||||
zh: {text: 分配给标题的数字层级,用于表示文档结构深度。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: kopniveau, language: nl}]
|
||||
de: [{literal_form: Ueberschriftenebene, language: de}]
|
||||
fr: [{literal_form: niveau de titre, language: fr}]
|
||||
es: [{literal_form: nivel de encabezado, language: es}]
|
||||
ar: [{literal_form: مستوى العنوان, language: ar}]
|
||||
id: [{literal_form: tingkat heading, language: id}]
|
||||
zh: [{literal_form: 标题层级, language: zh}]
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: "Generic utility class created during migration"
|
||||
|
|
|
|||
|
|
@ -16,8 +16,28 @@ imports:
|
|||
classes:
|
||||
Heritage:
|
||||
class_uri: skos:Concept
|
||||
description: "The domain of heritage (Cultural, Natural, Intangible).\n\nUsed to tag organizations, projects, or activities as heritage-related."
|
||||
exact_mappings:
|
||||
description: >-
|
||||
Broad conceptual category used to mark entities, activities, or resources
|
||||
as relevant to cultural, natural, or intangible heritage contexts.
|
||||
alt_descriptions:
|
||||
nl: {text: Brede conceptuele categorie om entiteiten, activiteiten of bronnen als cultureel, natuurlijk of immaterieel erfgoedrelevant te markeren., language: nl}
|
||||
de: {text: Breite konzeptionelle Kategorie zur Kennzeichnung von Entitaeten, Aktivitaeten oder Ressourcen als kultur-, natur- oder immateriell-erberelevant., language: de}
|
||||
fr: {text: Categorie conceptuelle large pour marquer entites, activites ou ressources comme pertinentes pour les contextes patrimoniaux., language: fr}
|
||||
es: {text: Categoria conceptual amplia para marcar entidades, actividades o recursos como relevantes para contextos patrimoniales., language: es}
|
||||
ar: {text: فئة مفاهيمية واسعة لتمييز الكيانات أو الأنشطة أو الموارد ذات الصلة بسياقات التراث الثقافي أو الطبيعي أو غير المادي., language: ar}
|
||||
id: {text: Kategori konseptual luas untuk menandai entitas, aktivitas, atau sumber daya sebagai relevan bagi konteks warisan budaya, alam, atau takbenda., language: id}
|
||||
zh: {text: 用于标记实体、活动或资源与文化、自然或非物质遗产情境相关性的广义概念类别。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: erfgoeddomein, language: nl}]
|
||||
de: [{literal_form: Erbebereich, language: de}]
|
||||
fr: [{literal_form: domaine patrimonial, language: fr}]
|
||||
es: [{literal_form: dominio patrimonial, language: es}]
|
||||
ar: [{literal_form: مجال التراث, language: ar}]
|
||||
id: [{literal_form: ranah warisan, language: id}]
|
||||
zh: [{literal_form: 遗产领域, language: zh}]
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
related_mappings:
|
||||
- crm:E1_CRM_Entity
|
||||
slots:
|
||||
- has_label
|
||||
|
|
|
|||
|
|
@ -18,24 +18,29 @@ imports:
|
|||
classes:
|
||||
HeritageCustodianPlace:
|
||||
class_uri: schema:Place
|
||||
description: 'A place associated with a heritage custodian.
|
||||
|
||||
|
||||
**USAGE**:
|
||||
|
||||
Used for:
|
||||
|
||||
- Archive locations
|
||||
|
||||
- Storage locations
|
||||
|
||||
- Exhibition venues
|
||||
|
||||
'
|
||||
description: >-
|
||||
Place associated with a heritage custodian, such as repository,
|
||||
storage, service, or exhibition location.
|
||||
alt_descriptions:
|
||||
nl: {text: Plaats geassocieerd met een erfgoedbeheerder, zoals depot-, opslag-, dienstverlenings- of tentoonstellingslocatie., language: nl}
|
||||
de: {text: Ort mit Bezug zu einer Kulturerbe-Institution, etwa Depot-, Lager-, Service- oder Ausstellungsstandort., language: de}
|
||||
fr: {text: Lieu associe a un detenteur patrimonial, par exemple depot, stockage, service ou exposition., language: fr}
|
||||
es: {text: Lugar asociado a un custodio patrimonial, como repositorio, almacenamiento, servicio o sede de exposicion., language: es}
|
||||
ar: {text: مكان مرتبط بجهة حفظ التراث مثل موقع الإيداع أو التخزين أو الخدمة أو العرض., language: ar}
|
||||
id: {text: Tempat yang terkait dengan kustodian warisan, seperti repositori, penyimpanan, layanan, atau lokasi pameran., language: id}
|
||||
zh: {text: 与遗产保管机构相关的地点,如库房、存储、服务或展陈场所。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: erfgoedlocatie beheerder, language: nl}]
|
||||
de: [{literal_form: Ort der Kulturerbe-Institution, language: de}]
|
||||
fr: [{literal_form: lieu du detenteur patrimonial, language: fr}]
|
||||
es: [{literal_form: lugar de custodio patrimonial, language: es}]
|
||||
ar: [{literal_form: موقع جهة التراث, language: ar}]
|
||||
id: [{literal_form: lokasi kustodian warisan, language: id}]
|
||||
zh: [{literal_form: 遗产保管机构地点, language: zh}]
|
||||
exact_mappings:
|
||||
- schema:Place
|
||||
annotations:
|
||||
specificity_score: '0.50'
|
||||
specificity_score: 0.5
|
||||
specificity_rationale: Moderately specific - custodian places heritage-domain.
|
||||
custodian_types: '[''*'']'
|
||||
examples:
|
||||
|
|
|
|||
|
|
@ -9,12 +9,30 @@ prefixes:
|
|||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
org: http://www.w3.org/ns/org#
|
||||
imports:
|
||||
- linkml:types []
|
||||
- linkml:types
|
||||
# default_range: string
|
||||
classes:
|
||||
HeritageExperienceEntry:
|
||||
is_a: Entity
|
||||
description: "Heritage sector specific work experience entry."
|
||||
description: >-
|
||||
Work-history entry describing professional roles, responsibilities, or
|
||||
projects within heritage-sector contexts.
|
||||
alt_descriptions:
|
||||
nl: {text: Werkervaringsitem dat professionele rollen, verantwoordelijkheden of projecten binnen erfgoedcontexten beschrijft., language: nl}
|
||||
de: {text: Berufsverlaufs-Eintrag fuer Rollen, Verantwortlichkeiten oder Projekte in Kulturerbe-Kontexten., language: de}
|
||||
fr: {text: Entree d experience professionnelle decrivant des roles, responsabilites ou projets dans des contextes patrimoniaux., language: fr}
|
||||
es: {text: Entrada de experiencia laboral que describe funciones, responsabilidades o proyectos en contextos patrimoniales., language: es}
|
||||
ar: {text: مدخل خبرة مهنية يصف الأدوار أو المسؤوليات أو المشاريع ضمن سياقات قطاع التراث., language: ar}
|
||||
id: {text: Entri riwayat kerja yang menjelaskan peran, tanggung jawab, atau proyek dalam konteks sektor warisan., language: id}
|
||||
zh: {text: 描述遗产领域职业角色、职责或项目的工作经历条目。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: erfgoed werkervaring, language: nl}]
|
||||
de: [{literal_form: Kulturerbe-Berufserfahrungseintrag, language: de}]
|
||||
fr: [{literal_form: entree d experience patrimoniale, language: fr}]
|
||||
es: [{literal_form: entrada de experiencia patrimonial, language: es}]
|
||||
ar: [{literal_form: مدخل خبرة تراثية, language: ar}]
|
||||
id: [{literal_form: entri pengalaman kerja warisan, language: id}]
|
||||
zh: [{literal_form: 遗产领域经历条目, language: zh}]
|
||||
class_uri: org:Membership
|
||||
close_mappings:
|
||||
- schema:OrganizationRole
|
||||
|
|
|
|||
|
|
@ -14,7 +14,27 @@ imports:
|
|||
classes:
|
||||
HeritageForm:
|
||||
class_uri: skos:Concept
|
||||
description: A form of heritage.
|
||||
description: >-
|
||||
Taxonomy concept for classifying heritage manifestations, such as
|
||||
tangible, intangible, documentary, or mixed forms.
|
||||
alt_descriptions:
|
||||
nl: {text: Taxonomieconcept voor classificatie van erfgoedmanifestaties, zoals tastbare, immateriele, documentaire of gemengde vormen., language: nl}
|
||||
de: {text: Taxonomiekonzept zur Klassifikation von Erbeauspraegungen wie materiellen, immateriellen, dokumentarischen oder gemischten Formen., language: de}
|
||||
fr: {text: Concept taxonomique pour classifier les manifestations patrimoniales, materielles, immaterielles, documentaires ou mixtes., language: fr}
|
||||
es: {text: Concepto taxonomico para clasificar manifestaciones patrimoniales, tangibles, intangibles, documentales o mixtas., language: es}
|
||||
ar: {text: مفهوم تصنيفي لتصنيف تمظهرات التراث مثل الأشكال المادية وغير المادية والوثائقية أو المختلطة., language: ar}
|
||||
id: {text: Konsep taksonomi untuk mengklasifikasikan bentuk perwujudan warisan, seperti berwujud, takbenda, dokumenter, atau campuran., language: id}
|
||||
zh: {text: 用于分类遗产呈现形态(如有形、无形、文献型或混合型)的分类学概念。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: erfgoedvorm, language: nl}]
|
||||
de: [{literal_form: Erbeform, language: de}]
|
||||
fr: [{literal_form: forme patrimoniale, language: fr}]
|
||||
es: [{literal_form: forma patrimonial, language: es}]
|
||||
ar: [{literal_form: شكل تراثي, language: ar}]
|
||||
id: [{literal_form: bentuk warisan, language: id}]
|
||||
zh: [{literal_form: 遗产形态, language: zh}]
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
|
|
|
|||
|
|
@ -23,74 +23,57 @@ classes:
|
|||
HeritageObject:
|
||||
class_uri: crm:E18_Physical_Thing
|
||||
abstract: true
|
||||
description: "Abstract base class for all physical heritage objects that may be stored,\nexhibited, or managed by heritage custodians.\n\n**CIDOC-CRM Alignment**:\n\nMaps to `crm:E18_Physical_Thing` - \"All persistent physical items with a \nrelatively stable form, human-made or natural.\"\n\n**Class Hierarchy**:\n\n```\nHeritageObject (crm:E18_Physical_Thing) - THIS CLASS (abstract)\n \u2502\n \u251C\u2500\u2500 ExhibitedObject (crm:E22_Human-Made_Object)\n \u2502 \u2502\n \u2502 \u2514\u2500\u2500 BiologicalObject (crm:E20_Biological_Object)\n \u2502\n \u2514\u2500\u2500 (future: ArchivalObject, DigitalObject, etc.)\n```\n\n**Purpose**:\n\nHeritageObject serves as:\n1. Common parent for all heritage object types\n2. Typed range for storage relationships (e.g., stores_or_stored slot)\n3. Base for polymorphic queries across object types\n\n**Core Slots Defined**:\n\nAll heritage objects inherit these fundamental properties:\n- `object_id` - Unique identifier\
|
||||
\ (required)\n- `object_name` - Human-readable name (required)\n- `object_description` - Descriptive text\n- `current_keeper` - Institution currently holding the object\n- `current_location` - Physical location\n- `identified_by` - External identifiers (Wikidata, etc.)\n\n**Usage**:\n\nDo NOT instantiate HeritageObject directly (it is abstract).\nUse concrete subclasses:\n- `ExhibitedObject` for museum objects, artworks, artifacts\n- `BiologicalObject` for natural history specimens\n\n**Example Use Case**:\n\nA StorageUnit.stores_or_stored slot can reference any HeritageObject:\n```yaml\nstores_or_stored:\n - https://nde.nl/ontology/hc/object/painting-001 # ExhibitedObject\n - https://nde.nl/ontology/hc/object/specimen-042 # BiologicalObject\n```\n"
|
||||
description: >-
|
||||
Abstract parent class for persistent physical items managed by heritage
|
||||
custodians, used as a common typing anchor across object subclasses.
|
||||
alt_descriptions:
|
||||
nl: {text: Abstracte bovenklasse voor duurzame fysieke items die door erfgoedbeheerders worden beheerd, als gemeenschappelijk typeanker voor subklassen., language: nl}
|
||||
de: {text: Abstrakte Oberklasse fuer bestaendige physische Objekte, die von Kulturerbe-Institutionen verwaltet werden, als gemeinsamer Typanker., language: de}
|
||||
fr: {text: Classe parente abstraite pour les objets physiques persistants geres par des detenteurs patrimoniaux, servant d ancrage de typage commun., language: fr}
|
||||
es: {text: Clase padre abstracta para objetos fisicos persistentes gestionados por custodios patrimoniales, usada como ancla comun de tipado., language: es}
|
||||
ar: {text: فئة أصلية مجردة للعناصر المادية المستمرة التي تديرها جهات حفظ التراث، وتستخدم كمرتكز تصنيفي مشترك للفئات الفرعية., language: ar}
|
||||
id: {text: Kelas induk abstrak untuk objek fisik persisten yang dikelola kustodian warisan, sebagai jangkar pengetikan bersama lintas subkelas., language: id}
|
||||
zh: {text: 由遗产保管机构管理的持久性实体物件之抽象父类,用作各子类共享的类型锚点。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: abstract erfgoedobject, language: nl}]
|
||||
de: [{literal_form: abstraktes Erbeobjekt, language: de}]
|
||||
fr: [{literal_form: objet patrimonial abstrait, language: fr}]
|
||||
es: [{literal_form: objeto patrimonial abstracto, language: es}]
|
||||
ar: [{literal_form: كائن تراثي مجرد, language: ar}]
|
||||
id: [{literal_form: objek warisan abstrak, language: id}]
|
||||
zh: [{literal_form: 抽象遗产实体物, language: zh}]
|
||||
exact_mappings:
|
||||
- crm:E18_Physical_Thing
|
||||
- crm:E18_Physical_Thing
|
||||
close_mappings:
|
||||
- crm:E19_Physical_Object
|
||||
- schema:Thing
|
||||
- rico:RecordResource
|
||||
- crm:E19_Physical_Object
|
||||
- schema:Thing
|
||||
- rico:RecordResource
|
||||
related_mappings:
|
||||
- crm:E72_Legal_Object
|
||||
- schema:CreativeWork
|
||||
- crm:E72_Legal_Object
|
||||
- schema:CreativeWork
|
||||
slots:
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
- current_keeper
|
||||
- located_at
|
||||
- identified_by
|
||||
- has_score
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
- has_custodian
|
||||
- located_at
|
||||
- has_score
|
||||
slot_usage:
|
||||
identified_by:
|
||||
identifier: true
|
||||
required: true
|
||||
# range: string # uriorcurie
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/object/rijksmuseum-night-watch
|
||||
- value: https://nde.nl/ontology/hc/object/naturalis-dodo-001
|
||||
identifier: true
|
||||
multivalued: true
|
||||
has_label:
|
||||
required: true
|
||||
# range: string
|
||||
examples:
|
||||
- value: The Night Watch
|
||||
- value: Oxford Dodo
|
||||
- value: Rosetta Stone
|
||||
has_description:
|
||||
required: false
|
||||
# range: string
|
||||
current_keeper:
|
||||
required: false
|
||||
# range: string # uriorcurie
|
||||
has_custodian:
|
||||
inlined: false
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum
|
||||
- value: https://nde.nl/ontology/hc/custodian/uk/british-museum
|
||||
located_at:
|
||||
required: false
|
||||
range: CustodianPlace
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
place_name: Gallery 15
|
||||
country: NL
|
||||
identified_by:
|
||||
required: false
|
||||
# range: string # uriorcurie
|
||||
multivalued: true
|
||||
comments:
|
||||
- HeritageObject is ABSTRACT - do not instantiate directly
|
||||
- Use ExhibitedObject for museum objects, artworks, artifacts
|
||||
- Use BiologicalObject for natural history specimens
|
||||
- Future subclasses may include ArchivalObject, DigitalObject
|
||||
- Maps to CIDOC-CRM E18_Physical_Thing as common ancestor
|
||||
- Created 2026-01-15 to provide typed range for stores_or_stored slot
|
||||
see_also:
|
||||
- https://cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E18
|
||||
- https://nde.nl/ontology/hc/HeritageObject
|
||||
- Abstract superclass; instantiate concrete subclasses for operational data.
|
||||
- Supports polymorphic querying across physical heritage object types.
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Universal parent class for all heritage objects. Very low specificity as it applies to all object types.
|
||||
has_score: null
|
||||
specificity_rationale: Universal parent class for physical heritage object types.
|
||||
custodian_types: "['*']"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,27 @@ imports:
|
|||
classes:
|
||||
HeritagePractice:
|
||||
class_uri: skos:Concept
|
||||
description: A heritage practice.
|
||||
description: >-
|
||||
Practice-oriented concept for techniques, routines, or methods involved in
|
||||
transmission, care, or continuation of heritage.
|
||||
alt_descriptions:
|
||||
nl: {text: Praktijkgericht concept voor technieken, routines of methoden bij overdracht, zorg of voortzetting van erfgoed., language: nl}
|
||||
de: {text: Praxisorientiertes Konzept fuer Techniken, Routinen oder Methoden der Weitergabe, Pflege oder Fortfuehrung von Erbe., language: de}
|
||||
fr: {text: Concept oriente vers les pratiques pour techniques, routines ou methodes de transmission, soin ou continuation du patrimoine., language: fr}
|
||||
es: {text: Concepto orientado a practicas para tecnicas, rutinas o metodos de transmision, cuidado o continuidad del patrimonio., language: es}
|
||||
ar: {text: مفهوم موجه للممارسات يصف التقنيات أو الإجراءات أو الأساليب المعنية بنقل التراث أو صونه أو استمراريته., language: ar}
|
||||
id: {text: Konsep berorientasi praktik untuk teknik, rutinitas, atau metode dalam transmisi, perawatan, atau keberlanjutan warisan., language: id}
|
||||
zh: {text: 面向实践的概念,用于描述遗产传承、照护或延续中的技术、流程与方法。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: erfgoedpraktijk, language: nl}]
|
||||
de: [{literal_form: Erbepraxis, language: de}]
|
||||
fr: [{literal_form: pratique patrimoniale, language: fr}]
|
||||
es: [{literal_form: practica patrimonial, language: es}]
|
||||
ar: [{literal_form: ممارسة تراثية, language: ar}]
|
||||
id: [{literal_form: praktik warisan, language: id}]
|
||||
zh: [{literal_form: 遗产实践, language: zh}]
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: "Generic utility class created during migration"
|
||||
|
|
|
|||
|
|
@ -19,34 +19,25 @@ imports:
|
|||
classes:
|
||||
HeritageRelevanceAssessment:
|
||||
class_uri: hc:HeritageRelevanceAssessment
|
||||
description: 'Classification of a person''s professional relevance to heritage sectors.
|
||||
|
||||
|
||||
Captures whether a person works in or is connected to heritage institutions,
|
||||
|
||||
which heritage types they relate to, and the reasoning for classification.
|
||||
|
||||
|
||||
**Use Cases**:
|
||||
|
||||
- LinkedIn profile heritage sector classification
|
||||
|
||||
- Staff has_affiliation analysis
|
||||
|
||||
- Heritage professional network mapping
|
||||
|
||||
|
||||
**Scoring Guidelines** (per AGENTS.md Rule 30):
|
||||
|
||||
- 0.90-0.95: Senior heritage role, clear title, named institution
|
||||
|
||||
- 0.75-0.85: Mid-level role, good institutional context
|
||||
|
||||
- 0.60-0.70: Entry-level/support role, technical role
|
||||
|
||||
- 0.50-0.55: Intern, unclear relationship
|
||||
|
||||
'
|
||||
description: >-
|
||||
Structured assessment describing how strongly a profile or entity is
|
||||
connected to heritage domains, including type assignment and rationale.
|
||||
alt_descriptions:
|
||||
nl: {text: Gestructureerde beoordeling van hoe sterk een profiel of entiteit verbonden is met erfgoeddomeinen, inclusief type en motivatie., language: nl}
|
||||
de: {text: Strukturierte Bewertung, wie stark ein Profil oder eine Entitaet mit Erbedomaenen verbunden ist, inklusive Typzuordnung und Begruendung., language: de}
|
||||
fr: {text: Evaluation structuree du degre de lien d un profil ou d une entite avec les domaines patrimoniaux, avec type et justification., language: fr}
|
||||
es: {text: Evaluacion estructurada de cuan fuertemente un perfil o entidad se vincula a dominios patrimoniales, con tipo y justificacion., language: es}
|
||||
ar: {text: تقييم منظم يوضح مدى ارتباط ملف شخصي أو كيان بمجالات التراث، مع نوع التصنيف ومبرراته., language: ar}
|
||||
id: {text: Penilaian terstruktur tentang seberapa kuat profil atau entitas terhubung ke ranah warisan, termasuk jenis dan alasan., language: id}
|
||||
zh: {text: 结构化评估,用于说明某档案或实体与遗产领域关联程度,并记录类型归类及依据。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: beoordeling erfgoedrelevantie, language: nl}]
|
||||
de: [{literal_form: Erberelevanzbewertung, language: de}]
|
||||
fr: [{literal_form: evaluation de pertinence patrimoniale, language: fr}]
|
||||
es: [{literal_form: evaluacion de relevancia patrimonial, language: es}]
|
||||
ar: [{literal_form: تقييم الصلة بالتراث, language: ar}]
|
||||
id: [{literal_form: asesmen relevansi warisan, language: id}]
|
||||
zh: [{literal_form: 遗产相关性评估, language: zh}]
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
- schema:DefinedTerm
|
||||
|
|
|
|||
|
|
@ -14,7 +14,25 @@ imports:
|
|||
classes:
|
||||
HeritageRelevanceScore:
|
||||
class_uri: schema:Rating
|
||||
description: "Quantitative assessment of heritage relevance."
|
||||
description: >-
|
||||
Numeric rating expressing degree of relevance to heritage-related
|
||||
contexts.
|
||||
alt_descriptions:
|
||||
nl: {text: Numerieke waardering die de mate van relevantie voor erfgoedgerelateerde contexten uitdrukt., language: nl}
|
||||
de: {text: Numerische Bewertung, die den Grad der Relevanz fuer erberelevante Kontexte ausdrueckt., language: de}
|
||||
fr: {text: Evaluation numerique exprimant le degre de pertinence pour des contextes lies au patrimoine., language: fr}
|
||||
es: {text: Valoracion numerica que expresa el grado de relevancia para contextos relacionados con patrimonio., language: es}
|
||||
ar: {text: تصنيف رقمي يعبّر عن درجة الصلة بسياقات مرتبطة بالتراث., language: ar}
|
||||
id: {text: Penilaian numerik yang menyatakan tingkat relevansi terhadap konteks terkait warisan., language: id}
|
||||
zh: {text: 表示与遗产相关情境关联程度的数值评分。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: score erfgoedrelevantie, language: nl}]
|
||||
de: [{literal_form: Erberelevanzwert, language: de}]
|
||||
fr: [{literal_form: score de pertinence patrimoniale, language: fr}]
|
||||
es: [{literal_form: puntuacion de relevancia patrimonial, language: es}]
|
||||
ar: [{literal_form: درجة الصلة بالتراث, language: ar}]
|
||||
id: [{literal_form: skor relevansi warisan, language: id}]
|
||||
zh: [{literal_form: 遗产相关性评分, language: zh}]
|
||||
slots:
|
||||
- has_value
|
||||
- has_description
|
||||
|
|
|
|||
|
|
@ -14,6 +14,25 @@ default_prefix: hc
|
|||
classes:
|
||||
HeritageScore:
|
||||
class_uri: schema:Rating
|
||||
description: >-
|
||||
Numeric score representing assessed heritage value, significance, or
|
||||
priority in an evaluation context.
|
||||
alt_descriptions:
|
||||
nl: {text: Numerieke score die beoordeelde erfgoedwaarde, betekenis of prioriteit in een evaluatiecontext weergeeft., language: nl}
|
||||
de: {text: Numerischer Wert zur Darstellung von bewerteter Erbe-Bedeutung, Signifikanz oder Prioritaet im Bewertungskontext., language: de}
|
||||
fr: {text: Score numerique representant la valeur, l importance ou la priorite patrimoniale evaluee dans un contexte d evaluation., language: fr}
|
||||
es: {text: Puntuacion numerica que representa valor, importancia o prioridad patrimonial evaluada en un contexto de evaluacion., language: es}
|
||||
ar: {text: درجة رقمية تمثل قيمة التراث أو أهميته أو أولويته ضمن سياق تقييم., language: ar}
|
||||
id: {text: Skor numerik yang merepresentasikan nilai, signifikansi, atau prioritas warisan dalam konteks evaluasi., language: id}
|
||||
zh: {text: 在评估情境中表示遗产价值、重要性或优先级的数值评分。, language: zh}
|
||||
structured_aliases:
|
||||
nl: [{literal_form: erfgoedscore, language: nl}]
|
||||
de: [{literal_form: Erbewert, language: de}]
|
||||
fr: [{literal_form: score patrimonial, language: fr}]
|
||||
es: [{literal_form: puntuacion patrimonial, language: es}]
|
||||
ar: [{literal_form: درجة التراث, language: ar}]
|
||||
id: [{literal_form: skor warisan, language: id}]
|
||||
zh: [{literal_form: 遗产评分, language: zh}]
|
||||
slots:
|
||||
- has_score
|
||||
- has_description
|
||||
|
|
|
|||
|
|
@ -1,30 +1,46 @@
|
|||
id: https://nde.nl/ontology/hc/class/HeritageSector
|
||||
name: HeritageSector
|
||||
title: Heritage Sector Class
|
||||
description: >-
|
||||
A sector or domain within the cultural heritage field.
|
||||
MIGRATED from heritage_sector_usage (Rule 53).
|
||||
Used to classify usage, relevance, or applicability to specific heritage domains (e.g., Museums, Archives, Libraries, Archaeology).
|
||||
|
||||
title: Heritage Sector
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
- ../slots/has_label
|
||||
classes:
|
||||
HeritageSector:
|
||||
class_uri: skos:Concept
|
||||
description: "A specific sector within cultural heritage."
|
||||
class_uri: hc:HeritageSector
|
||||
description: >-
|
||||
Controlled category used to group institutions and activities by major
|
||||
heritage domain.
|
||||
alt_descriptions:
|
||||
nl: Gecontroleerde categorie om instellingen en activiteiten per erfgoeddomein te groeperen.
|
||||
de: Kontrollierte Kategorie zur Gruppierung von Einrichtungen und Taetigkeiten nach Erbebereich.
|
||||
fr: Categorie controlee servant a regrouper institutions et activites par domaine patrimonial.
|
||||
es: Categoria controlada para agrupar instituciones y actividades por dominio patrimonial.
|
||||
ar: فئة مضبوطة لتجميع المؤسسات والأنشطة حسب مجال التراث.
|
||||
id: Kategori terkendali untuk mengelompokkan institusi dan aktivitas menurut domain warisan.
|
||||
zh: 用于按遗产领域归类机构与活动的受控类别。
|
||||
structured_aliases:
|
||||
- literal_form: erfgoedsector
|
||||
in_language: nl
|
||||
- literal_form: Erbesektor
|
||||
in_language: de
|
||||
- literal_form: secteur du patrimoine
|
||||
in_language: fr
|
||||
- literal_form: sector patrimonial
|
||||
in_language: es
|
||||
- literal_form: قطاع التراث
|
||||
in_language: ar
|
||||
- literal_form: sektor warisan
|
||||
in_language: id
|
||||
- literal_form: 遗产领域
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class.
|
||||
custodian_types: '["*"]'
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
|
|
|
|||
|
|
@ -1,253 +1,61 @@
|
|||
id: https://nde.nl/ontology/hc/HeritageSocietyType
|
||||
name: HeritageSocietyType
|
||||
title: Heritage Society Type
|
||||
description: 'Specialized custodian type for voluntary heritage societies, historical
|
||||
associations, and collecting societies that preserve and promote local, specialized,
|
||||
or thematic heritage. Heritage societies are membership-based organizations (often
|
||||
volunteer-driven) that maintain collections, conduct research, publish findings,
|
||||
and engage communities in heritage preservation. They differ from professional museums
|
||||
(M), archives (A), or research centers (R) by their community-based, volunteer nature
|
||||
and focus on specialized collecting or local heritage. Key Characteristics: - Membership-based
|
||||
organizations (dues-paying members) - Volunteer-driven or minimal professional staff
|
||||
- Focus on specialized collecting (numismatics, philately, genealogy, local history)
|
||||
- Community engagement and public education mission - Publication activities (journals,
|
||||
newsletters, monographs) - Often maintain small collections or archives Wikidata
|
||||
Coverage: - Base concepts: Q10294527 (heemkundekring - Dutch heritage society) -
|
||||
Historical societies: Q5773836 (Historical Association), local history societies
|
||||
- Collecting societies: Q55174682 (numismatic society), Q3446009 (philatelic society)
|
||||
- Genealogical societies: Q2077377 (genealogical society) - Archaeological societies:
|
||||
Q15755503 (archaeological society) - Learned societies: Q371160 (learned society)
|
||||
- when focused on heritage This class represents ''S'' (Collecting Society) in the
|
||||
GLAMORCUBEPSXHFN taxonomy. '
|
||||
from_schema: https://nde.nl/ontology/hc/HeritageSocietyType
|
||||
see_also:
|
||||
- https://www.wikidata.org/wiki/Q10294527
|
||||
- https://www.wikidata.org/wiki/Q5773836
|
||||
- https://www.wikidata.org/wiki/Q55174682
|
||||
- https://www.wikidata.org/wiki/Q3446009
|
||||
- https://www.wikidata.org/wiki/Q2077377
|
||||
- https://www.wikidata.org/wiki/Q15755503
|
||||
imports:
|
||||
- ../classes/AgentType
|
||||
- linkml:types
|
||||
- ../enums/HeritageSocietyTypeEnum
|
||||
- ../slots/has_activity
|
||||
- ../slots/has_hyponym
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
- ../slots/published_at
|
||||
- ../slots/has_quantity
|
||||
- ../slots/focus_on
|
||||
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/
|
||||
wdt: http://www.wikidata.org/prop/direct/
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./CustodianType
|
||||
- ../slots/has_activity
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
- ../slots/has_quantity
|
||||
- ../slots/focus_on
|
||||
classes:
|
||||
HeritageSocietyType:
|
||||
is_a: CustodianType
|
||||
class_uri: skos:Concept
|
||||
annotations:
|
||||
skos:prefLabel: Heritage Society
|
||||
skos:altLabel: historical society, heemkundekring, historische vereniging
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
class_uri: hc:HeritageSocietyType
|
||||
description: >-
|
||||
Membership-based custodian type for volunteer-led societies preserving and
|
||||
promoting local, thematic, or collecting heritage.
|
||||
alt_descriptions:
|
||||
nl: Lidmaatschapsgebaseerd bewaarderstype voor vrijwilligersverenigingen die lokaal of thematisch erfgoed behouden en uitdragen.
|
||||
de: Mitgliederbasiertes Verwahrerprofil fuer ehrenamtlich getragene Vereine, die lokales oder thematisches Erbe bewahren und vermitteln.
|
||||
fr: Type de depositaire associatif, fonde sur l'adhesion, pour des societes benevoles de preservation du patrimoine local ou thematique.
|
||||
es: Tipo de custodio asociativo y de membresia para sociedades voluntarias que preservan y difunden patrimonio local o tematico.
|
||||
ar: نوع حارس قائم على العضوية لجمعيات تطوعية تصون التراث المحلي أو الموضوعي وتروّج له.
|
||||
id: Tipe kustodian berbasis keanggotaan untuk komunitas sukarela yang melestarikan dan mempromosikan warisan lokal atau tematik.
|
||||
zh: 以成员制和志愿参与为基础、用于保护和传播地方或专题遗产的保管者类型。
|
||||
structured_aliases:
|
||||
- literal_form: heemkundekring
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: heemkundige kring
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: historische vereniging
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: oudheidkundige kring
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: genealogische vereniging
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: numismatische vereniging
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: erfgoedvereniging
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: oudheidkamer
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: historisch genootschap
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: verzamelvereniging
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: historical society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: heritage society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: genealogical society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: numismatic society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: philatelic society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: antiquarian society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: archaeological society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: local history society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: collecting society
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: Geschichtsverein
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Heimatverein
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: historischer Verein
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Altertumsverein
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: genealogische Gesellschaft
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: numismatische Gesellschaft
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: société historique
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: société d'histoire
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: société généalogique
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: société numismatique
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: cercle d'histoire
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: sociedad histórica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: asociación histórica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: sociedad genealógica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: sociedad numismática
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: società storica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: società di storia
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: società genealogica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: società numismatica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: sociedade histórica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: associação histórica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: sociedade genealógica
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: sociedade numismática
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
description: "Heritage societies, historical associations, and collecting societies\
|
||||
\ that preserve\nspecialized or local heritage through volunteer engagement,\
|
||||
\ collecting, research, and\ncommunity education.\n\nOntology Alignment:\n-\
|
||||
\ SKOS: skos:Concept (classification term in GLAM taxonomy)\n- Schema.org:\n\
|
||||
\ - schema:Organization (general organization type)\n - schema:NGO (non-profit,\
|
||||
\ non-governmental organization)\n - schema:SportsOrganization (adapted for\
|
||||
\ hobby/collecting organizations)\n- FOAF: foaf:Organization (Friend of a Friend\
|
||||
\ ontology for membership networks)\n\nKey Distinctions:\n- From MUSEUM (M):\
|
||||
\ Heritage societies are volunteer-driven membership organizations with\n small\
|
||||
\ collections, not professional museums with paid curatorial staff and large\
|
||||
\ exhibitions.\n- From ARCHIVE (A): Heritage societies may maintain small archives,\
|
||||
\ but are volunteer-based\n and community-focused, not professional archival\
|
||||
\ institutions with trained archivists.\n- From RESEARCH_CENTER (R): Societies\
|
||||
\ conduct amateur research (genealogy, local history),\n not professional academic\
|
||||
\ research with peer-reviewed publications.\n- From NGO (N): Heritage societies\
|
||||
\ are NGOs, but classified as S (Society) when focused on\n collecting or heritage\
|
||||
\ preservation with membership structure.\n"
|
||||
- literal_form: heemkundekring
|
||||
in_language: nl
|
||||
- literal_form: Geschichtsverein
|
||||
in_language: de
|
||||
- literal_form: societe historique
|
||||
in_language: fr
|
||||
- literal_form: sociedad historica
|
||||
in_language: es
|
||||
- literal_form: جمعية تراثية
|
||||
in_language: ar
|
||||
- literal_form: komunitas warisan
|
||||
in_language: id
|
||||
- literal_form: 遗产协会
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_type
|
||||
- has_activity
|
||||
- has_scope
|
||||
- has_score
|
||||
- focus_on
|
||||
- has_quantity
|
||||
- published_at
|
||||
- has_type
|
||||
- has_activity
|
||||
- has_scope
|
||||
- has_score
|
||||
- focus_on
|
||||
- has_quantity
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:HeritageSocietyType"]'
|
||||
# range: string # uriorcurie
|
||||
# range: Program
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: null
|
||||
has_activity:
|
||||
# range: string
|
||||
multivalued: true
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
inlined_as_list: false # Fixed invalid inline for primitive type
|
||||
examples:
|
||||
- value:
|
||||
- has_activity_identifier: https://nde.nl/ontology/hc/activity/oud-leiden-lectures-2025
|
||||
has_activity_name: Monthly Lecture Series (Sept-June)
|
||||
has_activity_description: 'Monthly evening lectures on local history topics,
|
||||
featuring guest speakers from academia, museums, and member experts. '
|
||||
temporal_extent:
|
||||
begin_of_the_begin: '2024-09-01'
|
||||
end_of_the_end: '2025-06-30'
|
||||
- has_activity_identifier: https://nde.nl/ontology/hc/activity/oud-leiden-walk-2025
|
||||
has_activity_name: Annual Heritage Walk
|
||||
has_activity_description: 'Annual guided heritage walk through historic
|
||||
Leiden neighborhoods. Open to public, attracts 50-100 participants. '
|
||||
temporal_extent:
|
||||
begin_of_the_begin: '2025-05-15'
|
||||
end_of_the_end: '2025-05-15'
|
||||
has_scope:
|
||||
# range: string # uriorcurie
|
||||
# range: CollectionScope
|
||||
multivalued: true
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
inlined_as_list: false # Fixed invalid inline for primitive type
|
||||
examples:
|
||||
- value:
|
||||
- scope_description: 5,000 photographs of Leiden 1850-2000; 200 linear meters
|
||||
local archives
|
||||
- scope_description: 12,000 Dutch coins and medals; 500 reference books
|
||||
on numismatics
|
||||
equals_string: hc:HeritageSocietyType
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
- schema:Organization
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
id: https://nde.nl/ontology/hc/class/HeritageStatus
|
||||
name: HeritageStatus
|
||||
title: Heritage Status Class
|
||||
description: "The legal or official heritage protection status of a site or object.\n\n**MIGRATED** from heritage_status (Rule 53).\n\nExamples: National Monument (Rijksmonument), World Heritage Site, Municipal Monument."
|
||||
title: Heritage Status
|
||||
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/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
|
|
@ -15,13 +13,36 @@ imports:
|
|||
- ../slots/has_label
|
||||
classes:
|
||||
HeritageStatus:
|
||||
class_uri: skos:Concept
|
||||
description: "Official designation status."
|
||||
class_uri: hc:HeritageStatus
|
||||
description: >-
|
||||
Official designation category indicating legal protection or recognition
|
||||
level of a heritage asset.
|
||||
alt_descriptions:
|
||||
nl: Officiele statusaanduiding die het niveau van wettelijke bescherming of erkenning van erfgoed aangeeft.
|
||||
de: Offizielle Statuskategorie fuer den Grad rechtlicher Sicherung oder Anerkennung eines Erbeguts.
|
||||
fr: Categorie de designation officielle indiquant le niveau de protection juridique ou de reconnaissance d'un bien patrimonial.
|
||||
es: Categoria de designacion oficial que indica el nivel de proteccion legal o reconocimiento de un bien patrimonial.
|
||||
ar: فئة تصنيف رسمية تشير إلى مستوى الحماية القانونية أو الاعتراف بالأصل التراثي.
|
||||
id: Kategori penetapan resmi yang menunjukkan tingkat perlindungan hukum atau pengakuan suatu aset warisan.
|
||||
zh: 表示遗产资产法律保护或官方认定级别的正式状态类别。
|
||||
structured_aliases:
|
||||
- literal_form: erfgoedstatus
|
||||
in_language: nl
|
||||
- literal_form: Denkmalstatus
|
||||
in_language: de
|
||||
- literal_form: statut patrimonial
|
||||
in_language: fr
|
||||
- literal_form: estatus patrimonial
|
||||
in_language: es
|
||||
- literal_form: حالة التراث
|
||||
in_language: ar
|
||||
- literal_form: status warisan
|
||||
in_language: id
|
||||
- literal_form: 遗产状态
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
- identified_by
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class.
|
||||
custodian_types: "['*']"
|
||||
- has_label
|
||||
- has_description
|
||||
- identified_by
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
|
|
|
|||
|
|
@ -1,19 +1,11 @@
|
|||
id: https://nde.nl/ontology/hc/class/HeritageType
|
||||
name: HeritageType
|
||||
title: Heritage Type Class
|
||||
description: >-
|
||||
Classification of heritage type (e.g. Cultural, Natural, Intangible, Historic).
|
||||
MIGRATED from heritage_type_classification (Rule 53).
|
||||
Used to classify heritage objects, places, or practices.
|
||||
|
||||
title: Heritage Type
|
||||
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/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
|
|
@ -21,13 +13,36 @@ imports:
|
|||
- ../slots/has_label
|
||||
classes:
|
||||
HeritageType:
|
||||
class_uri: skos:Concept
|
||||
description: "Heritage classification concept."
|
||||
class_uri: hc:HeritageType
|
||||
description: >-
|
||||
Controlled classification used to distinguish major categories of heritage
|
||||
assets, practices, or environments.
|
||||
alt_descriptions:
|
||||
nl: Gecontroleerde classificatie om hoofdtypen van erfgoedobjecten, praktijken of omgevingen te onderscheiden.
|
||||
de: Kontrollierte Klassifikation zur Unterscheidung zentraler Kategorien von Erbeguetern, Praktiken oder Umgebungen.
|
||||
fr: Classification controlee pour distinguer les grandes categories d'actifs, de pratiques ou d'environnements patrimoniaux.
|
||||
es: Clasificacion controlada para distinguir categorias principales de bienes, practicas o entornos patrimoniales.
|
||||
ar: تصنيف مضبوط للتمييز بين الفئات الرئيسة للأصول أو الممارسات أو البيئات التراثية.
|
||||
id: Klasifikasi terkendali untuk membedakan kategori utama aset, praktik, atau lingkungan warisan.
|
||||
zh: 用于区分遗产资产、实践或环境主要类别的受控分类。
|
||||
structured_aliases:
|
||||
- literal_form: erfgoedtype
|
||||
in_language: nl
|
||||
- literal_form: Erbetyp
|
||||
in_language: de
|
||||
- literal_form: type de patrimoine
|
||||
in_language: fr
|
||||
- literal_form: tipo de patrimonio
|
||||
in_language: es
|
||||
- literal_form: نوع التراث
|
||||
in_language: ar
|
||||
- literal_form: tipe warisan
|
||||
in_language: id
|
||||
- literal_form: 遗产类型
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
- identified_by
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class.
|
||||
custodian_types: '["*"]'
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
id: https://nde.nl/ontology/hc/class/HeritageTypeCode
|
||||
name: HeritageTypeCode
|
||||
title: Heritage Type Code Class
|
||||
description: "Code representing a heritage type from the GLAMORCUBESFIXPHDNT taxonomy.\n\n**MIGRATED** from heritage_type_code (Rule 53).\n\nValues: G, L, A, M, O, R, C, U, B, E, S, F, I, X, P, H, D, N, T."
|
||||
title: Heritage Type Code
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
|
@ -14,12 +13,14 @@ imports:
|
|||
- ../slots/has_label
|
||||
classes:
|
||||
HeritageTypeCode:
|
||||
class_uri: skos:Concept
|
||||
description: "Heritage taxonomy code."
|
||||
class_uri: hc:HeritageTypeCode
|
||||
description: >-
|
||||
Compact symbolic code representing a heritage category within controlled
|
||||
classification schemes.
|
||||
slots:
|
||||
- has_label
|
||||
- has_description
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class.
|
||||
custodian_types: "['*']"
|
||||
- has_label
|
||||
- has_description
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- schema:DefinedTerm
|
||||
|
|
|
|||
|
|
@ -1,38 +1,33 @@
|
|||
id: https://nde.nl/ontology/hc/class/HeritageTypeCount
|
||||
name: heritage_type_count_class
|
||||
title: Heritage Type Count Class
|
||||
version: 1.0.0
|
||||
name: HeritageTypeCount
|
||||
title: Heritage Type Count
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./HeritageTypeCode
|
||||
- ../slots/has_quantity
|
||||
- ../slots/has_score
|
||||
- ../slots/has_code
|
||||
default_prefix: hc
|
||||
classes:
|
||||
HeritageTypeCount:
|
||||
class_uri: schema:DataFeedItem
|
||||
description: "Count of connections for a specific heritage type.\n\nUsed in NetworkAnalysis to provide breakdown by GLAM type.\n\n**Example**:\n```json\n{\n \"heritage_type_code\": \"M\",\n \"count\": 89\n}\n```\n"
|
||||
class_uri: hc:HeritageTypeCount
|
||||
description: >-
|
||||
Quantified tally linking one heritage type code to the number of matching
|
||||
entities in a given analysis context.
|
||||
slots:
|
||||
- has_code
|
||||
- has_quantity
|
||||
- has_score
|
||||
- has_code
|
||||
- has_quantity
|
||||
- has_score
|
||||
slot_usage:
|
||||
has_code:
|
||||
range: HeritageTypeCode
|
||||
required: true
|
||||
examples:
|
||||
- value: M
|
||||
- value: A
|
||||
has_quantity:
|
||||
range: integer
|
||||
required: true
|
||||
examples:
|
||||
- value: "Quantity:\n value: 89\n unit: \"connections\"\n"
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
broad_mappings:
|
||||
- schema:PropertyValue
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
id: https://nde.nl/ontology/hc/class/historic-building
|
||||
name: historic_building_class
|
||||
title: HistoricBuilding Class
|
||||
id: https://nde.nl/ontology/hc/class/HistoricBuilding
|
||||
name: HistoricBuilding
|
||||
title: Historic Building
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../enums/FeatureTypeEnum
|
||||
- ../slots/constructed_on
|
||||
- ../slots/used_for
|
||||
- ../slots/in_area
|
||||
|
|
@ -20,249 +25,33 @@ imports:
|
|||
- ../slots/generated_by
|
||||
- ../slots/part_of
|
||||
- ../slots/identified_by
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
org: http://www.w3.org/ns/org#
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
aat: http://vocab.getty.edu/aat/
|
||||
wd: http://www.wikidata.org/entity/
|
||||
classes:
|
||||
HistoricBuilding:
|
||||
is_a: ReconstructedEntity
|
||||
class_uri: aat:300005425
|
||||
description: "Historic building owned, managed, or stewarded by a heritage custodian.\n\n**DEFINITION**:\n\nA HistoricBuilding is a building of historical, architectural, or cultural\nsignificance that is owned or managed by a heritage custodian as a secondary\nproperty. This may be a historic house museum, heritage property, monument,\nor protected building separate from the custodian's main facility.\n\n**GETTY AAT ALIGNMENT**:\n\n`aat:300005425` (historic buildings) - \"Buildings that are historically\nsignificant, typically old, and often protected or preserved.\"\n\n**WIKIDATA TYPE LINKAGE (FeatureTypeEnum Subset)**:\n\nHistoric buildings can be classified using relevant types from FeatureTypeEnum\n(298 types). Relevant building-related types include:\n\n- Q35112 (monument)\n- Q811979 (architectural structure)\n- Q4989906 (monument)\n- Q1081138 (historic house museum)\n- Q3947 (house)\n- Q16560 (palace)\n- Q23413 (castle)\n- Q44539 (temple)\n- Q317557 (manor house)\n\n**DISTINCTION\
|
||||
\ FROM CustodianPlace**:\n\n| Property | CustodianPlace | HistoricBuilding |\n|----------|----------------|------------------|\n| **Role** | Main headquarters | Secondary property |\n| **Operations** | Primary operations | May be separate from operations |\n| **Visitation** | Primary visitor destination | May be separate attraction |\n\n**USE CASES**:\n\n1. **Historic House Museum Property**:\n ```yaml\n HistoricBuilding:\n historic_building_id: \"https://nde.nl/ontology/hc/aux/mauritshuis-johan-de-witt\"\n historic_building_name: \"Johan de Witthuis\"\n feature_type_classification: HISTORIC_HOUSE_MUSEUM\n construction_date: \"1650\"\n architectural_style: \"Dutch Golden Age\"\n ```\n\n2. **Heritage Foundation Property**:\n ```yaml\n HistoricBuilding:\n historic_building_name: \"Kasteel Amerongen\"\n feature_type_classification: CASTLE\n heritage_status: \"Rijksmonument\"\n monument_number: \"521814\"\n ```\n\n3. **Abbey Buildings**:\n\
|
||||
\ ```yaml\n HistoricBuilding:\n historic_building_name: \"Klooster Ter Apel - Gasthuis\"\n feature_type_classification: MONASTERY\n construction_date: \"1465\"\n is_part_of_complex: true\n ```\n"
|
||||
exact_mappings:
|
||||
- aat:300005425
|
||||
close_mappings:
|
||||
- crm:E24_Physical_Human-Made_Thing
|
||||
- schema:LandmarksOrHistoricalBuildings
|
||||
- wd:Q811979
|
||||
related_mappings:
|
||||
- crm:E22_Human-Made_Object
|
||||
- schema:Place
|
||||
- hc:FeaturePlace
|
||||
class_uri: hc:HistoricBuilding
|
||||
description: >-
|
||||
Architecturally or historically significant building maintained as a
|
||||
heritage asset and documented with conservation and access metadata.
|
||||
slots:
|
||||
- has_style
|
||||
- designed_by
|
||||
- in_area
|
||||
- has_label
|
||||
- has_condition
|
||||
- constructed_at
|
||||
- constructed_at
|
||||
- used_for
|
||||
- has_type
|
||||
- has_status
|
||||
- has_access_policy
|
||||
- part_of
|
||||
- identified_by
|
||||
- has_score
|
||||
- has_opening_hour
|
||||
- derive_from
|
||||
- generated_by
|
||||
- has_style
|
||||
- designed_by
|
||||
- in_area
|
||||
- has_label
|
||||
- has_condition
|
||||
- constructed_on
|
||||
- used_for
|
||||
- has_type
|
||||
- has_status
|
||||
- has_access_policy
|
||||
- part_of
|
||||
- identified_by
|
||||
- has_score
|
||||
- has_operating_hours
|
||||
- derive_from
|
||||
- generated_by
|
||||
slot_usage:
|
||||
has_type:
|
||||
range: FeatureType
|
||||
required: true
|
||||
any_of:
|
||||
- range: Building
|
||||
examples:
|
||||
- value: HISTORIC_HOUSE_MUSEUM
|
||||
- value: CASTLE
|
||||
- value: MANOR_HOUSE
|
||||
constructed_at:
|
||||
# range: string
|
||||
examples:
|
||||
- value: '1650'
|
||||
- value: ca. 1465
|
||||
- value: 15th century
|
||||
constructed_at:
|
||||
# range: string
|
||||
examples:
|
||||
- value: EXACT
|
||||
- value: APPROXIMATE
|
||||
has_style:
|
||||
range: ArchitecturalStyle
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
has_label: Dutch Golden Age
|
||||
- value:
|
||||
has_label: Neo-Gothic
|
||||
- value:
|
||||
has_label: Amsterdam School
|
||||
designed_by:
|
||||
range: Architect
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
has_label: Jacob van Campen
|
||||
- value:
|
||||
has_label: P.J.H. Cuypers
|
||||
has_status:
|
||||
range: HeritageStatus
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
has_label: Rijksmonument
|
||||
- value:
|
||||
has_label: Gemeentelijk monument
|
||||
identified_by:
|
||||
# range: string
|
||||
examples:
|
||||
- value: '521814'
|
||||
has_access_policy:
|
||||
range: boolean
|
||||
examples:
|
||||
- value: true
|
||||
- value: false
|
||||
has_opening_hour:
|
||||
range: OpeningHour
|
||||
inlined: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value:
|
||||
opens: '11:00'
|
||||
closes: '17:00'
|
||||
- value:
|
||||
opens: '10:00'
|
||||
closes: '16:00'
|
||||
part_of:
|
||||
range: boolean
|
||||
examples:
|
||||
- value: true
|
||||
has_label:
|
||||
range: Label
|
||||
inlined: true
|
||||
multivalued: true
|
||||
required: true
|
||||
examples:
|
||||
- value:
|
||||
has_label: Johan de Witthuis
|
||||
has_type: preferred_name
|
||||
- value:
|
||||
has_label: Klooster Ter Apel
|
||||
has_type: complex_name
|
||||
in_area:
|
||||
range: Area
|
||||
inlined: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value:
|
||||
area_value: 450.0
|
||||
has_measurement_unit:
|
||||
has_type: SQUARE_METER
|
||||
has_symbol: "m\xB2"
|
||||
has_label: Building floor area
|
||||
- value:
|
||||
area_value: 1200.0
|
||||
has_measurement_unit:
|
||||
has_type: SQUARE_METER
|
||||
has_symbol: "m\xB2"
|
||||
is_estimate: true
|
||||
measurement_method: Historical records
|
||||
has_label: Total floor area
|
||||
used_for:
|
||||
# range: string
|
||||
examples:
|
||||
- value: Museum and events
|
||||
- value: Administrative offices
|
||||
- value: UNDER_RESTORATION
|
||||
has_condition:
|
||||
range: Condition
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
has_type: EXCELLENT
|
||||
has_description:
|
||||
description_text: Well-maintained historic fabric
|
||||
description_type: condition
|
||||
- value:
|
||||
has_type: GOOD
|
||||
has_description:
|
||||
description_text: Minor wear consistent with age
|
||||
description_type: condition
|
||||
- value:
|
||||
has_type: UNDER_RESTORATION
|
||||
has_description:
|
||||
description_text: Major restoration project 2024-2025
|
||||
description_type: condition
|
||||
derive_from:
|
||||
range: CustodianObservation
|
||||
multivalued: true
|
||||
required: false
|
||||
generated_by:
|
||||
range: ReconstructionActivity
|
||||
required: false
|
||||
comments:
|
||||
- HistoricBuilding models secondary historic properties of heritage custodians
|
||||
- Getty AAT 300005425 for historic buildings
|
||||
- Links to FeatureTypeEnum for Wikidata-sourced building classification
|
||||
- Distinguished from CustodianPlace (main headquarters)
|
||||
- May be open to public or used for operations/events
|
||||
- 'MIGRATION NOTE: in_area replaced building_floor_area_sqm (Rule 53)'
|
||||
- 'MIGRATION NOTE: has_label replaced historic_building_name (Rule 53)'
|
||||
see_also:
|
||||
- http://vocab.getty.edu/aat/300005425
|
||||
- https://schema.org/LandmarksOrHistoricalBuildings
|
||||
- https://monumentenregister.cultureelerfgoed.nl/
|
||||
examples:
|
||||
- value:
|
||||
historic_building_id: https://nde.nl/ontology/hc/aux/mauritshuis-johan-de-witt
|
||||
has_label:
|
||||
- has_label: Johan de Witthuis
|
||||
has_type: preferred_name
|
||||
has_type: HISTORIC_HOUSE_MUSEUM
|
||||
construction_date: '1650'
|
||||
construction_date_precision: APPROXIMATE
|
||||
has_style:
|
||||
has_label: Dutch Golden Age
|
||||
has_status:
|
||||
has_label: Rijksmonument
|
||||
monument_number: '16284'
|
||||
is_open_to_public: false
|
||||
current_use: Administrative offices and events
|
||||
has_condition:
|
||||
has_type: EXCELLENT
|
||||
has_description:
|
||||
description_text: Well-maintained historic fabric
|
||||
description_type: condition
|
||||
in_area:
|
||||
- area_value: 450.0
|
||||
has_unit:
|
||||
has_type: SQUARE_METER
|
||||
has_symbol: "m\xB2"
|
||||
has_label: Total floor area
|
||||
- value:
|
||||
historic_building_id: https://nde.nl/ontology/hc/aux/klooster-ter-apel
|
||||
has_label:
|
||||
- has_label: Klooster Ter Apel - Gasthuis
|
||||
has_type: preferred_name
|
||||
- has_label: Kasteel Amerongen landgoed
|
||||
has_type: complex_name
|
||||
has_type: MONASTERY
|
||||
construction_date: '1465'
|
||||
is_part_of_complex: true
|
||||
current_use: Museum and events
|
||||
has_condition:
|
||||
has_type: GOOD
|
||||
has_description:
|
||||
description_text: Historic castle in good preservation state
|
||||
description_type: condition
|
||||
in_area:
|
||||
- area_value: 2500.0
|
||||
has_unit:
|
||||
has_type: SQUARE_METER
|
||||
has_symbol: "m\xB2"
|
||||
is_estimate: true
|
||||
has_label: Castle floor area
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
broad_mappings:
|
||||
- schema:LandmarksOrHistoricalBuildings
|
||||
close_mappings:
|
||||
- crm:E24_Physical_Human-Made_Thing
|
||||
|
|
|
|||
|
|
@ -3,53 +3,60 @@ name: HistoricalArchive
|
|||
title: Historical Archive
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../classes/ArchiveOrganizationType
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
- ../slots/hold_record_set
|
||||
classes:
|
||||
HistoricalArchive:
|
||||
description: "Historical archive (archivo hist\xF3rico, archive historique). An archive that specifically focuses on preserving records of historical value, typically older materials that have passed beyond active administrative use. Historical archives may be independent institutions or divisions within larger archival systems. They emphasize long-term preservation and scholarly access to historical documentation."
|
||||
class_uri: hc:HistoricalArchive
|
||||
is_a: ArchiveOrganizationType
|
||||
class_uri: schema:ArchiveOrganization
|
||||
description: >-
|
||||
Archival institution focused on long-term preservation and scholarly access
|
||||
to records retained for enduring historical value.
|
||||
alt_descriptions:
|
||||
nl: Archiefinstelling gericht op duurzame bewaring en wetenschappelijke raadpleging van documenten met blijvende historische waarde.
|
||||
de: Archiveinrichtung mit Schwerpunkt auf dauerhafter Bewahrung und wissenschaftlichem Zugang zu Unterlagen mit bleibendem historischem Wert.
|
||||
fr: Institution archivistique axee sur la conservation a long terme et l'acces scientifique a des documents de valeur historique durable.
|
||||
es: Institucion archivistica centrada en la preservacion a largo plazo y el acceso academico a documentos de valor historico permanente.
|
||||
ar: مؤسسة أرشيفية تركز على الحفظ طويل الأمد وإتاحة البحث في السجلات ذات القيمة التاريخية الدائمة.
|
||||
id: Lembaga arsip yang berfokus pada pelestarian jangka panjang dan akses ilmiah terhadap rekaman bernilai sejarah berkelanjutan.
|
||||
zh: 以长期保存和学术利用永久历史价值记录为核心的档案机构。
|
||||
structured_aliases:
|
||||
- literal_form: historisch archief
|
||||
in_language: nl
|
||||
- literal_form: Historisches Archiv
|
||||
in_language: de
|
||||
- literal_form: archives historiques
|
||||
in_language: fr
|
||||
- literal_form: archivo historico
|
||||
in_language: es
|
||||
- literal_form: أرشيف تاريخي
|
||||
in_language: ar
|
||||
- literal_form: arsip historis
|
||||
in_language: id
|
||||
- literal_form: 历史档案馆
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_type
|
||||
- hold_record_set
|
||||
- has_score
|
||||
- identified_by
|
||||
exact_mappings:
|
||||
- wd:Q3621673
|
||||
close_mappings:
|
||||
- rico:CorporateBody
|
||||
- skos:Concept
|
||||
broad_mappings:
|
||||
- wd:Q166118
|
||||
- has_type
|
||||
- hold_record_set
|
||||
- has_score
|
||||
- identified_by
|
||||
slot_usage:
|
||||
identified_by: null
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
annotations:
|
||||
skos:prefLabel: Historical Archive
|
||||
skos:altLabel: "Historisches Archiv, archivo hist\xF3rico, archive historique, archives historiques"
|
||||
temporal_focus: historical records
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
see_also:
|
||||
- CurrentArchive
|
||||
- NationalArchive
|
||||
- RegionalArchive
|
||||
comments:
|
||||
- Historisches Archiv (de)
|
||||
- "archivo hist\xF3rico (es)"
|
||||
- archive historique (fr)
|
||||
- Contrasts with current/active archives (Zwischenarchiv)
|
||||
- Records typically have permanent retention value
|
||||
- Primary audience is researchers and historians
|
||||
equals_string: hc:ArchiveOrganizationType
|
||||
exact_mappings:
|
||||
- wd:Q3621673
|
||||
broad_mappings:
|
||||
- schema:ArchiveOrganization
|
||||
- wd:Q166118
|
||||
close_mappings:
|
||||
- rico:CorporateBody
|
||||
|
|
|
|||
|
|
@ -1,34 +1,27 @@
|
|||
id: https://nde.nl/ontology/hc/class/HistoricalArchiveRecordSetType
|
||||
name: HistoricalArchiveRecordSetType
|
||||
title: HistoricalArchive Record Set Type
|
||||
title: Historical Archive Record Set Type
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
schema: http://schema.org/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../classes/CollectionType
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
classes:
|
||||
HistoricalArchiveRecordSetType:
|
||||
description: 'A rico:RecordSetType for classifying collections held by HistoricalArchive custodians.
|
||||
'
|
||||
class_uri: hc:HistoricalArchiveRecordSetType
|
||||
is_a: CollectionType
|
||||
class_uri: rico:RecordSetType
|
||||
description: >-
|
||||
Classification root for record-set categories typically curated by
|
||||
historically focused archival institutions.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_scope
|
||||
see_also:
|
||||
- HistoricalArchive
|
||||
- rico:RecordSetType
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
- has_type
|
||||
- has_score
|
||||
- has_scope
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
id: https://nde.nl/ontology/hc/class/HistoricalArchiveRecordSetTypes
|
||||
name: HistoricalArchiveRecordSetTypes
|
||||
title: HistoricalArchive Record Set Type Subclasses
|
||||
title: Historical Archive Record Set Type Subclasses
|
||||
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#
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
rico-rst: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- ./HistoricalArchiveRecordSetType
|
||||
|
|
@ -20,67 +17,33 @@ imports:
|
|||
classes:
|
||||
HistoricalDocumentFonds:
|
||||
is_a: HistoricalArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: "A rico:RecordSetType for Historical documents.\n\n**RiC-O Alignment**:\n\
|
||||
This class is a specialized rico:RecordSetType following the fonds \norganizational\
|
||||
\ principle as defined by rico-rst:Fonds.\n"
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Fonds
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- HistoricalArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
class_uri: hc:HistoricalDocumentFonds
|
||||
description: Fonds-level grouping for provenance-bound historical documentation.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- record_holder_note
|
||||
- has_type
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- has_note
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: HistoricalDocumentFonds
|
||||
has_custodian:
|
||||
equals_string: HistoricalArchive
|
||||
record_holder_note:
|
||||
equals_string: This RecordSetType is typically held by HistoricalArchive custodians.
|
||||
Inverse of rico:isOrWasHolderOf.
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Fonds
|
||||
HistoricalManuscriptCollection:
|
||||
is_a: HistoricalArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: "A rico:RecordSetType for Historical manuscripts.\n\n**RiC-O Alignment**:\n\
|
||||
This class is a specialized rico:RecordSetType following the collection \norganizational\
|
||||
\ principle as defined by rico-rst:Collection.\n"
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- HistoricalArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
class_uri: hc:HistoricalManuscriptCollection
|
||||
description: Collection-level grouping for assembled manuscript heritage resources.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- record_holder_note
|
||||
- has_type
|
||||
- has_type
|
||||
- has_score
|
||||
- has_custodian
|
||||
- has_note
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: HistoricalManuscriptCollection
|
||||
has_custodian:
|
||||
equals_string: HistoricalArchive
|
||||
record_holder_note:
|
||||
equals_string: This RecordSetType is typically held by HistoricalArchive custodians.
|
||||
Inverse of rico:isOrWasHolderOf.
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
id: https://nde.nl/ontology/hc/class/HistoricalRegion
|
||||
name: historical_region_class
|
||||
title: Historical Region Class
|
||||
name: HistoricalRegion
|
||||
title: Historical Region
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
gn: http://www.geonames.org/ontology#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
|
|
@ -18,37 +15,25 @@ imports:
|
|||
- ../slots/has_type
|
||||
- ../slots/located_in
|
||||
- ../slots/temporal_extent
|
||||
default_prefix: hc
|
||||
classes:
|
||||
HistoricalRegion:
|
||||
class_uri: schema:Place
|
||||
description: "A geographic region that existed in the past (e.g., Duchy of Burgundy, Prussia, Austria-Hungary).\n\n**MIGRATED** from historical_region slot (2026-01-28).\n\n**USE CASE**:\nFinding aids often refer to regions that no longer exist or whose boundaries have changed.\nThis class allows capturing the historical name, type, and temporal extent of such regions.\n"
|
||||
exact_mappings:
|
||||
- schema:Place
|
||||
close_mappings:
|
||||
- crm:E53_Place
|
||||
- gn:Feature
|
||||
class_uri: hc:HistoricalRegion
|
||||
description: >-
|
||||
Geographic area definition valid for a past period, used when historical
|
||||
boundaries or polity names differ from current geography.
|
||||
slots:
|
||||
- has_label
|
||||
- has_type
|
||||
- temporal_extent
|
||||
- located_in
|
||||
- identified_by
|
||||
- has_description
|
||||
- has_label
|
||||
- has_type
|
||||
- temporal_extent
|
||||
- located_in
|
||||
- identified_by
|
||||
- has_description
|
||||
slot_usage:
|
||||
has_label:
|
||||
# range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: Duchy of Brabant
|
||||
- value: Prussia
|
||||
has_type:
|
||||
# range: string
|
||||
temporal_extent:
|
||||
range: TimeSpan
|
||||
located_in:
|
||||
# range: string
|
||||
annotations:
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: Specialized geographic concept for historical archives.
|
||||
custodian_types: "['*']"
|
||||
broad_mappings:
|
||||
- schema:Place
|
||||
close_mappings:
|
||||
- crm:E53_Place
|
||||
|
|
|
|||
|
|
@ -1,19 +1,15 @@
|
|||
id: https://nde.nl/ontology/hc/class/holy-sacred-site-type
|
||||
name: holy_sacred_site_type
|
||||
title: HolySacredSiteType
|
||||
description: 'Specialized CustodianType for religious institutions and sacred sites that function
|
||||
|
||||
as heritage custodians by maintaining cultural collections (archives, libraries,
|
||||
|
||||
artifacts, art, liturgical objects).
|
||||
|
||||
|
||||
Coverage: Corresponds to ''H'' (HOLY_SITES) in GLAMORCUBESFIXPHDNT taxonomy.
|
||||
|
||||
'
|
||||
id: https://nde.nl/ontology/hc/class/HolySacredSiteType
|
||||
name: HolySacredSiteType
|
||||
title: Holy Sacred Site Type
|
||||
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/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../enums/HolySiteTypeEnum
|
||||
- ./CustodianType
|
||||
- ../slots/has_content
|
||||
- ../slots/has_hyponym
|
||||
- ../slots/has_policy
|
||||
|
|
@ -23,281 +19,50 @@ imports:
|
|||
- ../slots/has_function
|
||||
- ../slots/has_tradition
|
||||
- ../slots/has_status
|
||||
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/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
wd: http://www.wikidata.org/entity/
|
||||
classes:
|
||||
HolySacredSiteType:
|
||||
is_a: CustodianType
|
||||
class_uri: skos:Concept
|
||||
annotations:
|
||||
skos:prefLabel: Holy/Sacred Site
|
||||
skos:altLabel: church, cathedral, mosque, synagogue, temple, kerk, kathedraal
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
class_uri: hc:HolySacredSiteType
|
||||
description: >-
|
||||
Custodian type for active worship sites that also steward archives,
|
||||
libraries, objects, and other religious heritage collections.
|
||||
alt_descriptions:
|
||||
nl: Bewaarderstype voor actieve gebedsplaatsen die ook archieven, bibliotheken en religieuze erfgoedcollecties beheren.
|
||||
de: Verwahrerprofil fuer aktive Gottesdienstorte, die zugleich Archive, Bibliotheken und religioese Sammlungen verwalten.
|
||||
fr: Type de depositaire pour des lieux de culte actifs qui gerent aussi archives, bibliotheques et collections patrimoniales religieuses.
|
||||
es: Tipo de custodio para lugares de culto activos que ademas gestionan archivos, bibliotecas y colecciones patrimoniales religiosas.
|
||||
ar: نوع حارس لمواقع العبادة النشطة التي تدير كذلك أرشيفات ومكتبات ومجموعات تراث ديني.
|
||||
id: Tipe kustodian untuk situs ibadah aktif yang juga mengelola arsip, perpustakaan, dan koleksi warisan keagamaan.
|
||||
zh: 适用于仍在礼拜使用且同时保管宗教遗产档案、文献与藏品的保管者类型。
|
||||
structured_aliases:
|
||||
- literal_form: kerk
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: kerken
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: kathedraal
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: moskee
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: synagoge
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: tempel
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: klooster
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: abdij
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: religieus erfgoed
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: heilige plaats
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: nl
|
||||
- literal_form: church
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: cathedral
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: mosque
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: synagogue
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: temple
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: monastery
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: abbey
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: convent
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: religious heritage
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: sacred site
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: holy site
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: place of worship
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: en
|
||||
- literal_form: Kirche
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Kathedrale
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Moschee
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Synagoge
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Tempel
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Kloster
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: Abtei
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: de
|
||||
- literal_form: "\xE9glise"
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: "cath\xE9drale"
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: "mosqu\xE9e"
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: synagogue
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: temple
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: "monast\xE8re"
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: abbaye
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: fr
|
||||
- literal_form: iglesia
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: catedral
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: mezquita
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: sinagoga
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: templo
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: monasterio
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: es
|
||||
- literal_form: chiesa
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: cattedrale
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: moschea
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: sinagoga
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: tempio
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: monastero
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: it
|
||||
- literal_form: igreja
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: catedral
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: mesquita
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: sinagoga
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: templo
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
- literal_form: mosteiro
|
||||
predicate: EXACT_SYNONYM
|
||||
in_language: pt
|
||||
description: "Specialized custodian type for religious institutions and sacred sites managing\nheritage collections (archives, libraries, artifacts, liturgical objects, art).\n\n**CRITICAL DISTINCTION - Religious Site vs. Religious Heritage Museum**:\n\n**HolySacredSite** (this type):\n- PRIMARY function = ACTIVE WORSHIP (religious practice)\n- SECONDARY function = Heritage collection (supports religious mission)\n- Example: Vatican Apostolic Archive (papal archive supporting Church operations)\n- Example: Canterbury Cathedral Library (church library for clergy and scholars)\n\n**Museum** (MuseumType, not this type):\n- PRIMARY function = PUBLIC EXHIBITION (heritage presentation)\n- SECONDARY function = Religious theme (subject matter)\n- Example: Museum Catharijneconvent (secular museum about religious art)\n- Example: Bible Museum Amsterdam (educational museum, not worship site)\n\n**Decision Rule**: Is the site's PRIMARY function active religious worship?\n- YES \u2192 HolySacredSiteType\n\
|
||||
- NO \u2192 MuseumType (with religious theme)\n\n1. **Structural Layer** (W3C Standards):\n - skos:Concept - Thesaurus classification\n - Classification within CustodianType hierarchy\n\n2. **Domain Layer** (Heritage Ontologies):\n - crm:E39_Actor - CIDOC-CRM actor (religious institution)\n - schema:PlaceOfWorship - Religious site entity\n - schema:ArchiveOrganization - For sites with archival collections\n\n3. **Web Layer** (Schema.org):\n - schema:Organization - Generic organization type\n - schema:Church / schema:Mosque / schema:Temple / schema:Synagogue - Specific types\n - schema:ReligiousOrganization - Religious entity classification\n\n**Wikidata Coverage** (70+ religious heritage custodian entities):\n\nChristian Heritage Sites:\n- Q16970 (church) - Christian worship buildings with archives/libraries\n- Q44613 (monastery) - Monastic communities with manuscript collections\n- Q2977 (cathedral) - Episcopal churches with treasuries/archives\n- Q515 (abbey) - Religious\
|
||||
\ communities with historical libraries\n- Q44539 (convent) - Female religious communities with collections\n- Q56242215 (parish church archive) - Local church historical records\n\nIslamic Heritage Sites:\n- Q32815 (mosque) - Islamic worship sites with manuscript libraries\n- Q5874 (madrasa) - Islamic educational institutions with collections\n- Q4468076 (zawiya) - Sufi lodges with spiritual texts\n- Q215380 (Islamic library) - Mosque-attached manuscript collections\n\nJewish Heritage Sites:\n- Q34627 (synagogue) - Jewish worship sites with Torah scrolls/archives\n- Q1128637 (yeshiva) - Jewish religious schools with Talmudic libraries\n- Q2179958 (geniza) - Jewish document repositories\n- Q215380 (synagogue archive) - Community historical records\n\nBuddhist Heritage Sites:\n- Q44539 (temple) - Buddhist worship sites with sutra collections\n- Q44613 (monastery) - Monastic communities with Buddhist texts\n- Q1457 (pagoda) - Buddhist structures with relic collections\n- Q215380 (temple\
|
||||
\ library) - Buddhist manuscript collections\n\nHindu Heritage Sites:\n- Q44539 (temple) - Hindu worship sites with Sanskrit manuscripts\n- Q5870 (ashram) - Hindu spiritual communities with libraries\n- Q215380 (temple archive) - Hindu community records\n\nMulti-Faith Heritage:\n- Q1370598 (religious archive) - Interfaith archival institutions\n- Q5638360 (religious library) - Multi-denominational collections\n- Q839954 (pilgrimage site) - Sacred sites with votive collections\n\nVatican and Papal Collections:\n- Q213322 (Vatican Apostolic Archive) - Papal historical archive\n- Q213333 (Vatican Apostolic Library) - Papal manuscript library\n- Q2943 (Vatican Museums) - [NOTE: This is MuseumType, not HolySacredSite]\n\nSikh Heritage Sites:\n- Q33881 (gurdwara) - Sikh worship sites with historical manuscripts\n- Q5190359 (Sikh archive) - Gurdwara community records\n\n**Key Distinctions from Other Types**:\n\nvs. Museum:\n- HolySacredSite: ACTIVE WORSHIP site with collections supporting\
|
||||
\ religious mission\n- Museum: PUBLIC EXHIBITION institution (secular, even if religious theme)\n- Example: Canterbury Cathedral (worship) vs. Museum Catharijneconvent (museum about religion)\n\nvs. Archive:\n- HolySacredSite: RELIGIOUS INSTITUTION with archival holdings\n- Archive: SECULAR/GOVERNMENT archive (even if holds church records)\n- Example: Parish church archive vs. Diocesan archive (transferred to state archive)\n\nvs. Library:\n- HolySacredSite: RELIGIOUS LIBRARY for clergy/scholars (theological focus)\n- Library: PUBLIC/ACADEMIC library (secular lending institution)\n- Example: Monastery library vs. Theology faculty library at university\n\nvs. IntangibleHeritageGroup:\n- HolySacredSite: INSTITUTIONALIZED religion with physical collections\n- IntangibleHeritageGroup: LIVING PRACTICES and community traditions\n- Example: Cathedral with archives vs. Folk religion practitioners\n\nvs. FeatureCustodian:\n- HolySacredSite: Religious institution MANAGING heritage collections\n\
|
||||
- FeatureCustodian: Organization managing PHYSICAL monument (building itself)\n- Example: Church clergy (managing archives) vs. Monument trust (managing building)\n\n**Collection Types in Religious Heritage**:\n\n1. **Archival Collections**:\n - Parish registers (baptisms, marriages, deaths)\n - Church administrative records\n - Correspondence (bishops, clergy, parishioners)\n - Property deeds and financial records\n - Ecclesiastical court records\n\n2. **Library Collections**:\n - Sacred texts (Bibles, Qurans, Torahs, Sutras)\n - Theological treatises and commentaries\n - Liturgical books (missals, prayer books, hymnals)\n - Medieval manuscripts and illuminations\n - Religious history and philosophy\n\n3. **Artifact Collections**:\n - Liturgical vessels (chalices, patens, thuribles)\n - Vestments and textiles (chasubles, altar cloths)\n - Religious art (icons, statues, paintings, stained glass)\n - Relics and reliquaries\n - Votive offerings and ex-votos\n\
|
||||
\n4. **Architectural Heritage**:\n - Historic building fabric (original construction)\n - Architectural fragments (capitals, columns, screens)\n - Building archives (construction documents, plans)\n - Archaeological remains (crypts, foundations)\n\n**Access and Stewardship Challenges**:\n\nReligious heritage collections face unique issues:\n- **Sacred vs. Cultural**: Items may be sacred objects, not just cultural heritage\n- **Active Use**: Collections still in liturgical use (not just preservation)\n- **Restricted Access**: Security, sacredness, or privacy concerns\n- **Volunteer Management**: Often maintained by clergy/volunteers, not professionals\n- **Secularization**: Church closures transfer collections to secular archives\n- **Interfaith Sensitivity**: Respectful representation of diverse traditions\n\n**RDF Serialization Example**:\n\n```turtle\n@prefix hc: <https://nde.nl/ontology/hc/> .\n@prefix skos: <http://www.w3.org/2004/02/skos/core#> .\n@prefix schema: <http://schema.org/>\
|
||||
\ .\n@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .\n\nhc:HolySacredSiteType\n a skos:Concept, hc:CustodianType ;\n skos:prefLabel \"Holy/Sacred Site Type\"@en,\n \"Religieuze Erfgoedlocatie Type\"@nl,\n \"Religi\xF6se St\xE4tte Typ\"@de,\n \"Type de Site Sacr\xE9\"@fr ;\n skos:definition \"Religious institutions managing heritage collections\"@en ;\n skos:broader hc:CustodianType ;\n skos:narrower hc:ChurchArchive,\n hc:MonasteryLibrary,\n 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:has_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:managed_by \"Prefect of Vatican Apostolic Archive\", \"Papal administrative authority\" ;\n hc:secularization_status \"Active religious institution, No secularization\" ;\n schema:name \"Vatican Apostolic Archive\"@en, \"Archivum Apostolicum Vaticanum\"@la ;\n schema:alternateName \"Vatican Secret Archives (former name until 2019)\" ;\n schema:foundingDate \"1612\" ;\n schema:location \"Vatican City\" ;\n schema:description \"Central repository for papal and Vatican documents, holding over 85 km of shelving with records dating back to the 8th century\" ;\n schema:url <https://www.archiviosegretovaticano.va/> .\n```\n"
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- schema:PlaceOfWorship
|
||||
- crm:E39_Actor
|
||||
- schema:ReligiousOrganization
|
||||
related_mappings:
|
||||
- schema:Church
|
||||
- schema:Mosque
|
||||
- schema:Temple
|
||||
- schema:Synagogue
|
||||
- schema:ArchiveOrganization
|
||||
- literal_form: religieuze erfgoedlocatie
|
||||
in_language: nl
|
||||
- literal_form: religioeser Erbeort
|
||||
in_language: de
|
||||
- literal_form: site patrimonial sacre
|
||||
in_language: fr
|
||||
- literal_form: sitio patrimonial sagrado
|
||||
in_language: es
|
||||
- literal_form: موقع تراث ديني
|
||||
in_language: ar
|
||||
- literal_form: situs warisan suci
|
||||
in_language: id
|
||||
- literal_form: 宗教圣地类型
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_policy
|
||||
- has_content
|
||||
- has_type
|
||||
- has_hyponym
|
||||
- has_function
|
||||
- has_tradition
|
||||
- has_status
|
||||
- managed_by
|
||||
- has_score
|
||||
- has_policy
|
||||
- has_content
|
||||
- has_type
|
||||
- has_hyponym
|
||||
- has_function
|
||||
- has_tradition
|
||||
- has_status
|
||||
- managed_by
|
||||
- has_score
|
||||
slot_usage:
|
||||
has_tradition:
|
||||
# range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: Roman Catholic Christianity
|
||||
- value: Sunni Islam, Hanafi school
|
||||
- value: Theravada Buddhism
|
||||
has_content:
|
||||
# range: string # uriorcurie
|
||||
# range: CollectionContent
|
||||
multivalued: true
|
||||
inlined: false # Fixed invalid inline for primitive type
|
||||
inlined_as_list: false # Fixed invalid inline for primitive type
|
||||
required: true
|
||||
examples:
|
||||
- value:
|
||||
has_type:
|
||||
- type_label: Archival
|
||||
- type_label: Library
|
||||
- value:
|
||||
has_type:
|
||||
- type_label: Archival
|
||||
- type_label: Liturgical
|
||||
- value:
|
||||
has_type:
|
||||
- type_label: Library
|
||||
- type_label: Art
|
||||
has_function:
|
||||
# range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: Papal governance, Church history, Canon law
|
||||
- value: Clergy education, Liturgical support
|
||||
- value: Community genealogy, Ritual preparation
|
||||
has_policy:
|
||||
# range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: Restricted, Scholars by appointment, No browsing
|
||||
- value: Public viewing hours, No photography, Guided tours
|
||||
- value: Digitized online, Physical access by permission
|
||||
managed_by:
|
||||
# range: string # uriorcurie
|
||||
required: true
|
||||
examples:
|
||||
- value: Prefect of Vatican Archive, Papal authority
|
||||
- value: Parish priest, Volunteer committee
|
||||
- value: Monastic community, Brother librarian
|
||||
has_status:
|
||||
# range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: Active religious institution, No secularization
|
||||
- value: Partially secularized, Collections transferred to state archive
|
||||
- value: Deconsecrated, Converted to museum
|
||||
has_type:
|
||||
equals_expression: '["hc:HolySacredSiteType"]'
|
||||
has_hyponym:
|
||||
# range: string # uriorcurie
|
||||
# range: HolySiteType
|
||||
examples:
|
||||
- value:
|
||||
has_label: Church
|
||||
equivalent_to:
|
||||
equals_string: hc:HolySacredSiteType
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- schema:PlaceOfWorship
|
||||
|
|
|
|||
|
|
@ -1,51 +1,32 @@
|
|||
id: https://nde.nl/ontology/hc/class/HolySiteType
|
||||
name: holy_site_type_class
|
||||
title: Holy Site Type Class
|
||||
name: HolySiteType
|
||||
title: Holy Site Type
|
||||
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/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_description
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_label
|
||||
- ../slots/equivalent_to
|
||||
default_prefix: hc
|
||||
classes:
|
||||
HolySiteType:
|
||||
class_uri: skos:Concept
|
||||
description: "Classification of a holy or sacred site type (e.g., Church, Mosque, Synagogue).\n\n**MIGRATED** from holy_site_subtype slot (2026-01-28) per Rule 53.\n\n**Purpose**:\nProvides structured classification for religious heritage sites beyond the top-level 'H' code.\nLinks to Wikidata entities for semantic grounding.\n"
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
class_uri: hc:HolySiteType
|
||||
description: >-
|
||||
Controlled subtype vocabulary for categorizing specific forms of sacred
|
||||
or worship-related heritage sites.
|
||||
slots:
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
- equivalent_to
|
||||
- identified_by
|
||||
- has_label
|
||||
- has_description
|
||||
- equivalent_to
|
||||
slot_usage:
|
||||
identified_by:
|
||||
# range: string # uriorcurie
|
||||
required: true
|
||||
examples:
|
||||
- value: hc:HolySiteType/CHURCH
|
||||
- value: hc:HolySiteType/MOSQUE
|
||||
has_label:
|
||||
# range: string
|
||||
required: true
|
||||
examples:
|
||||
- value: Church
|
||||
- value: Mosque
|
||||
- value: Synagogue
|
||||
equivalent_to:
|
||||
range: WikiDataIdentifier
|
||||
examples:
|
||||
- value:
|
||||
- value:
|
||||
annotations:
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Classification for religious heritage sites.
|
||||
custodian_types: "['H']"
|
||||
custodian_types_rationale: Specific to Holy Sites (Type H).
|
||||
broad_mappings:
|
||||
- skos:Concept
|
||||
|
|
|
|||
|
|
@ -3,65 +3,60 @@ name: HospitalArchive
|
|||
title: Hospital Archive
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
org: http://www.w3.org/ns/org#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../classes/ArchiveOrganizationType
|
||||
- ../slots/identified_by
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
- ../slots/hold_record_set
|
||||
classes:
|
||||
HospitalArchive:
|
||||
description: "Hospital archive (Krankenhausarchiv, archivo hospitalario, archives hospitali\xE8res). Archives that preserve records created by hospitals and healthcare institutions. These may include administrative records, patient records (subject to privacy regulations), medical research documentation, photographs, and institutional histories. Hospital archives are valuable for medical history, genealogy, and understanding the evolution of healthcare practices."
|
||||
class_uri: hc:HospitalArchive
|
||||
is_a: ArchiveOrganizationType
|
||||
class_uri: schema:ArchiveOrganization
|
||||
exact_mappings:
|
||||
- wd:Q17301917
|
||||
close_mappings:
|
||||
- rico:CorporateBody
|
||||
- skos:Concept
|
||||
broad_mappings:
|
||||
- wd:Q166118
|
||||
description: >-
|
||||
Archival institution within healthcare governance that preserves
|
||||
administrative, clinical, and research records under medical privacy rules.
|
||||
alt_descriptions:
|
||||
nl: Archiefinstelling binnen de zorg die bestuurlijke, klinische en onderzoeksdocumentatie bewaart onder medische privacyregels.
|
||||
de: Archiveinrichtung im Gesundheitswesen zur Bewahrung administrativer, klinischer und forschungsbezogener Unterlagen unter medizinischem Datenschutz.
|
||||
fr: Institution archivistique du secteur hospitalier conservant des dossiers administratifs, cliniques et de recherche sous contraintes de confidentialite medicale.
|
||||
es: Institucion archivistica del ambito hospitalario que conserva registros administrativos, clinicos y de investigacion bajo normas de privacidad medica.
|
||||
ar: مؤسسة أرشيفية في قطاع الرعاية الصحية تحفظ سجلات إدارية وسريرية وبحثية مع التقيد بمتطلبات سرية البيانات الطبية.
|
||||
id: Lembaga arsip dalam tata kelola kesehatan yang melestarikan rekaman administratif, klinis, dan riset dengan aturan privasi medis.
|
||||
zh: 隶属医疗体系、在医学隐私规范下保存行政、临床与研究记录的档案机构。
|
||||
structured_aliases:
|
||||
- literal_form: ziekenhuisarchief
|
||||
in_language: nl
|
||||
- literal_form: Krankenhausarchiv
|
||||
in_language: de
|
||||
- literal_form: archives hospitalieres
|
||||
in_language: fr
|
||||
- literal_form: archivo hospitalario
|
||||
in_language: es
|
||||
- literal_form: أرشيف المستشفى
|
||||
in_language: ar
|
||||
- literal_form: arsip rumah sakit
|
||||
in_language: id
|
||||
- literal_form: 医院档案馆
|
||||
in_language: zh
|
||||
slots:
|
||||
- has_type
|
||||
- hold_record_set
|
||||
- has_score
|
||||
- identified_by
|
||||
- has_type
|
||||
- hold_record_set
|
||||
- has_score
|
||||
- identified_by
|
||||
slot_usage:
|
||||
identified_by: null
|
||||
hold_record_set:
|
||||
equals_expression: '["hc:HospitalAdministrationFonds", "hc:PatientRecordsSeries", "hc:MedicalResearchCollection", "hc:NursingRecordsCollection", "hc:MedicalPhotographyCollection"]
|
||||
|
||||
'
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
annotations:
|
||||
skos:prefLabel: Hospital Archive
|
||||
skos:altLabel: "Krankenhausarchiv, archivo hospitalario, archives hospitali\xE8res, Medical Archive, Healthcare Archive"
|
||||
subject_domain: healthcare/medical
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
see_also:
|
||||
- MedicalArchive
|
||||
- InstitutionalArchive
|
||||
- HealthcareRecords
|
||||
- HospitalArchiveRecordSetType
|
||||
comments:
|
||||
- Krankenhausarchiv (de)
|
||||
- archivo hospitalario (es)
|
||||
- "archives hospitali\xE8res (fr)"
|
||||
- Patient records subject to strict privacy and retention regulations
|
||||
- Important for history of medicine and public health research
|
||||
- May include records from associated medical schools or research
|
||||
equals_string: hc:ArchiveOrganizationType
|
||||
exact_mappings:
|
||||
- wd:Q17301917
|
||||
broad_mappings:
|
||||
- schema:ArchiveOrganization
|
||||
- wd:Q166118
|
||||
close_mappings:
|
||||
- rico:CorporateBody
|
||||
|
|
|
|||
|
|
@ -3,38 +3,26 @@ name: HospitalArchiveRecordSetType
|
|||
title: Hospital Archive Record Set Type
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../classes/CollectionType
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_score
|
||||
- ../slots/has_type
|
||||
- ../slots/related_to
|
||||
classes:
|
||||
HospitalArchiveRecordSetType:
|
||||
abstract: true
|
||||
class_uri: rico:RecordSetType
|
||||
description: "Abstract base class for all hospital archive record set types.\n\n**Definition**:\nA rico:RecordSetType that classifies collections held by hospital and healthcare \narchives. Hospital archives preserve records documenting patient care, medical \nadministration, research activities, and institutional history.\n\n**Subclasses**:\n- HospitalAdministrationFonds (institutional governance and administration)\n- PatientRecordsSeries (patient care documentation)\n- MedicalResearchCollection (clinical research and trials)\n- NursingRecordsCollection (nursing administration and education)\n- MedicalPhotographyCollection (medical imaging and documentation)\n\n**RiC-O Alignment**:\nThis is an abstract type classifier. Subclasses specify both the domain \n(type of healthcare records) and organizational principle (fonds, series, collection).\n\n**Dual-Class Pattern**:\nHospitalArchive (ArchiveOrganizationType) = the custodian institution.\nHospitalArchiveRecordSetType (rico:RecordSetType)\
|
||||
\ = the collection types held.\n\n**Privacy Considerations**:\nHospital archives contain highly sensitive personal health information.\nAccess is strictly regulated by medical privacy laws (GDPR/AVG, HIPAA).\nPatient records typically have extended retention and closure periods.\n"
|
||||
exact_mappings:
|
||||
- rico:RecordSetType
|
||||
see_also:
|
||||
- HospitalArchive
|
||||
- HospitalAdministrationFonds
|
||||
- PatientRecordsSeries
|
||||
- MedicalResearchCollection
|
||||
- NursingRecordsCollection
|
||||
- MedicalPhotographyCollection
|
||||
class_uri: hc:HospitalArchiveRecordSetType
|
||||
is_a: CollectionType
|
||||
description: >-
|
||||
Classification root for healthcare record-set categories managed by
|
||||
hospital archival institutions.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: "['*']"
|
||||
- has_type
|
||||
- has_score
|
||||
- has_scope
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
|
|
|
|||
|
|
@ -4,11 +4,8 @@ title: Hospital Archive Record Set Type Subclasses
|
|||
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#
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
rico-rst: https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- ./HospitalArchiveRecordSetType
|
||||
|
|
@ -17,740 +14,90 @@ imports:
|
|||
- ../slots/has_type
|
||||
- ../slots/has_note
|
||||
- ../slots/has_scope
|
||||
- ../slots/has_custodian
|
||||
classes:
|
||||
HospitalAdministrationFonds:
|
||||
is_a: HospitalArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: 'A rico:RecordSetType for hospital administration records organized
|
||||
as fonds.
|
||||
|
||||
|
||||
**Definition**:
|
||||
|
||||
Records created by hospital governance and administrative functions,
|
||||
|
||||
documenting institutional management, policy, finances, and operations.
|
||||
|
||||
Organized by provenance (creating administrative unit) following archival principles.
|
||||
|
||||
|
||||
**Typical Contents**:
|
||||
|
||||
- Board minutes and resolutions (bestuursstukken)
|
||||
|
||||
- Annual reports (jaarverslagen)
|
||||
|
||||
- Financial records (financiele administratie)
|
||||
|
||||
- Personnel administration
|
||||
|
||||
- Building and facilities records
|
||||
|
||||
- Policy documents and regulations
|
||||
|
||||
- Correspondence files
|
||||
|
||||
- Committee records
|
||||
|
||||
- Accreditation documentation
|
||||
|
||||
- Quality assurance records
|
||||
|
||||
|
||||
**Governance Structures**:
|
||||
|
||||
Hospital administration records reflect different governance models:
|
||||
|
||||
- Public hospitals (government oversight)
|
||||
|
||||
- Religious/charitable hospitals (stichtingen)
|
||||
|
||||
- University hospitals (academic governance)
|
||||
|
||||
- Private hospitals (corporate governance)
|
||||
|
||||
|
||||
**Historical Value**:
|
||||
|
||||
Hospital administration fonds are primary sources for:
|
||||
|
||||
- History of healthcare institutions
|
||||
|
||||
- Medical policy development
|
||||
|
||||
- Healthcare economics
|
||||
|
||||
- Social history of medicine
|
||||
|
||||
|
||||
**Dutch Context**:
|
||||
|
||||
Key administrative record types:
|
||||
|
||||
- Reglementen (bylaws and regulations)
|
||||
|
||||
- Notulen (minutes)
|
||||
|
||||
- Begrotingen (budgets)
|
||||
|
||||
- Personeelsdossiers (staff files)
|
||||
|
||||
|
||||
**RiC-O Alignment**:
|
||||
|
||||
This class is a specialized rico:RecordSetType. Records classified with this
|
||||
|
||||
type follow the fonds organizational principle as defined by rico-rst:Fonds
|
||||
|
||||
(provenance-based organization by creating administrative unit).
|
||||
|
||||
'
|
||||
structured_aliases:
|
||||
- literal_form: Krankenhausverwaltungsbestand
|
||||
in_language: de
|
||||
- literal_form: fondo de administracion hospitalaria
|
||||
in_language: es
|
||||
- literal_form: fonds d'administration hospitaliere
|
||||
in_language: fr
|
||||
- literal_form: ziekenhuisbestuursarchief
|
||||
in_language: nl
|
||||
- literal_form: fundo de administracao hospitalar
|
||||
in_language: pt
|
||||
keywords:
|
||||
- hospital administration
|
||||
- board minutes
|
||||
- annual reports
|
||||
- hospital governance
|
||||
- healthcare management
|
||||
- financial records
|
||||
- personnel administration
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Fonds
|
||||
- wd:Q1643722
|
||||
- rico:RecordSetType
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- HospitalArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Fonds
|
||||
- HospitalArchive
|
||||
- InstitutionalArchive
|
||||
annotations:
|
||||
retention_note: Administrative records have varying retention periods. Some
|
||||
(e.g., board minutes, annual reports) are permanent; others have statutory
|
||||
periods.
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
custodian_types: '[''*'']'
|
||||
class_uri: hc:HospitalAdministrationFonds
|
||||
description: Fonds-level grouping for governance and administrative records from hospital management.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_type
|
||||
- has_scope
|
||||
- has_scope
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_scope
|
||||
- has_custodian
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: HospitalAdministrationFonds
|
||||
has_note:
|
||||
equals_string: This RecordSetType classifies record sets following the fonds
|
||||
principle as defined by rico-rst:Fonds. Provenance-based organization by creating
|
||||
administrative unit (board, department, committee).
|
||||
has_scope:
|
||||
equals_string: '["board minutes", "annual reports", "financial records", "personnel
|
||||
files", "policy documents"]'
|
||||
has_scope:
|
||||
equals_string: '["patient records", "medical research", "nursing records",
|
||||
"clinical documentation"]'
|
||||
has_custodian:
|
||||
equals_string: HospitalArchive
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Fonds
|
||||
PatientRecordsSeries:
|
||||
is_a: HospitalArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: 'A rico:RecordSetType for patient records organized as series.
|
||||
|
||||
|
||||
**Definition**:
|
||||
|
||||
Records documenting individual patient care episodes, including admission,
|
||||
|
||||
treatment, and discharge. Typically organized as chronological series
|
||||
|
||||
by year, department, or patient number.
|
||||
|
||||
|
||||
**Typical Contents**:
|
||||
|
||||
- Patient admission records (opnameboeken)
|
||||
|
||||
- Medical histories (ziektegeschiedenissen)
|
||||
|
||||
- Treatment records
|
||||
|
||||
- Surgical records (operatieverslagen)
|
||||
|
||||
- Diagnostic reports
|
||||
|
||||
- Nursing notes
|
||||
|
||||
- Discharge summaries
|
||||
|
||||
- Death registers (overlijdensregisters)
|
||||
|
||||
- Birth registers (geboorteregisters)
|
||||
|
||||
|
||||
**Historical Patient Record Formats**:
|
||||
|
||||
- Pre-20th century: Ledger-based registers
|
||||
|
||||
- Early 20th century: Individual patient folders
|
||||
|
||||
- Mid-20th century: Standardized medical records
|
||||
|
||||
- Late 20th century: Hybrid paper/electronic
|
||||
|
||||
- 21st century: Electronic health records (EHR/EPD)
|
||||
|
||||
|
||||
**Privacy and Access**:
|
||||
|
||||
Patient records are highly sensitive:
|
||||
|
||||
- GDPR/AVG protection for living patients
|
||||
|
||||
- Extended closure periods (typically 100+ years after birth)
|
||||
|
||||
- Medical confidentiality obligations
|
||||
|
||||
- Research access requires ethics approval
|
||||
|
||||
|
||||
**Genealogical Value**:
|
||||
|
||||
Historical patient records valuable for:
|
||||
|
||||
- Family history research (births, deaths)
|
||||
|
||||
- Medical genealogy
|
||||
|
||||
- Epidemiological research
|
||||
|
||||
- Social history
|
||||
|
||||
|
||||
**Dutch Context**:
|
||||
|
||||
Key series types:
|
||||
|
||||
- Patientenregisters
|
||||
|
||||
- Opname- en ontslagboeken
|
||||
|
||||
- Operatieregisters
|
||||
|
||||
- Kraamboeken (maternity registers)
|
||||
|
||||
|
||||
**RiC-O Alignment**:
|
||||
|
||||
This class is a specialized rico:RecordSetType. Records classified with this
|
||||
|
||||
type follow the series organizational principle as defined by rico-rst:Series
|
||||
|
||||
(chronological has_arrangement by year, department, or sequential patient number).
|
||||
|
||||
'
|
||||
structured_aliases:
|
||||
- literal_form: Patientenaktenserie
|
||||
in_language: de
|
||||
- literal_form: serie de expedientes de pacientes
|
||||
in_language: es
|
||||
- literal_form: serie de dossiers de patients
|
||||
in_language: fr
|
||||
- literal_form: patientendossiers
|
||||
in_language: nl
|
||||
- literal_form: serie de prontuarios de pacientes
|
||||
in_language: pt
|
||||
keywords:
|
||||
- patient records
|
||||
- medical records
|
||||
- admission records
|
||||
- surgical records
|
||||
- birth registers
|
||||
- death registers
|
||||
- medical history
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Series
|
||||
- wd:Q185583
|
||||
- rico:RecordSetType
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- HospitalArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Series
|
||||
annotations:
|
||||
retention_note: 'Retention requirements vary by record type and jurisdiction.
|
||||
Netherlands: typically 15-20 years for active care, longer for research-relevant
|
||||
records. Historical records may be permanent.'
|
||||
genealogy_note: Historical patient records (pre-1920) increasingly accessible
|
||||
for genealogical research. Birth/death registers particularly valuable.
|
||||
class_uri: hc:PatientRecordsSeries
|
||||
description: Series-level grouping for care episode records with heightened privacy controls.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_note
|
||||
- has_type
|
||||
- has_scope
|
||||
- has_scope
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_scope
|
||||
- has_custodian
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: PatientRecordsSeries
|
||||
has_note:
|
||||
equals_string: This RecordSetType classifies record sets following the series
|
||||
principle as defined by rico-rst:Series. Chronological has_arrangement by
|
||||
year, department, or sequential patient number.
|
||||
has_scope:
|
||||
equals_string: '["admissions", "treatments", "surgeries", "diagnoses", "births",
|
||||
"deaths"]'
|
||||
has_scope:
|
||||
equals_string: '["administrative records", "research data", "nursing education"]'
|
||||
has_note:
|
||||
equals_string: HIGHLY SENSITIVE. Patient records contain protected health
|
||||
information. Access restricted by GDPR/AVG. Extended closure periods (100+
|
||||
years from birth date). Research requires ethics committee approval.
|
||||
has_custodian:
|
||||
equals_string: HospitalArchive
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Series
|
||||
MedicalResearchCollection:
|
||||
is_a: HospitalArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: 'A rico:RecordSetType for medical research documentation.
|
||||
|
||||
|
||||
**Definition**:
|
||||
|
||||
Collections documenting clinical research, medical trials, and scientific
|
||||
|
||||
investigations conducted at hospitals and medical centers. Combines
|
||||
|
||||
official research records with collected data and publications.
|
||||
|
||||
|
||||
**Typical Contents**:
|
||||
|
||||
- Clinical trial protocols
|
||||
|
||||
- Research data sets
|
||||
|
||||
- Ethics committee approvals (METC)
|
||||
|
||||
- Informed consent documentation
|
||||
|
||||
- Research correspondence
|
||||
|
||||
- Laboratory notebooks
|
||||
|
||||
- Statistical analyses
|
||||
|
||||
- Publications and manuscripts
|
||||
|
||||
- Grant documentation
|
||||
|
||||
- Patent filings
|
||||
|
||||
|
||||
**Research Types**:
|
||||
|
||||
- Clinical trials (interventional studies)
|
||||
|
||||
- Observational studies
|
||||
|
||||
- Case studies
|
||||
|
||||
- Basic research (laboratory)
|
||||
|
||||
- Translational research
|
||||
|
||||
- Epidemiological studies
|
||||
|
||||
|
||||
**Data Management**:
|
||||
|
||||
Medical research collections require:
|
||||
|
||||
- Data integrity documentation
|
||||
|
||||
- Audit trails
|
||||
|
||||
- Long-term preservation plans
|
||||
|
||||
- De-identification protocols
|
||||
|
||||
- Reproducibility documentation
|
||||
|
||||
|
||||
**Regulatory Context**:
|
||||
|
||||
Research records subject to:
|
||||
|
||||
- Good Clinical Practice (GCP) guidelines
|
||||
|
||||
- FDA/EMA regulatory requirements
|
||||
|
||||
- Research ethics regulations
|
||||
|
||||
- Data retention requirements (typically 15-25 years)
|
||||
|
||||
|
||||
**Dutch Context**:
|
||||
|
||||
Key elements:
|
||||
|
||||
- METC goedkeuringen (ethics approvals)
|
||||
|
||||
- WMO (Medical Research Act) documentation
|
||||
|
||||
- CCMO registrations
|
||||
|
||||
- NWO/ZonMw grant records
|
||||
|
||||
|
||||
**RiC-O Alignment**:
|
||||
|
||||
This class is a specialized rico:RecordSetType. Records classified with this
|
||||
|
||||
type follow the collection organizational principle as defined by rico-rst:Collection
|
||||
|
||||
(assembled research documentation organized by project, grant, or research area).
|
||||
|
||||
'
|
||||
structured_aliases:
|
||||
- literal_form: Medizinische Forschungssammlung
|
||||
in_language: de
|
||||
- literal_form: coleccion de investigacion medica
|
||||
in_language: es
|
||||
- literal_form: collection de recherche medicale
|
||||
in_language: fr
|
||||
- literal_form: medisch onderzoeksarchief
|
||||
in_language: nl
|
||||
- literal_form: colecao de pesquisa medica
|
||||
in_language: pt
|
||||
keywords:
|
||||
- medical research
|
||||
- medisch onderzoek
|
||||
- clinical trials
|
||||
- klinische studies
|
||||
- research data
|
||||
- ethics approval
|
||||
- METC
|
||||
- clinical research
|
||||
- laboratory notebooks
|
||||
- research protocols
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
- wd:Q9388534
|
||||
- rico:RecordSetType
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- HospitalArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Collection
|
||||
- AcademicArchive
|
||||
- ResearchDataCollection
|
||||
annotations:
|
||||
regulatory_note: Research records subject to GCP guidelines, regulatory requirements
|
||||
(FDA/EMA), and data retention mandates (typically 15-25 years). Ethics committee
|
||||
approvals required for human subjects research.
|
||||
data_management_note: Requires robust data management including audit trails,
|
||||
de-identification protocols, and long-term preservation plans. FAIR principles
|
||||
apply.
|
||||
class_uri: hc:MedicalResearchCollection
|
||||
description: Collection-level grouping for clinical research protocols, datasets, and approval files.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_type
|
||||
- has_scope
|
||||
- has_scope
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_scope
|
||||
- has_custodian
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType", "hc:ResearchOrganizationType"]'
|
||||
has_type:
|
||||
equals_string: MedicalResearchCollection
|
||||
has_note:
|
||||
equals_string: This RecordSetType classifies record sets following the collection
|
||||
principle as defined by rico-rst:Collection. Assembled research documentation organized
|
||||
by project, grant, or research area.
|
||||
has_scope:
|
||||
equals_string: '["clinical trials", "research protocols", "ethics approvals",
|
||||
"data sets", "publications"]'
|
||||
has_scope:
|
||||
equals_string: '["routine patient care", "administrative records", "nursing
|
||||
education"]'
|
||||
has_custodian:
|
||||
equals_string: HospitalArchive
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
NursingRecordsCollection:
|
||||
is_a: HospitalArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: 'A rico:RecordSetType for nursing administration and education records.
|
||||
|
||||
|
||||
**Definition**:
|
||||
|
||||
Collections documenting nursing services, education, and professional
|
||||
|
||||
development within healthcare institutions. Includes both administrative
|
||||
|
||||
records and educational materials.
|
||||
|
||||
|
||||
**Typical Contents**:
|
||||
|
||||
- Nursing school records (verpleegkundigenopleiding)
|
||||
|
||||
- Student registers and transcripts
|
||||
|
||||
- Curriculum documentation
|
||||
|
||||
- Examination records
|
||||
|
||||
- Nursing procedure manuals
|
||||
|
||||
- Staff scheduling records
|
||||
|
||||
- Quality improvement documentation
|
||||
|
||||
- Nursing association records
|
||||
|
||||
- Photographs (class photos, ceremonies)
|
||||
|
||||
- Oral histories with nurses
|
||||
|
||||
|
||||
**Historical Context**:
|
||||
|
||||
Nursing archives document:
|
||||
|
||||
- Professionalization of nursing
|
||||
|
||||
- Evolution of nursing education
|
||||
|
||||
- Changes in patient care practices
|
||||
|
||||
- Women''s history (majority female profession)
|
||||
|
||||
- Hospital hierarchy and labor relations
|
||||
|
||||
|
||||
**Education Documentation**:
|
||||
|
||||
- Training school curricula
|
||||
|
||||
- Apprenticeship records
|
||||
|
||||
- Certification documentation
|
||||
|
||||
- Continuing education records
|
||||
|
||||
- Specialization training
|
||||
|
||||
|
||||
**Dutch Context**:
|
||||
|
||||
Key elements:
|
||||
|
||||
- Diploma''s verpleegkunde
|
||||
|
||||
- Leerlingregisters
|
||||
|
||||
- Opleidingsreglementen
|
||||
|
||||
- Verenigingsarchieven (nursing associations)
|
||||
|
||||
- Foto''s van studiejaargroepen
|
||||
|
||||
|
||||
**RiC-O Alignment**:
|
||||
|
||||
This class is a specialized rico:RecordSetType. Records classified with this
|
||||
|
||||
type follow the collection organizational principle as defined by rico-rst:Collection
|
||||
|
||||
(assembled nursing documentation organized by school, department, or time period).
|
||||
|
||||
'
|
||||
structured_aliases:
|
||||
- literal_form: Pflegedokumentationssammlung
|
||||
in_language: de
|
||||
- literal_form: coleccion de documentacion de enfermeria
|
||||
in_language: es
|
||||
- literal_form: collection de documentation infirmiere
|
||||
in_language: fr
|
||||
- literal_form: verpleegkundig archief
|
||||
in_language: nl
|
||||
- literal_form: colecao de documentacao de enfermagem
|
||||
in_language: pt
|
||||
keywords:
|
||||
- nursing records
|
||||
- verpleegkundig archief
|
||||
- nursing education
|
||||
- nursing school
|
||||
- student nurses
|
||||
- leerling-verpleegkundigen
|
||||
- nursing history
|
||||
- nursing administration
|
||||
- nurse training
|
||||
- nursing profession
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
- wd:Q9388534
|
||||
- rico:RecordSetType
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- HospitalArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Collection
|
||||
- EducationalInstitutionArchive
|
||||
annotations:
|
||||
historical_note: Nursing archives are valuable for women's history and the history
|
||||
of healthcare professionalization. Many hospitals maintained their own nursing
|
||||
schools until the late 20th century.
|
||||
class_uri: hc:NursingRecordsCollection
|
||||
description: Collection-level grouping for nursing education and professional practice documentation.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_note
|
||||
- has_type
|
||||
- has_scope
|
||||
- has_scope
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_scope
|
||||
- has_custodian
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType", "hc:EducationProviderType"]'
|
||||
has_type:
|
||||
equals_string: NursingRecordsCollection
|
||||
has_note:
|
||||
equals_string: This RecordSetType classifies record sets following the collection
|
||||
principle as defined by rico-rst:Collection. Assembled nursing documentation organized
|
||||
by school, department, or time period.
|
||||
has_scope:
|
||||
equals_string: '["nursing education", "student records", "curricula", "staff
|
||||
records", "photographs"]'
|
||||
has_scope:
|
||||
equals_string: '["patient care documentation", "medical research", "administrative
|
||||
records (general)"]'
|
||||
has_note:
|
||||
equals_string: Student records contain personal information subject to privacy
|
||||
protection. Historical records (pre-1920) more accessible.
|
||||
has_custodian:
|
||||
equals_string: HospitalArchive
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
MedicalPhotographyCollection:
|
||||
is_a: HospitalArchiveRecordSetType
|
||||
class_uri: rico:RecordSetType
|
||||
description: "A rico:RecordSetType for medical photography and imaging documentation.\n\
|
||||
\n**Definition**:\nCollections of photographs, images, and visual documentation\
|
||||
\ created \nfor medical, educational, and institutional purposes. Includes clinical\n\
|
||||
photography, facility documentation, and historical photographs.\n\n**Typical\
|
||||
\ Contents**:\n- Clinical photography (dermatology, surgery, pathology)\n- Medical\
|
||||
\ illustrations\n- X-rays and radiological images (historical)\n- Surgical documentation\
|
||||
\ photographs\n- Building and facility photographs\n- Staff portraits and group\
|
||||
\ photos\n- Event documentation\n- Equipment and technology photographs\n- Teaching\
|
||||
\ slides and visual aids\n- Patient photographs (historical, with consent issues)\n\
|
||||
\n**Historical Formats**:\n- Glass plate negatives\n- Lantern slides (teaching)\n\
|
||||
- Photographic prints\n- 35mm slides\n- Digital images\n\n**Privacy and Ethics**:\n\
|
||||
Medical photography raises significant privacy concerns:\n- Patient consent\
|
||||
\ requirements\n- De-identification protocols\n- Historical photographs with\
|
||||
\ identifiable patients\n- Sensitive clinical imagery\n\n**Research and Education\
|
||||
\ Value**:\nMedical photography collections support:\n- Medical history research\n\
|
||||
- History of diagnostic techniques\n- Teaching and education\n- Documentary\
|
||||
\ evidence\n- Institutional history\n\n**Dutch Context**:\nKey elements:\n-\
|
||||
\ Medische fotografie\n- Rontgenfoto's (historical X-rays)\n- Anatomische preparaten\
|
||||
\ (related documentation)\n- Onderwijsdia's (teaching slides)\n\n**RiC-O Alignment**:\n\
|
||||
This class is a specialized rico:RecordSetType. Records classified with this\n\
|
||||
type follow the collection organizational principle as defined by rico-rst:Collection\n\
|
||||
(assembled visual documentation organized by subject, department, or format).\n"
|
||||
structured_aliases:
|
||||
- literal_form: Medizinische Fotosammlung
|
||||
in_language: de
|
||||
- literal_form: coleccion de fotografia medica
|
||||
in_language: es
|
||||
- literal_form: collection de photographie medicale
|
||||
in_language: fr
|
||||
- literal_form: medische fotocollectie
|
||||
in_language: nl
|
||||
- literal_form: colecao de fotografia medica
|
||||
in_language: pt
|
||||
keywords:
|
||||
- medical photography
|
||||
- medische fotografie
|
||||
- clinical photography
|
||||
- klinische fotografie
|
||||
- medical illustration
|
||||
- X-rays
|
||||
- rontgenfoto's
|
||||
- surgical photography
|
||||
- dermatological images
|
||||
- pathological specimens
|
||||
- teaching slides
|
||||
- medical imaging history
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
- wd:Q1260006
|
||||
- rico:RecordSetType
|
||||
- skos:Concept
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
see_also:
|
||||
- HospitalArchiveRecordSetType
|
||||
- rico:RecordSetType
|
||||
- rico-rst:Collection
|
||||
- PhotographicArchive
|
||||
- PhotographicCollection
|
||||
annotations:
|
||||
museum_note: Medical photography collections may be held by medical museums,
|
||||
particularly those associated with university medical centers or medical history
|
||||
museums.
|
||||
class_uri: hc:MedicalPhotographyCollection
|
||||
description: Collection-level grouping for medical imaging and visual documentation.
|
||||
slots:
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_note
|
||||
- has_note
|
||||
- has_type
|
||||
- has_scope
|
||||
- has_scope
|
||||
- has_type
|
||||
- has_score
|
||||
- has_note
|
||||
- has_scope
|
||||
- has_custodian
|
||||
slot_usage:
|
||||
has_type:
|
||||
equals_expression: '["hc:ArchiveOrganizationType", "hc:MuseumType"]'
|
||||
has_type:
|
||||
equals_string: MedicalPhotographyCollection
|
||||
has_note:
|
||||
equals_string: This RecordSetType classifies record sets following the collection
|
||||
principle as defined by rico-rst:Collection. Assembled visual documentation organized
|
||||
by subject, department, format, or time period.
|
||||
has_scope:
|
||||
equals_string: '["clinical photography", "X-rays", "teaching slides", "facility
|
||||
photos", "staff portraits"]'
|
||||
has_scope:
|
||||
equals_string: '["textual patient records", "administrative documents", "research
|
||||
data"]'
|
||||
has_note:
|
||||
equals_string: SENSITIVE. Clinical photographs may contain identifiable patients.
|
||||
Historical collections require ethical review for access and use. De-identification
|
||||
protocols essential for research use.
|
||||
has_note:
|
||||
equals_string: Historical photographic materials require specialized preservation.
|
||||
Glass plates, nitrate film, and early color materials particularly vulnerable.
|
||||
Digitization priorities based on condition and content.
|
||||
has_custodian:
|
||||
equals_string: HospitalArchive
|
||||
broad_mappings:
|
||||
- rico:RecordSetType
|
||||
related_mappings:
|
||||
- rico-rst:Collection
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue