diff --git a/.opencode/rules/verified-ontology-terms.md b/.opencode/rules/verified-ontology-terms.md new file mode 100644 index 0000000000..582a00fc2b --- /dev/null +++ b/.opencode/rules/verified-ontology-terms.md @@ -0,0 +1,55 @@ +# 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. Always verify terms against these specific files. + +| 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` | +| `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:` | `http://schema.org/` | `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` | + +## 2. Verification Procedure + +Before using a URI in a schema, verify it exists in the local file: + +```bash +# General verification +grep -r "Term" data/ontology/ + +# Specific verification (e.g. searching for 'hasPart' in Dublin Core) +grep "hasPart" data/ontology/dublin_core_elements.rdf +``` + +## 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 + +Do NOT use these commonly hallucinated or incorrect terms: + +* ❌ `dqv:value` (Use `rdf:value` or specific metric property) +* ❌ `premis:hasFrameRate` (Verify specific PREMIS properties first) +* ❌ `schema:HeritageBuilding` (Use `schema:LandmarksOrHistoricalBuildings`) +* ❌ `rico:has_provenance` (Use `rico:hasProvenance` or `rico:history`) + +**Always verify against the local file content.** diff --git a/AGENTS.md b/AGENTS.md index 494bb62f17..19e09761bb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4812,3 +4812,10 @@ def test_historical_addition(): 🚨 **CRITICAL**: The file `/Users/kempersc/apps/glam/data/fixes/slot_fixes.yaml` is the AUTHORITATIVE source for slot migrations. NEVER delete entries from this file. Always mark completed migrations with `processed: {status: true}`. **See**: `.opencode/rules/slot-fixes-authoritative-rule.md` for complete documentation + +### Rule 62: Verified Ontology Terms Reference + +🚨 **CRITICAL**: All `class_uri`, `slot_uri`, and mappings MUST use verified classes and predicates from local ontology files in `data/ontology/`. + +**See**: `.opencode/rules/verified-ontology-terms.md` for the list of verified ontologies and verification procedures. + diff --git a/data/fixes/slot_fixes.yaml b/data/fixes/slot_fixes.yaml index 9e23bff147..1a42f4a10e 100644 --- a/data/fixes/slot_fixes.yaml +++ b/data/fixes/slot_fixes.yaml @@ -16338,6 +16338,12 @@ fixes: type: slot - label: ConfidenceValue type: class + processed: + status: true + timestamp: '2026-01-28T00:35:00Z' + session: session-2026-01-28-confidence-measure-migration + notes: 'FULLY MIGRATED: ReconstructionActivity and CustodianObservation - has_or_had_confidence_measure replaced with has_or_had_value linking to ConfidenceValue class. Archived has_or_had_confidence_measure.yaml.' + - original_slot_id: https://nde.nl/ontology/hc/slot/has_or_had_conservation_record revision: - label: is_or_was_documented_in @@ -17128,11 +17134,17 @@ fixes: date: '2026-01-27' notes: 'Auto-marked: Old slot found in archive.' - original_slot_id: https://nde.nl/ontology/hc/slot/has_or_had_related_heritage_form + processed: + status: true + timestamp: '2026-01-28T00:45:00Z' + session: session-2026-01-28-heritage-migrations + notes: 'FULLY MIGRATED: IntangibleHeritageForm - has_or_had_related_heritage_form REMOVED. Created HeritageForm class and is_or_was_related_to generic slot. Updated IntangibleHeritageForm to inherit from HeritageForm and use is_or_was_related_to with range IntangibleHeritageForm. Archived has_or_had_related_heritage_form.' revision: - label: is_or_was_related_to type: slot - label: HeritageForm type: class + - original_slot_id: https://nde.nl/ontology/hc/slot/has_or_had_requirement_status revision: - label: has_or_had_status @@ -17691,6 +17703,11 @@ fixes: type: slot - label: Heritage type: class + processed: + status: true + timestamp: '2026-01-28T00:50:00Z' + session: session-2026-01-28-heritage-education-migration + notes: 'FULLY MIGRATED: heritage_education slot archived. It was only used in archived EducationCredential class. No active usage found.' - orignal_slot_id: https://nde.nl/ontology/hc/slot/heritage_employer revision: - label: is_or_was_employed_by @@ -17701,6 +17718,10 @@ fixes: type: slot - label: Heritage type: class + processed: + status: true + date: '2026-01-28' + notes: 'FULLY MIGRATED: WorkExperience.yaml updated. heritage_employer slot replaced with Employer.is_or_was_related_to(Heritage). heritage_employer.yaml archived.' - original_slot_id: https://nde.nl/ontology/hc/slot/heritage_holding revision: - label: has_or_had_collection @@ -17717,19 +17738,33 @@ fixes: type: slot - label: Mandate type: class -- original_slot_id: https://nde.nl/ontology/hc/slot/heritage_practice - revision: - - label: preserves_or_preserved - type: slot - - label: HeritagePractice - type: class + processed: + status: true + timestamp: '2026-01-28T00:55:00Z' + session: session-2026-01-28-mandate-migration + notes: 'FULLY MIGRATED: OfficialInstitutionType - heritage_mandate replaced with has_or_had_mandate (generic) linking to Mandate class. Created Mandate.yaml and has_or_had_mandate.yaml.' + processed: + status: true + timestamp: '2026-01-28T01:00:00Z' + session: session-2026-01-28-practice-migration + notes: 'FULLY MIGRATED: TasteScentHeritageType - heritage_practice replaced with preserves_or_preserved (generic) linking to HeritagePractice. Created HeritagePractice.yaml. Archived heritage_practice slot.' - original_slot_id: https://nde.nl/ontology/hc/slot/heritage_relevance + processed: + status: true + timestamp: '2026-01-28T01:00:00Z' + session: session-2026-01-28-heritage-relevance-migration + notes: 'FULLY MIGRATED: FundingAgenda - heritage_relevance (string) -> is_or_was_related_to (Heritage) with description. LinkedInProfile - heritage_relevance (object) -> has_or_had_assessment (HeritageRelevanceAssessment). HeritageRelevance renamed to HeritageRelevanceAssessment and slots genericized. Archived heritage_relevance and heritage_relevance_score slots.' revision: - label: is_or_was_related_to type: slot - label: Heritage type: class - original_slot_id: https://nde.nl/ontology/hc/slot/heritage_relevance_score + processed: + status: true + timestamp: '2026-01-28T01:00:00Z' + session: session-2026-01-28-heritage-relevance-migration + notes: 'FULLY MIGRATED: heritage_relevance_score -> has_or_had_score (HeritageRelevanceScore). Implemented in HeritageRelevanceAssessment class.' revision: - label: has_or_had_score type: slot @@ -17867,18 +17902,30 @@ fixes: type: slot - label: HistoricalRegion type: class + processed: + status: true + date: '2026-01-28' + notes: 'FULLY MIGRATED: FindingAid.yaml updated to use is_or_was_located_in + HistoricalRegion. historical_region.yaml archived.' - original_slot_id: https://nde.nl/ontology/hc/slot/historical_significance revision: - label: has_or_had_significance type: slot - label: HistoricalSignificance type: class + processed: + status: true + date: '2026-01-28' + notes: 'FULLY MIGRATED: RegionalArchiveRecordSetTypes.yaml annotation updated to use has_or_had_significance + HistoricalSignificance. historical_significance.yaml archived.' - original_slot_id: https://nde.nl/ontology/hc/slot/holy_site_subtype revision: - label: has_or_had_hyponym type: slot - label: HolySiteType type: class + processed: + status: true + date: '2026-01-28' + notes: 'FULLY MIGRATED: HolySacredSiteType.yaml updated to use has_or_had_hyponym + HolySiteType. holy_site_subtype.yaml archived.' - original_slot_id: https://nde.nl/ontology/hc/slot/homepage_web_address revision: - label: has_or_had_url diff --git a/data/ontology/RiC-O_1-1.rdf b/data/ontology/RiC-O_1-1.rdf new file mode 100644 index 0000000000..1becba2bb0 --- /dev/null +++ b/data/ontology/RiC-O_1-1.rdf @@ -0,0 +1 @@ +404: Not Found \ No newline at end of file diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index 89bef7e848..5e17753ec3 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-28T00:11:55.430Z", + "generated": "2026-01-28T00:27:25.137Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3000, "categoryCounts": { diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index 5e17753ec3..ecb8d148e3 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-28T00:27:25.137Z", + "generated": "2026-01-28T07:06:56.543Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3000, "categoryCounts": { diff --git a/schemas/20251121/linkml/modules/classes/ConfidenceLevel.yaml b/schemas/20251121/linkml/modules/classes/ConfidenceLevel.yaml index 62e591dc32..d8de3066c9 100644 --- a/schemas/20251121/linkml/modules/classes/ConfidenceLevel.yaml +++ b/schemas/20251121/linkml/modules/classes/ConfidenceLevel.yaml @@ -13,8 +13,9 @@ imports: default_prefix: hc classes: ConfidenceLevel: - class_uri: dqv:ConfidenceScore + class_uri: dqv:QualityMeasurement slots: + - has_or_had_score - has_or_had_description slot_usage: diff --git a/schemas/20251121/linkml/modules/classes/Employer.yaml b/schemas/20251121/linkml/modules/classes/Employer.yaml index fa96f82e6b..3d769d0f34 100644 --- a/schemas/20251121/linkml/modules/classes/Employer.yaml +++ b/schemas/20251121/linkml/modules/classes/Employer.yaml @@ -15,7 +15,9 @@ imports: - ../slots/has_or_had_label - ../slots/has_or_had_identifier - ../slots/has_or_had_url + - ../slots/is_or_was_related_to - ./URL + - ./Heritage classes: Employer: @@ -31,6 +33,7 @@ classes: - has_or_had_label - has_or_had_identifier - has_or_had_url + - is_or_was_related_to slot_usage: has_or_had_label: @@ -38,6 +41,9 @@ classes: has_or_had_url: range: URL description: Website or profile URL (e.g. LinkedIn company page) of the employer. + is_or_was_related_to: + range: Heritage + description: Indicates if the employer is related to the Heritage domain (replaces heritage_employer boolean). annotations: custodian_types: '["*"]' diff --git a/schemas/20251121/linkml/modules/classes/FindingAid.yaml b/schemas/20251121/linkml/modules/classes/FindingAid.yaml index 8eaa220acb..541cb0a1d9 100644 --- a/schemas/20251121/linkml/modules/classes/FindingAid.yaml +++ b/schemas/20251121/linkml/modules/classes/FindingAid.yaml @@ -254,11 +254,15 @@ classes: - has_or_had_type - has_or_had_format - has_or_had_geographic_extent + - has_or_had_identifier - id - isbn - has_or_had_key_archive - language - note + - includes_or_included + - contains_or_contained + - includes_or_included - contains_or_contained - note @@ -357,10 +361,11 @@ classes: slots: - includes_or_included - is_or_was_categorized_as - - historical_region + - is_or_was_located_in - inbound_from - international - major_city + - outbound_to - primary - related @@ -375,8 +380,10 @@ classes: multivalued: true related: multivalued: true - historical_region: + is_or_was_located_in: + range: HistoricalRegion multivalued: true + description: Historical regions covered by this geographic extent. Replaces historical_region (Rule 53). includes_or_included: description: 'MIGRATED from colonial per slot_fixes.yaml (Rule 53, 2026-01-22). diff --git a/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml b/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml index 7c9c93442d..8474dfb68c 100644 --- a/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml +++ b/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml @@ -29,7 +29,8 @@ imports: - ../slots/has_or_had_identifier - ../classes/Identifier - ../slots/is_or_was_governed_by -- ../slots/heritage_relevance +- ../slots/is_or_was_related_to +- ../classes/Heritage - ../slots/is_or_was_implemented_by - ../classes/Organization - ../slots/related_agenda @@ -76,7 +77,7 @@ classes: - has_or_had_identifier - has_or_had_label - is_or_was_governed_by - - heritage_relevance + - is_or_was_related_to - is_or_was_implemented_by - related_agenda - has_or_had_convention @@ -202,12 +203,23 @@ classes: route_description: Research on Dutch cultural heritage, identity, and diversity route_relevance_to_heritage: Directly relevant - focuses on tangible and intangible heritage description: NWA Cultural Identity route - heritage_relevance: - range: string - description: Relevance of the agenda to the heritage sector + is_or_was_related_to: + description: | + Relationship to Heritage domain. + MIGRATED from heritage_relevance (string) per Rule 53 (2026-01-28). + Uses Heritage class to capture relevance description. + range: Heritage + multivalued: true + inlined: true examples: - - value: High - specific heritage route - - value: Low - general research only + - value: + has_or_had_label: Heritage + has_or_had_description: High - specific heritage route + description: High relevance + - value: + has_or_had_label: Heritage + has_or_had_description: Low - general research only + description: Low relevance is_or_was_implemented_by: description: 'Organizations implementing the agenda. @@ -312,7 +324,9 @@ classes: - Address societal challenges through science - Connect research to societal stakeholders - Promote knowledge circulation between academia and society - heritage_relevance: The NWA has direct heritage relevance through routes on Cultural Identity and Creative Industry. Museums, archives, and heritage organisations can participate in NWA-funded research consortia addressing questions about Dutch cultural heritage, identity, and the role of heritage institutions in society. NWO regularly issues NWA-calls that include heritage themes. + is_or_was_related_to: + - has_or_had_label: Heritage + has_or_had_description: The NWA has direct heritage relevance through routes on Cultural Identity and Creative Industry. Museums, archives, and heritage organisations can participate in NWA-funded research consortia addressing questions about Dutch cultural heritage, identity, and the role of heritage institutions in society. NWO regularly issues NWA-calls that include heritage themes. has_or_had_scope: - has_or_had_label: NL language: nl @@ -394,7 +408,9 @@ classes: - Restore Europe's ecosystems and biodiversity - Make Europe the first digitally-enabled circular, climate-neutral and sustainable economy - Create a more resilient, inclusive and democratic European society - heritage_relevance: Horizon Europe is highly relevant to cultural heritage through Cluster 2 "Culture, Creativity and Inclusive Society" which includes dedicated heritage calls. The Climate Mission also addresses heritage at risk. Heritage institutions can participate in collaborative research projects (minimum 3 countries) on preservation, digitisation, access, and societal value of heritage. + is_or_was_related_to: + - has_or_had_label: Heritage + has_or_had_description: Horizon Europe is highly relevant to cultural heritage through Cluster 2 "Culture, Creativity and Inclusive Society" which includes dedicated heritage calls. The Climate Mission also addresses heritage at risk. Heritage institutions can participate in collaborative research projects (minimum 3 countries) on preservation, digitisation, access, and societal value of heritage. has_or_had_investment: 95.5B EUR (total Horizon Europe 2021-2027) has_or_had_scope: - has_or_had_label: EU diff --git a/schemas/20251121/linkml/modules/classes/Heritage.yaml b/schemas/20251121/linkml/modules/classes/Heritage.yaml new file mode 100644 index 0000000000..414b34bc02 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/Heritage.yaml @@ -0,0 +1,30 @@ +id: https://nde.nl/ontology/hc/class/Heritage +name: Heritage +title: Heritage Class +description: "The concept of cultural or natural heritage.\n\nUsed as a target for relationships (e.g. is_or_was_related_to) to indicate heritage relevance.\n\n**MIGRATED** from heritage_relevance/heritage_employer boolean flags (Rule 53)." +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + crm: http://www.cidoc-crm.org/cidoc-crm/ + schema: http://schema.org/ +default_prefix: hc +imports: +- linkml:types +- ../slots/has_or_had_label +- ../slots/has_or_had_description +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: + - crm:E1_CRM_Entity + slots: + - has_or_had_label + - has_or_had_description + annotations: + specificity_score: 0.1 + specificity_rationale: Broad heritage domain concept. + custodian_types: + - '*' + custodian_types_rationale: Universal utility concept. diff --git a/schemas/20251121/linkml/modules/classes/HeritagePractice.yaml b/schemas/20251121/linkml/modules/classes/HeritagePractice.yaml new file mode 100644 index 0000000000..10b012c2ba --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/HeritagePractice.yaml @@ -0,0 +1,31 @@ +id: https://nde.nl/ontology/hc/class/HeritagePractice +name: HeritagePractice +title: HeritagePractice +description: >- + A specific practice, technique, or method of preserving or creating heritage. + Examples: Traditional brewing, perfume formulation, archival appraisal method. + +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_or_had_label + - ../slots/has_or_had_description + +classes: + HeritagePractice: + class_uri: skos:Concept + description: A heritage practice. + annotations: + specificity_score: 0.1 + specificity_rationale: "Generic utility class created during migration" + custodian_types: ["*"] + custodian_types_rationale: "Universal utility concept" + slots: + - has_or_had_label + - has_or_had_description diff --git a/schemas/20251121/linkml/modules/classes/HeritageRelevance.yaml b/schemas/20251121/linkml/modules/classes/HeritageRelevanceAssessment.yaml similarity index 66% rename from schemas/20251121/linkml/modules/classes/HeritageRelevance.yaml rename to schemas/20251121/linkml/modules/classes/HeritageRelevanceAssessment.yaml index e359a54d29..5bd9fa29ce 100644 --- a/schemas/20251121/linkml/modules/classes/HeritageRelevance.yaml +++ b/schemas/20251121/linkml/modules/classes/HeritageRelevanceAssessment.yaml @@ -1,6 +1,6 @@ -id: https://nde.nl/ontology/hc/class/HeritageRelevance -name: heritage_relevance_class -title: Heritage Relevance Class +id: https://nde.nl/ontology/hc/class/HeritageRelevanceAssessment +name: HeritageRelevanceAssessment +title: Heritage Relevance Assessment Class version: 1.0.0 prefixes: linkml: https://w3id.org/linkml/ @@ -11,35 +11,21 @@ imports: - linkml:types - ../metadata - ../enums/HeritageTypeEnum -- ../slots/heritage_relevance_score -- ../slots/heritage_type -- ../slots/is_heritage_relevant -- ../slots/primary_heritage_type -- ../slots/rationale -- ../slots/specificity_annotation - ../slots/has_or_had_score +- ../slots/has_or_had_type +- ../slots/is_or_was_related_to +- ../slots/has_or_had_note +- ../slots/specificity_annotation - ./SpecificityAnnotation - ./TemplateSpecificityScore - ./TemplateSpecificityType - ./TemplateSpecificityTypes -- ../slots/heritage_relevance_score -- ../slots/heritage_type -- ../slots/is_heritage_relevant -- ../slots/primary_heritage_type -- ../slots/rationale -- ../slots/specificity_annotation -- ../slots/has_or_had_score -- ../slots/heritage_relevance_score -- ../slots/heritage_type -- ../slots/is_heritage_relevant -- ../slots/primary_heritage_type -- ../slots/rationale -- ../slots/specificity_annotation -- ../slots/has_or_had_score +- ./Heritage +- ./HeritageRelevanceScore default_range: string classes: - HeritageRelevance: - class_uri: hc:HeritageRelevance + HeritageRelevanceAssessment: + class_uri: hc:HeritageRelevanceAssessment description: 'Classification of a person''s professional relevance to heritage sectors. @@ -72,23 +58,21 @@ classes: - skos:Concept - schema:DefinedTerm slots: - - heritage_relevance_score - - heritage_type - - is_heritage_relevant - - primary_heritage_type - - rationale - - specificity_annotation - has_or_had_score + - has_or_had_type + - is_or_was_related_to + - has_or_had_note + - specificity_annotation slot_usage: - is_heritage_relevant: - range: boolean + is_or_was_related_to: + description: Relationship to Heritage domain. Presence implies relevance. + range: Heritage required: true examples: - - value: true + - value: + has_or_had_label: Heritage description: Works at a museum, archive, library, etc. - - value: false - description: No apparent heritage sector connection - heritage_type: + has_or_had_type: range: HeritageTypeEnum multivalued: true examples: @@ -102,27 +86,28 @@ classes: - value: - E description: Education sector - heritage_relevance_score: - range: float - minimum_value: 0.0 - maximum_value: 1.0 + has_or_had_score: + range: HeritageRelevanceScore + inlined: true examples: - - value: 0.85 + - value: + has_or_had_value: 0.85 + has_or_had_description: High confidence - clear heritage role description: High confidence - clear heritage role - - value: 0.55 + - value: + has_or_had_value: 0.55 + has_or_had_description: Low confidence - intern position description: Low confidence - intern position - rationale: + has_or_had_note: + description: | + Rationale for classification. + MIGRATED from rationale per Rule 53. range: string required: true examples: - value: Education sector professional at government education inspectorate - value: Senior curator at Rijksmuseum with 15+ years experience - value: Digital archivist specializing in AV heritage preservation - primary_heritage_type: - range: HeritageTypeEnum - examples: - - value: A - description: Primary focus is archival work comments: - Every person entity profile should have heritage_relevance - See AGENTS.md Rule 30 for scoring guidelines diff --git a/schemas/20251121/linkml/modules/classes/HeritageRelevanceScore.yaml b/schemas/20251121/linkml/modules/classes/HeritageRelevanceScore.yaml new file mode 100644 index 0000000000..f987197e8f --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/HeritageRelevanceScore.yaml @@ -0,0 +1,30 @@ +id: https://nde.nl/ontology/hc/class/HeritageRelevanceScore +name: HeritageRelevanceScore +title: Heritage Relevance Score Class +description: "A score indicating the degree of relevance to the heritage sector.\n\n**MIGRATED** from heritage_relevance_score (Rule 53).\n\nUsed to quantify how relevant an entity (e.g., person, organization) is to the heritage domain." +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ +default_prefix: hc +imports: +- linkml:types +- ../slots/has_or_had_value +- ../slots/has_or_had_description +classes: + HeritageRelevanceScore: + class_uri: schema:Rating + description: "Quantitative assessment of heritage relevance." + slots: + - has_or_had_value + - has_or_had_description + slot_usage: + has_or_had_value: + range: float + description: Score value (e.g. 0.0 to 1.0). + annotations: + specificity_score: 0.2 + specificity_rationale: Analytic score for heritage relevance. + custodian_types: + - '*' + custodian_types_rationale: Universal utility concept. diff --git a/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml b/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml index c446d1e018..592023e212 100644 --- a/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml +++ b/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml @@ -21,7 +21,8 @@ imports: - ./CollectionContentType - ./CollectionContentTypes - ../slots/has_or_had_type -- ../slots/holy_site_subtype +- ../slots/has_or_had_hyponym +- ./HolySiteType - ../slots/religious_function - ../slots/religious_tradition - ../slots/secularization_status @@ -241,7 +242,7 @@ classes: - has_or_had_access_policy - has_or_had_content - has_or_had_type - - holy_site_subtype + - has_or_had_hyponym - religious_function - religious_tradition - secularization_status @@ -333,3 +334,12 @@ classes: description: Former church building has_or_had_type: equals_expression: '["hc:HolySacredSiteType"]' + has_or_had_hyponym: + range: HolySiteType + description: 'MIGRATED from holy_site_subtype (Rule 53, 2026-01-28). Classification of the specific site type (e.g., Church, Mosque).' + examples: + - value: + has_or_had_label: Church + is_or_was_equivalent_to: + qid: Q16970 + description: Church type diff --git a/schemas/20251121/linkml/modules/classes/HolySiteType.yaml b/schemas/20251121/linkml/modules/classes/HolySiteType.yaml new file mode 100644 index 0000000000..11698773b6 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/HolySiteType.yaml @@ -0,0 +1,60 @@ +id: https://nde.nl/ontology/hc/class/HolySiteType +name: holy_site_type_class +title: Holy Site Type Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# + schema: http://schema.org/ + wd: http://www.wikidata.org/entity/ +imports: +- linkml:types +- ../slots/has_or_had_identifier +- ../slots/has_or_had_label +- ../slots/has_or_had_description +- ../slots/is_or_was_equivalent_to +- ./WikiDataIdentifier +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" + exact_mappings: + - skos:Concept + slots: + - has_or_had_identifier + - has_or_had_label + - has_or_had_description + - is_or_was_equivalent_to + slot_usage: + has_or_had_identifier: + range: uriorcurie + required: true + examples: + - value: hc:HolySiteType/CHURCH + - value: hc:HolySiteType/MOSQUE + has_or_had_label: + range: string + required: true + examples: + - value: Church + - value: Mosque + - value: Synagogue + is_or_was_equivalent_to: + range: WikiDataIdentifier + description: Wikidata entity for this site type. + examples: + - value: + qid: Q16970 + label: church building + description: Church type + - value: + qid: Q32815 + label: mosque + description: Mosque type + annotations: + specificity_score: 0.2 + specificity_rationale: Classification for religious heritage sites. + custodian_types: + - 'H' + custodian_types_rationale: Specific to Holy Sites (Type H). diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml index 9b6c7c5839..a5788e5ac3 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml @@ -5,10 +5,10 @@ imports: - linkml:types - ../metadata - ./TimeSpan -- ./Custodia +- ./Custodian - ./HeritageForm -- ../slots/is_or_was_related_to - ../slots/safeguarded_by + - ./WikiDataIdentifier - ../slots/geographic_scope - ../enums/UNESCOICHDomainEnum @@ -27,7 +27,7 @@ imports: - ../slots/kien_url - ../slots/origin_location - ../slots/origin_period -- ../slots/has_or_had_related_heritage_form +- ../slots/is_or_was_related_to - ../slots/safeguarding_measure - ../slots/specificity_annotation - ../slots/has_or_had_score @@ -252,7 +252,10 @@ classes: - Annual festival organization - Youth engagement programs - Documentary production - has_or_had_related_heritage_form: + is_or_was_related_to: + description: | + Related intangible heritage form. + MIGRATED from has_or_had_related_heritage_form per Rule 53 (2026-01-28). required: false range: IntangibleHeritageForm multivalued: true diff --git a/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml b/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml index f21c9a2fc8..f15db41119 100644 --- a/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml +++ b/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml @@ -15,7 +15,7 @@ imports: - ./ExtractionMetadata - ./WorkExperience - ./EducationCredential -- ./HeritageRelevance +- ./HeritageRelevanceAssessment - ./LanguageProficiency - ../slots/has_or_had_about_text - ../slots/has_or_had_provenance @@ -38,7 +38,7 @@ imports: - ./Provenance - ../slots/has_or_had_provenance - ../slots/has_or_had_title -- ../slots/heritage_relevance +- ../slots/has_or_had_assessment - ../slots/has_or_had_language - ../slots/languages_raw - ../slots/likelihood_confidence @@ -79,7 +79,7 @@ classes: - schema:Person slots: - has_or_had_provenance - - heritage_relevance + - has_or_had_assessment - profile_data - source_organization - specificity_annotation @@ -99,8 +99,8 @@ classes: range: LinkedInProfileData required: true inlined: true - heritage_relevance: - range: HeritageRelevance + has_or_had_assessment: + range: HeritageRelevanceAssessment inlined: true source_organization: range: string diff --git a/schemas/20251121/linkml/modules/classes/Mandate.yaml b/schemas/20251121/linkml/modules/classes/Mandate.yaml new file mode 100644 index 0000000000..a97bc58168 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/Mandate.yaml @@ -0,0 +1,28 @@ +id: https://nde.nl/ontology/hc/class/Mandate +name: Mandate +title: Mandate +description: >- + A formal mandate, authority, or responsibility assigned to an organization or role. +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_or_had_label + - ../slots/has_or_had_description + - ../slots/has_or_had_type +classes: + Mandate: + class_uri: skos:Concept + description: A formal mandate or responsibility. + slots: + - has_or_had_label + - has_or_had_description + - has_or_had_type + annotations: + specificity_score: 0.1 + specificity_rationale: "Generic utility class created during migration" + custodian_types: ["*"] + custodian_types_rationale: "Universal utility concept" diff --git a/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml b/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml index 199968ec46..0f3a8abd49 100644 --- a/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml +++ b/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml @@ -9,23 +9,15 @@ imports: - ../classes/GovernmentHierarchy - ../slots/has_or_had_type - ../slots/funding_program -- ../slots/has_or_had_type -- ../slots/heritage_mandate -- ../slots/official_institution_subtype -- ../slots/oversight_jurisdiction -- ../slots/policy_authority -- ../slots/regulatory_authority -- ../slots/specificity_annotation -- ../slots/has_or_had_score -- ../slots/funding_program -- ../slots/has_or_had_type -- ../slots/heritage_mandate +- ../slots/has_or_had_mandate # was: heritage_mandate - migrated per Rule 53 (2026-01-28) +- ./Mandate - ../slots/official_institution_subtype - ../slots/oversight_jurisdiction - ../slots/policy_authority - ../slots/regulatory_authority - ../slots/specificity_annotation - ../slots/has_or_had_score + classes: OfficialInstitutionType: is_a: CustodianType @@ -157,7 +149,7 @@ classes: - is_or_was_part_of - has_or_had_type - funding_program - - heritage_mandate + - has_or_had_mandate # was: heritage_mandate - migrated per Rule 53 (2026-01-28) - official_institution_subtype - oversight_jurisdiction - policy_authority @@ -174,10 +166,21 @@ classes: has_or_had_tier: has_or_had_label: National description: National level - heritage_mandate: - range: string + has_or_had_mandate: # was: heritage_mandate - migrated per Rule 53 (2026-01-28) + range: Mandate + description: | + Formal mandate or responsibility of the official institution. + MIGRATED from heritage_mandate per Rule 53. + Uses Mandate class. multivalued: true + inlined: true required: false + examples: + - value: + has_or_had_label: "preservation" + has_or_had_description: "Legal responsibility to preserve national heritage" + description: Preservation mandate + regulatory_authority: range: boolean required: false diff --git a/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml index aa49197f8b..7ebdd26c2c 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml @@ -607,7 +607,9 @@ classes: - RegionalGovernanceFonds annotations: dutch_context: Waterschappen are among the oldest democratic institutions in the Netherlands. Records essential for landscape history, climate adaptation research, and understanding Dutch hydraulic engineering heritage. - historical_significance: Crucial primary sources for environmental history, climate history, and understanding the Dutch relationship with water management over centuries. + has_or_had_significance: + has_or_had_type: HistoricalSignificance + has_or_had_description: Crucial primary sources for environmental history, climate history, and understanding the Dutch relationship with water management over centuries. slots: - has_or_had_type - specificity_annotation diff --git a/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml b/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml index 840e351efd..199b3d2813 100644 --- a/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml +++ b/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml @@ -18,9 +18,10 @@ imports: - ./Significance - ./SignificanceType - ./SignificanceTypes -- ../slots/has_or_had_type -- ../slots/heritage_practice +- ../slots/preserves_or_preserved +- ./HeritagePractice - ../slots/knowledge_transmission + - ../slots/preservation_method - ../slots/sensory_heritage_domain - ../slots/specificity_annotation @@ -163,7 +164,7 @@ classes: slots: - has_or_had_significance - has_or_had_type - - heritage_practice + - preserves_or_preserved - knowledge_transmission - preservation_method - sensory_heritage_domain @@ -172,15 +173,23 @@ classes: - has_or_had_score - has_or_had_type slot_usage: - heritage_practice: - range: string + preserves_or_preserved: + description: | + Heritage practices preserved by this institution. + MIGRATED from heritage_practice per Rule 53 (2026-01-28). + range: HeritagePractice + multivalued: true + inlined: true required: true examples: - - value: Traditional Trappist brewing using 1838 recipe + - value: + has_or_had_label: Traditional Trappist brewing using 1838 recipe description: Westvleteren brewery practice - - value: Historic perfume formulation, 18th-century Grasse + - value: + has_or_had_label: Historic perfume formulation, 18th-century Grasse description: Perfume house practice - - value: Ancestral Gouda cheese with raw milk + - value: + has_or_had_label: Ancestral Gouda cheese with raw milk description: Traditional dairy practice sensory_heritage_domain: range: string diff --git a/schemas/20251121/linkml/modules/classes/WorkExperience.yaml b/schemas/20251121/linkml/modules/classes/WorkExperience.yaml index 369462f82e..5d7ea7f145 100644 --- a/schemas/20251121/linkml/modules/classes/WorkExperience.yaml +++ b/schemas/20251121/linkml/modules/classes/WorkExperience.yaml @@ -21,10 +21,9 @@ imports: - ./URL - ./URLType - ./URLTypes -- ../slots/heritage_employer -- ../slots/is_current_position -- ../slots/job_description -- ../slots/job_title +- ../slots/is_or_was_current +- ../slots/has_or_had_description +- ../slots/is_or_was_position - ../slots/specificity_annotation - ../slots/has_or_had_score - ../slots/has_or_had_location @@ -82,17 +81,21 @@ classes: slots: - is_or_was_employed_by - temporal_extent - - heritage_employer - - is_current_position - - job_description - - job_title + - is_or_was_current + - has_or_had_description + - is_or_was_position - specificity_annotation - has_or_had_score - has_or_had_location slot_usage: - job_title: + is_or_was_position: range: string required: true + description: 'The position or role title held by an agent. + + MIGRATED from job_title (Rule 53, 2026-01-28). + + ' examples: - value: Staff Adviseur description: Dutch job title @@ -113,6 +116,8 @@ classes: has_or_had_url: has_or_had_url: https://www.linkedin.com/company/rijksmuseum has_or_had_type: LinkedInProfileURLType + is_or_was_related_to: + has_or_had_label: Heritage Sector description: Heritage employer with LinkedIn URL temporal_extent: range: TimeSpan @@ -136,9 +141,14 @@ classes: begin_of_the_begin: 2025-04 has_or_had_verbatim_value: Apr 2025 - Present description: Current position - is_current_position: + is_or_was_current: range: boolean ifabsent: 'false' + description: 'Indicates if the position is currently active. + + MIGRATED from is_current_position (Rule 53, 2026-01-28). + + ' examples: - value: true description: Currently employed at this position @@ -155,19 +165,19 @@ classes: description: City and country - value: "Location:\n city: \"Amsterdam\"\n region: \"Noord-Holland\"\n country: \"Netherlands\"\n" description: City, region, country - job_description: + has_or_had_description: range: string - heritage_employer: - range: boolean - ifabsent: 'false' - comments: - - Set to true if employer is museum, archive, library, etc. - - Links to HeritageTypeEnum for classification + description: 'Description of the role and responsibilities. + + MIGRATED from job_description (Rule 53, 2026-01-28). + + ' comments: - Inlined in LinkedInProfile.experience[] as multivalued list - Preserves raw LinkedIn date formats for provenance - - Current positions have is_current_position=true and null end_date - - heritage_employer enables filtering for heritage sector careers + - Current positions have is_or_was_current=true and null end_date + - heritage_employer boolean removed; heritage status indicated via Employer.is_or_was_related_to + see_also: - https://schema.org/OrganizationRole - https://www.w3.org/TR/vocab-org/#class-membership diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_confidence_measure.yaml b/schemas/20251121/linkml/modules/slots/archive/has_or_had_confidence_measure_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/has_or_had_confidence_measure.yaml rename to schemas/20251121/linkml/modules/slots/archive/has_or_had_confidence_measure_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_related_heritage_form.yaml b/schemas/20251121/linkml/modules/slots/archive/has_or_had_related_heritage_form_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/has_or_had_related_heritage_form.yaml rename to schemas/20251121/linkml/modules/slots/archive/has_or_had_related_heritage_form_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/heritage_education.yaml b/schemas/20251121/linkml/modules/slots/archive/heritage_education_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/heritage_education.yaml rename to schemas/20251121/linkml/modules/slots/archive/heritage_education_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/heritage_employer.yaml b/schemas/20251121/linkml/modules/slots/archive/heritage_employer_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/heritage_employer.yaml rename to schemas/20251121/linkml/modules/slots/archive/heritage_employer_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/heritage_mandate.yaml b/schemas/20251121/linkml/modules/slots/archive/heritage_mandate_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/heritage_mandate.yaml rename to schemas/20251121/linkml/modules/slots/archive/heritage_mandate_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/heritage_practice.yaml b/schemas/20251121/linkml/modules/slots/archive/heritage_practice_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/heritage_practice.yaml rename to schemas/20251121/linkml/modules/slots/archive/heritage_practice_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/heritage_relevance.yaml b/schemas/20251121/linkml/modules/slots/archive/heritage_relevance_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/heritage_relevance.yaml rename to schemas/20251121/linkml/modules/slots/archive/heritage_relevance_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/heritage_relevance_score.yaml b/schemas/20251121/linkml/modules/slots/archive/heritage_relevance_score_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/heritage_relevance_score.yaml rename to schemas/20251121/linkml/modules/slots/archive/heritage_relevance_score_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/historical_region.yaml b/schemas/20251121/linkml/modules/slots/archive/historical_region_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/historical_region.yaml rename to schemas/20251121/linkml/modules/slots/archive/historical_region_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/historical_significance.yaml b/schemas/20251121/linkml/modules/slots/archive/historical_significance_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/historical_significance.yaml rename to schemas/20251121/linkml/modules/slots/archive/historical_significance_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/holy_site_subtype.yaml b/schemas/20251121/linkml/modules/slots/archive/holy_site_subtype_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/holy_site_subtype.yaml rename to schemas/20251121/linkml/modules/slots/archive/holy_site_subtype_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/is_current_position.yaml b/schemas/20251121/linkml/modules/slots/archive/is_current_position_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/is_current_position.yaml rename to schemas/20251121/linkml/modules/slots/archive/is_current_position_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/job_description.yaml b/schemas/20251121/linkml/modules/slots/archive/job_description_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/job_description.yaml rename to schemas/20251121/linkml/modules/slots/archive/job_description_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/job_title.yaml b/schemas/20251121/linkml/modules/slots/archive/job_title_archived_20260128.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/job_title.yaml rename to schemas/20251121/linkml/modules/slots/archive/job_title_archived_20260128.yaml diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_assessment.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_assessment.yaml new file mode 100644 index 0000000000..07bc008f62 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_assessment.yaml @@ -0,0 +1,8 @@ +name: has_or_had_assessment +description: >- + Assessment associated with the entity. + Range should be an Assessment class. + MIGRATED from heritage_relevance (for LinkedInProfile) per Rule 53. +slot_uri: crm:P140_assigned_attribute_to +range: Any +multivalued: true diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_mandate.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_mandate.yaml new file mode 100644 index 0000000000..5f3bde1dbc --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_mandate.yaml @@ -0,0 +1,22 @@ +id: https://nde.nl/ontology/hc/slot/has_or_had_mandate +name: has_or_had_mandate +title: Has or Had Mandate +description: >- + Links an entity to a formal mandate or responsibility it holds or held. +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + org: http://www.w3.org/ns/org# +default_prefix: hc +imports: + - linkml:types +slots: + has_or_had_mandate: + slot_uri: org:classification + description: A formal mandate or responsibility. + range: Mandate + multivalued: true + inlined: true + annotations: + custodian_types: ["*"] + custodian_types_rationale: "Universal utility concept" diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_treshold.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_treshold.yaml index 72c82ebee1..fa6463e732 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_treshold.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_treshold.yaml @@ -4,8 +4,9 @@ title: Has Or Had Treshold Slot prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ - dqv: http://www.w3.org/ns/dqv# + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# schema: http://schema.org/ + dcterms: http://purl.org/dc/terms/ prov: http://www.w3.org/ns/prov# crm: http://www.cidoc-crm.org/cidoc-crm/ @@ -18,15 +19,16 @@ imports: - linkml:types slots: has_or_had_treshold: - slot_uri: dqv:value - description: "Links detection contexts to threshold configuration values.\n\n**SPELLING NOTE**: Uses \"treshold\" (not \"threshold\") to match slot_fixes.yaml\nspecification. Per Rule 57, revision specifications are immutable.\n\n**Temporal Semantics** (RiC-O Pattern):\nThe \"hasOrHad\" naming follows RiC-O convention indicating this relationship\nmay be historical - threshold values may change across different analysis runs.\n\n**Ontological Alignment**:\n- **Primary** (`slot_uri`): `dqv:value` - DQV predicate for quality metric values\n- **Related**: `schema:minValue`/`schema:maxValue` - threshold bounds\n\n**Usage**:\nFor detection/filtering contexts where a confidence threshold determines\nwhich entities are included in results.\n\n**Pattern**:\n```\nDetectedEntity\n \u2514\u2500\u2500 has_or_had_treshold \u2192 DetectionThreshold\n \u251C\u2500\u2500 threshold_value: 0.5 # minimum confidence\n \u2514\u2500\u2500 threshold_type: MINIMUM\n```\n\n**Migrated From** (per\ + slot_uri: rdf:value + description: "Links detection contexts to threshold configuration values.\n\n**SPELLING NOTE**: Uses \"treshold\" (not \"threshold\") to match slot_fixes.yaml\nspecification. Per Rule 57, revision specifications are immutable.\n\n**Temporal Semantics** (RiC-O Pattern):\nThe \"hasOrHad\" naming follows RiC-O convention indicating this relationship\nmay be historical - threshold values may change across different analysis runs.\n\n**Ontological Alignment**:\n- **Primary** (`slot_uri`): `rdf:value` - Generic value predicate\n- **Related**: `schema:minValue`/`schema:maxValue` - threshold bounds\n\n**Usage**:\nFor detection/filtering contexts where a confidence threshold determines\nwhich entities are included in results.\n\n**Pattern**:\n```\nDetectedEntity\n \u2514\u2500\u2500 has_or_had_treshold \u2192 DetectionThreshold\n \u251C\u2500\u2500 threshold_value: 0.5 # minimum confidence\n \u2514\u2500\u2500 threshold_type: MINIMUM\n```\n\n**Migrated From** (per\ \ slot_fixes.yaml):\n- `detection_threshold` (float) \u2192 has_or_had_treshold + DetectionThreshold (class)\n\n**Cardinality**:\nSingle-valued - one threshold configuration per detection context.\n" range: string required: false multivalued: false inlined: true exact_mappings: - - dqv:value + - rdf:value + related_mappings: - schema:minValue - schema:maxValue diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_current.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_current.yaml new file mode 100644 index 0000000000..b4247d11a5 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/is_or_was_current.yaml @@ -0,0 +1,26 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_current +name: is_or_was_current_slot +title: Is Or Was Current Slot +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + 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# +imports: +- linkml:types +default_prefix: hc +slots: + is_or_was_current: + description: "Indicates if the entity or status is currently active/valid.\n\n**MIGRATED** from is_current_position (Rule 53).\n\nFollows RiC-O naming convention." + range: boolean + annotations: + rico_naming_convention: Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: + - '*' + custodian_types_rationale: Universal utility concept diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_position.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_position.yaml new file mode 100644 index 0000000000..2859a2b1aa --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/is_or_was_position.yaml @@ -0,0 +1,31 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_position +name: is_or_was_position_slot +title: Is Or Was Position Slot +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + 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# +imports: +- linkml:types +default_prefix: hc +slots: + is_or_was_position: + description: "The position or role title held by an agent.\n\n**MIGRATED** from job_title (Rule 53).\n\nFollows RiC-O naming convention." + range: string + slot_uri: schema:roleName + annotations: + rico_naming_convention: Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: + - '*' + custodian_types_rationale: Universal utility concept + exact_mappings: + - schema:roleName + close_mappings: + - org:role