diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index a3e8f6a557..e993358de2 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,12 +1,12 @@ { - "generated": "2026-01-25T23:23:44.391Z", + "generated": "2026-01-26T07:55:56.399Z", "schemaRoot": "/schemas/20251121/linkml", - "totalFiles": 3044, + "totalFiles": 3040, "categoryCounts": { "main": 4, - "class": 1033, - "enum": 154, - "slot": 1849, + "class": 1052, + "enum": 153, + "slot": 1827, "module": 4 }, "categories": [ @@ -1155,6 +1155,11 @@ "path": "modules/classes/Conservatoria.yaml", "category": "class" }, + { + "name": "ContactDetails", + "path": "modules/classes/ContactDetails.yaml", + "category": "class" + }, { "name": "Container", "path": "modules/classes/Container.yaml", @@ -1515,6 +1520,11 @@ "path": "modules/classes/DigitalConfidence.yaml", "category": "class" }, + { + "name": "DigitalInstantiation", + "path": "modules/classes/DigitalInstantiation.yaml", + "category": "class" + }, { "name": "DigitalPlatform", "path": "modules/classes/DigitalPlatform.yaml", @@ -1600,11 +1610,21 @@ "path": "modules/classes/DigitalPresenceType.yaml", "category": "class" }, + { + "name": "DigitalPresenceTypes", + "path": "modules/classes/DigitalPresenceTypes.yaml", + "category": "class" + }, { "name": "DigitalProficiency", "path": "modules/classes/DigitalProficiency.yaml", "category": "class" }, + { + "name": "DigitizationBudget", + "path": "modules/classes/DigitizationBudget.yaml", + "category": "class" + }, { "name": "DimArchives", "path": "modules/classes/DimArchives.yaml", @@ -1640,6 +1660,36 @@ "path": "modules/classes/Diocese.yaml", "category": "class" }, + { + "name": "DismissalEvent", + "path": "modules/classes/DismissalEvent.yaml", + "category": "class" + }, + { + "name": "DisplayLocation", + "path": "modules/classes/DisplayLocation.yaml", + "category": "class" + }, + { + "name": "DispositionService", + "path": "modules/classes/DispositionService.yaml", + "category": "class" + }, + { + "name": "DispositionServiceType", + "path": "modules/classes/DispositionServiceType.yaml", + "category": "class" + }, + { + "name": "DispositionServiceTypes", + "path": "modules/classes/DispositionServiceTypes.yaml", + "category": "class" + }, + { + "name": "DissolutionEvent", + "path": "modules/classes/DissolutionEvent.yaml", + "category": "class" + }, { "name": "DistrictArchiveGermany", "path": "modules/classes/DistrictArchiveGermany.yaml", @@ -1720,6 +1770,21 @@ "path": "modules/classes/EADDownload.yaml", "category": "class" }, + { + "name": "EADIdentifier", + "path": "modules/classes/EADIdentifier.yaml", + "category": "class" + }, + { + "name": "EBook", + "path": "modules/classes/EBook.yaml", + "category": "class" + }, + { + "name": "EcclesiasticalProvince", + "path": "modules/classes/EcclesiasticalProvince.yaml", + "category": "class" + }, { "name": "EconomicArchive", "path": "modules/classes/EconomicArchive.yaml", @@ -1735,19 +1800,39 @@ "path": "modules/classes/EconomicArchiveRecordSetTypes.yaml", "category": "class" }, + { + "name": "Edition", + "path": "modules/classes/Edition.yaml", + "category": "class" + }, + { + "name": "Editor", + "path": "modules/classes/Editor.yaml", + "category": "class" + }, + { + "name": "Education", + "path": "modules/classes/Education.yaml", + "category": "class" + }, { "name": "EducationCenter", "path": "modules/classes/EducationCenter.yaml", "category": "class" }, { - "name": "EducationCredential", - "path": "modules/classes/EducationCredential.yaml", + "name": "EducationFacilityType", + "path": "modules/classes/EducationFacilityType.yaml", "category": "class" }, { - "name": "EducationEntry", - "path": "modules/classes/EducationEntry.yaml", + "name": "EducationLevel", + "path": "modules/classes/EducationLevel.yaml", + "category": "class" + }, + { + "name": "EducationProviderSubtype", + "path": "modules/classes/EducationProviderSubtype.yaml", "category": "class" }, { @@ -1755,6 +1840,11 @@ "path": "modules/classes/EducationProviderType.yaml", "category": "class" }, + { + "name": "EmailAddress", + "path": "modules/classes/EmailAddress.yaml", + "category": "class" + }, { "name": "EncompassingBody", "path": "modules/classes/EncompassingBody.yaml", @@ -3975,6 +4065,11 @@ "path": "modules/classes/SignificanceTypes.yaml", "category": "class" }, + { + "name": "Size", + "path": "modules/classes/Size.yaml", + "category": "class" + }, { "name": "SocialMediaContent", "path": "modules/classes/SocialMediaContent.yaml", @@ -5391,11 +5486,6 @@ "path": "modules/enums/DigitalPlatformTypeEnum.yaml", "category": "enum" }, - { - "name": "DigitalPresenceTypeEnum", - "path": "modules/enums/DigitalPresenceTypeEnum.yaml", - "category": "enum" - }, { "name": "DonationSchemeTypeEnum", "path": "modules/enums/DonationSchemeTypeEnum.yaml", @@ -6732,56 +6822,6 @@ "path": "modules/slots/description_type.yaml", "category": "slot" }, - { - "name": "digital_presence_type", - "path": "modules/slots/digital_presence_type.yaml", - "category": "slot" - }, - { - "name": "digital_surrogate", - "path": "modules/slots/digital_surrogate.yaml", - "category": "slot" - }, - { - "name": "digital_surrogate_url", - "path": "modules/slots/digital_surrogate_url.yaml", - "category": "slot" - }, - { - "name": "digitization_budget", - "path": "modules/slots/digitization_budget.yaml", - "category": "slot" - }, - { - "name": "digitization_status", - "path": "modules/slots/digitization_status.yaml", - "category": "slot" - }, - { - "name": "dimension", - "path": "modules/slots/dimension.yaml", - "category": "slot" - }, - { - "name": "diocese_name", - "path": "modules/slots/diocese_name.yaml", - "category": "slot" - }, - { - "name": "dislike_count", - "path": "modules/slots/dislike_count.yaml", - "category": "slot" - }, - { - "name": "display_location", - "path": "modules/slots/display_location.yaml", - "category": "slot" - }, - { - "name": "disposition_service", - "path": "modules/slots/disposition_service.yaml", - "category": "slot" - }, { "name": "dissolution_date", "path": "modules/slots/dissolution_date.yaml", @@ -6867,106 +6907,11 @@ "path": "modules/slots/dual_class_role.yaml", "category": "slot" }, - { - "name": "duration", - "path": "modules/slots/duration.yaml", - "category": "slot" - }, { "name": "dutch_context", "path": "modules/slots/dutch_context.yaml", "category": "slot" }, - { - "name": "ead_id", - "path": "modules/slots/ead_id.yaml", - "category": "slot" - }, - { - "name": "ebook_url", - "path": "modules/slots/ebook_url.yaml", - "category": "slot" - }, - { - "name": "ecclesiastical_province", - "path": "modules/slots/ecclesiastical_province.yaml", - "category": "slot" - }, - { - "name": "edition_number", - "path": "modules/slots/edition_number.yaml", - "category": "slot" - }, - { - "name": "edition_statement", - "path": "modules/slots/edition_statement.yaml", - "category": "slot" - }, - { - "name": "editor", - "path": "modules/slots/editor.yaml", - "category": "slot" - }, - { - "name": "education", - "path": "modules/slots/education.yaml", - "category": "slot" - }, - { - "name": "education_contact_email", - "path": "modules/slots/education_contact_email.yaml", - "category": "slot" - }, - { - "name": "education_description", - "path": "modules/slots/education_description.yaml", - "category": "slot" - }, - { - "name": "education_end_year", - "path": "modules/slots/education_end_year.yaml", - "category": "slot" - }, - { - "name": "education_level", - "path": "modules/slots/education_level.yaml", - "category": "slot" - }, - { - "name": "education_provider_subtype", - "path": "modules/slots/education_provider_subtype.yaml", - "category": "slot" - }, - { - "name": "education_start_year", - "path": "modules/slots/education_start_year.yaml", - "category": "slot" - }, - { - "name": "education_type_classification", - "path": "modules/slots/education_type_classification.yaml", - "category": "slot" - }, - { - "name": "education_years_raw", - "path": "modules/slots/education_years_raw.yaml", - "category": "slot" - }, - { - "name": "effective_date", - "path": "modules/slots/effective_date.yaml", - "category": "slot" - }, - { - "name": "effective_from", - "path": "modules/slots/effective_from.yaml", - "category": "slot" - }, - { - "name": "effective_until", - "path": "modules/slots/effective_until.yaml", - "category": "slot" - }, { "name": "eligible_applicant", "path": "modules/slots/eligible_applicant.yaml", @@ -9197,6 +9142,11 @@ "path": "modules/slots/has_or_had_domain.yaml", "category": "slot" }, + { + "name": "has_or_had_edition", + "path": "modules/slots/has_or_had_edition.yaml", + "category": "slot" + }, { "name": "has_or_had_environmental_condition", "path": "modules/slots/has_or_had_environmental_condition.yaml", @@ -9882,6 +9832,11 @@ "path": "modules/slots/has_or_had_silence_segment.yaml", "category": "slot" }, + { + "name": "has_or_had_size", + "path": "modules/slots/has_or_had_size.yaml", + "category": "slot" + }, { "name": "has_or_had_social_media_profile", "path": "modules/slots/has_or_had_social_media_profile.yaml", @@ -10962,6 +10917,31 @@ "path": "modules/slots/is_or_was_diarized.yaml", "category": "slot" }, + { + "name": "is_or_was_dismissed", + "path": "modules/slots/is_or_was_dismissed.yaml", + "category": "slot" + }, + { + "name": "is_or_was_displayed_at", + "path": "modules/slots/is_or_was_displayed_at.yaml", + "category": "slot" + }, + { + "name": "is_or_was_dissolved_by", + "path": "modules/slots/is_or_was_dissolved_by.yaml", + "category": "slot" + }, + { + "name": "is_or_was_edited_by", + "path": "modules/slots/is_or_was_edited_by.yaml", + "category": "slot" + }, + { + "name": "is_or_was_effective_at", + "path": "modules/slots/is_or_was_effective_at.yaml", + "category": "slot" + }, { "name": "is_or_was_encompassed_by", "path": "modules/slots/is_or_was_encompassed_by.yaml", @@ -11007,6 +10987,11 @@ "path": "modules/slots/is_or_was_instance_of.yaml", "category": "slot" }, + { + "name": "is_or_was_instantiated_as", + "path": "modules/slots/is_or_was_instantiated_as.yaml", + "category": "slot" + }, { "name": "is_or_was_instantiated_by", "path": "modules/slots/is_or_was_instantiated_by.yaml", @@ -12627,6 +12612,11 @@ "path": "modules/slots/original_end_date.yaml", "category": "slot" }, + { + "name": "originates_or_originated_from", + "path": "modules/slots/originates_or_originated_from.yaml", + "category": "slot" + }, { "name": "osm_id", "path": "modules/slots/osm_id.yaml", @@ -15087,11 +15077,6 @@ "path": "modules/slots/status.yaml", "category": "slot" }, - { - "name": "status_effective_date", - "path": "modules/slots/status_effective_date.yaml", - "category": "slot" - }, { "name": "status_name", "path": "modules/slots/status_name.yaml", @@ -15187,11 +15172,6 @@ "path": "modules/slots/was_acquired_through.yaml", "category": "slot" }, - { - "name": "was_archived_at", - "path": "modules/slots/was_archived_at.yaml", - "category": "slot" - }, { "name": "was_derived_from", "path": "modules/slots/was_derived_from.yaml", diff --git a/frontend/public/schemas/20251121/linkml/modules/enums/DigitalPresenceTypeEnum.yaml b/frontend/public/schemas/20251121/linkml/modules/archive/enums/DigitalPresenceTypeEnum_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/enums/DigitalPresenceTypeEnum.yaml rename to frontend/public/schemas/20251121/linkml/modules/archive/enums/DigitalPresenceTypeEnum_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml index 0b45b05a43..1f02f5448b 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml @@ -14,7 +14,7 @@ imports: - ./CustodianCollection - ../enums/RecordsLifecycleStageEnum - ../slots/supersede_articles # was: supersede, superseded_by - migrated to class-specific slots 2026-01-16 - - ../slots/effective_date + - ../slots/is_or_was_effective_at - ./ReconstructedEntity - ../slots/has_amendment_history - ../slots/is_or_was_archived_in @@ -133,7 +133,7 @@ classes: - document_description - document_title - document_type - - effective_date + - is_or_was_effective_at - execution_date - governance_clause - id @@ -179,7 +179,7 @@ classes: examples: - value: '2024-03-15' description: Date notary executed the deed - effective_date: + is_or_was_effective_at: range: date required: false examples: @@ -342,7 +342,7 @@ classes: and museum operations. document_type: NOTARIAL_DEED execution_date: '1885-06-28' - effective_date: '1885-07-01' + is_or_was_effective_at: '1885-07-01' notary_name: mr. H.J. van den Berg notary_office: Amsterdam notarial_deed_number: 1885/328 @@ -371,7 +371,7 @@ classes: document_description: Third version of articles, amended to include digital preservation mandate. document_type: NOTARIAL_DEED execution_date: '2015-11-12' - effective_date: '2015-11-12' + is_or_was_effective_at: '2015-11-12' notary_name: mr. A.M. de Vries notary_office: Haarlem has_or_had_version: "3" diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Budget.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Budget.yaml index c81d2d0644..62220dbfae 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/Budget.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Budget.yaml @@ -28,8 +28,13 @@ imports: - ../slots/has_or_had_main_part - ./MainPart - ./BudgetType - - ../slots/digitization_budget - - ../slots/documented_by + - ../slots/allocates_or_allocated + - ./DigitizationBudget + - ../slots/has_or_had_quantity + - ../classes/Quantity + - ../slots/has_or_had_unit + - ../classes/Unit + - ../slots/employee_benefits_expenses - ../slots/endowment_draw - ../slots/external_funding - ../slots/fiscal_year_end @@ -119,8 +124,7 @@ classes: - has_or_had_type # MIGRATED 2026-01-22: capital_budget → has_or_had_main_part + MainPart per slot_fixes.yaml revision - has_or_had_main_part - - digitization_budget - - documented_by + - allocates_or_allocated - endowment_draw - external_funding - fiscal_year_end @@ -286,9 +290,14 @@ classes: preservation_budget: range: decimal required: false - digitization_budget: - range: decimal + allocates_or_allocated: + range: DigitizationBudget required: false + multivalued: true + inlined: true + description: >- + Budget allocated for digitization activities. + MIGRATED from digitization_budget (2026-01-25) per Rule 53. innovation_budget: range: decimal required: false @@ -326,9 +335,9 @@ classes: range: BudgetStatus required: true examples: - - value: '{value: "ACTIVE", effective_date: "2024-01-01"}' + - value: '{value: "ACTIVE", is_or_was_effective_at: "2024-01-01"}' description: Budget currently in effect - - value: '{value: "DRAFT", effective_date: "2023-10-01"}' + - value: '{value: "DRAFT", is_or_was_effective_at: "2023-10-01"}' description: Budget under development revision_number: range: integer @@ -413,7 +422,11 @@ classes: acquisition_budget: 2000000.0 personnel_budget: 22000000.0 preservation_budget: 1500000.0 - digitization_budget: 500000.0 + allocates_or_allocated: + - has_or_had_quantity: + has_or_had_value: 500000.0 + has_or_had_unit: + has_or_had_label: "EUR" innovation_budget: 750000.0 external_funding: 15000000.0 internal_funding: 25000000.0 @@ -423,7 +436,7 @@ classes: approver_name: Board of Directors has_or_had_status: value: ACTIVE - effective_date: '2024-01-01' + is_or_was_effective_at: '2024-01-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 description: Major museum annual operating budget - value: @@ -447,7 +460,11 @@ classes: part_type: capital_budget currency_code: EUR personnel_budget: 5200000.0 - digitization_budget: 800000.0 + allocates_or_allocated: + - has_or_had_quantity: + has_or_had_value: 800000.0 + has_or_had_unit: + has_or_had_label: "EUR" external_funding: 6000000.0 internal_funding: 2500000.0 approval_date: '2024-03-01' @@ -455,6 +472,6 @@ classes: approver_name: Province of Noord-Holland has_or_had_status: value: ACTIVE - effective_date: '2024-04-01' + is_or_was_effective_at: '2024-04-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-haa-a-nha description: Regional archive government-funded budget diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml index 36ee2f6237..8d427c77f0 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml @@ -10,7 +10,7 @@ description: | imports: - linkml:types - ../slots/identifier_value - - ../slots/status_effective_date + - ../slots/is_or_was_effective_at - ../slots/specificity_annotation - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ./SpecificityAnnotation @@ -82,7 +82,7 @@ classes: - dcterms:status slots: - identifier_value - - status_effective_date + - is_or_was_effective_at - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml index 5b0241b4c3..5fbdc7dfeb 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml @@ -40,8 +40,8 @@ imports: # REMOVED 2026-01-18: ../slots/collection_type_ref - migrated to is_or_was_categorized_as + CollectionType (Rule 53) - ../slots/has_or_had_curation_activity - ../slots/custodial_history - - ../slots/digital_surrogate_url - - ../slots/digitization_status + - ../slots/is_or_was_instantiated_by + - ./DigitalInstantiation - ../slots/extent - ../slots/extent_item - ../slots/has_or_had_finding_aid @@ -127,8 +127,7 @@ classes: - has_or_had_curation_activity - custodial_history - has_or_had_custodian_type - - digital_surrogate_url - - digitization_status + - is_or_was_instantiated_by - extent - extent_item - has_or_had_finding_aid @@ -456,6 +455,19 @@ classes: language: - nl - en - digitization_status: PARTIAL - part_of_custodian_collection: https://nde.nl/ontology/hc/custodian-collection/nationaal-archief + is_or_was_instantiated_by: + range: DigitalInstantiation + multivalued: true + inlined: true + description: | + Digital surrogates (URL) or digitization status. + MIGRATED from digital_surrogate_url and digitization_status (2026-01-25). + examples: + - value: + has_or_had_status: + has_or_had_label: PARTIAL + has_or_had_url: + url_value: "https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02/download" + description: Partial digitization with download link + part_of_custodian_collection: https://nde.nl/ontology/hc/custodian-collection/nationaal-archief description: VOC archival fonds at Nationaal Archief diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ContactDetails.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ContactDetails.yaml new file mode 100644 index 0000000000..c65067b32c --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ContactDetails.yaml @@ -0,0 +1,39 @@ +id: https://nde.nl/ontology/hc/class/ContactDetails +name: ContactDetails +title: Contact Details Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + vcard: http://www.w3.org/2006/vcard/ns# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/includes_or_included + - ./EmailAddress + +classes: + ContactDetails: + class_uri: schema:ContactPoint + description: >- + Structured contact information for an entity. + + **Ontology Alignment**: + - **Primary**: `schema:ContactPoint` + - **Close**: `vcard:VCard` + + slots: + - includes_or_included + + slot_usage: + includes_or_included: + range: EmailAddress + description: Email addresses included in these contact details. + + annotations: + custodian_types: '["*"]' + specificity_score: 0.2 + specificity_rationale: Universal contact info class. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml index fa1ab06561..ff8e78956a 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml @@ -11,7 +11,8 @@ imports: - ./CollectionManagementSystem - ./ReconstructedEntity - ../slots/preservation_level - - ../slots/digitization_status + - ../slots/is_or_was_instantiated_by + - ./DigitalInstantiation # REMOVED 2026-01-18: ../slots/collection_name - migrated to has_or_had_label + Label (Rule 53) - ../slots/has_or_had_label - ./Label @@ -36,7 +37,6 @@ imports: - ../slots/is_or_was_generated_by # was: was_generated_by - migrated per Rule 53 - ../slots/has_or_had_custodian_type - ../slots/custody_history - - ../slots/digital_surrogate - ../slots/id - ../slots/has_or_had_managed_by_cm - ../slots/has_or_had_provenance # was: provenance_note - migrated per Rule 53/56 (2026-01-18) @@ -102,8 +102,7 @@ classes: # REMOVED 2026-01-22: collection_type - migrated to has_or_had_content + CollectionContent (Rule 53) - has_or_had_custodian_type - custody_history - - digital_surrogate - - digitization_status + - is_or_was_instantiated_by - extent - id - has_or_had_managed_by_cm @@ -216,18 +215,13 @@ classes: has_or_had_access_right: range: string required: false - digital_surrogate: - range: string + is_or_was_instantiated_by: + range: DigitalInstantiation multivalued: true - required: false - digitization_status: - range: string - required: false - examples: - - value: PARTIAL - description: 30% of collection digitized as of 2024 - - value: COMPLETE - description: Full collection digitized 2019-2021 + inlined: true + description: | + Digital surrogates or digitization status. + MIGRATED from digital_surrogate and digitization_status (2026-01-25). preservation_level: range: string required: false diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml index a1b0ed538a..40fb775988 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml @@ -45,7 +45,8 @@ imports: - ../slots/legal_name - ../slots/legal_form - ../slots/has_or_had_registration_number - - ../slots/dissolution_date + - ../slots/is_or_was_dissolved_by + - ./DissolutionEvent - ../slots/temporal_extent - ../slots/is_or_was_suborganization_of # was: parent_custodian - migrated per Rule 53 (2025-01-15) - ../slots/has_or_had_status # was: has_or_had_entity_status - migrated per Rule 55 (2026-01-16) @@ -113,7 +114,7 @@ classes: - bibframe:Agent slots: - is_or_was_responsible_for # was: collections_under_responsibility - migrated per Rule 53 (2026-01-19) - - dissolution_date + - is_or_was_dissolved_by - governance_structure - has_articles_of_association - identifier @@ -233,8 +234,12 @@ classes: alpha_2: NL alpha_3: NLD description: Netherlands national jurisdiction - dissolution_date: - range: date + is_or_was_dissolved_by: + range: DissolutionEvent + inlined: true + description: | + Dissolution event for the legal entity. + MIGRATED from dissolution_date per slot_fixes.yaml (Rule 53, 2026-01-26). temporal_extent: range: TimeSpan examples: diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml index b34ac607fe..bf988bb138 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml @@ -184,7 +184,7 @@ classes: ' range: uri - policy_effective_date: + is_or_was_effective_at: slot_uri: schema:datePublished description: 'Date when this policy became effective. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DepositArchive.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DepositArchive.yaml index 4caa91dfaa..5d3769cb6d 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/DepositArchive.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DepositArchive.yaml @@ -21,7 +21,8 @@ imports: - ./Scope # for has_or_had_scope range (2026-01-15) - ../slots/has_or_had_custodian_type - ../slots/has_or_had_depositing_organization - - ../slots/disposition_service + - ../slots/has_or_had_service + - ./DispositionService - ../slots/has_or_had_operates_storage_type - ../slots/retention_tracking - ../slots/specificity_annotation @@ -42,7 +43,7 @@ classes: slots: - has_or_had_custodian_type - has_or_had_depositing_organization - - disposition_service + - has_or_had_service - hold_or_held_record_set_type - has_or_had_operates_storage_type - retention_tracking @@ -96,14 +97,26 @@ classes: - government agencies - courts - ministries - disposition_service: - range: string + has_or_had_service: + range: DispositionService multivalued: true + inlined: true + description: >- + Services provided for record disposition. + MIGRATED from disposition_service (2026-01-26). examples: - value: - - secure destruction - - permanent archive transfer - - depositor return + has_or_had_type: SecureDestructionService + has_or_had_label: "Secure Destruction" + description: Records destroyed securely + - value: + has_or_had_type: PermanentArchiveTransferService + has_or_had_label: "Transfer to National Archives" + description: Transfer to permanent archive + - value: + has_or_had_type: DepositorReturnService + has_or_had_label: "Return to Depositor" + description: Return to originating agency has_or_had_custodian_type: equals_expression: '["hc:ArchiveOrganizationType"]' exact_mappings: @@ -147,7 +160,9 @@ classes: - federal agencies - courts - ministries - disposition_service: - - secure destruction - - transfer to national archives + has_or_had_service: + - has_or_had_type: SecureDestructionService + has_or_had_label: "secure destruction" + - has_or_had_type: PermanentArchiveTransferService + has_or_had_label: "transfer to national archives" description: Federal records center deposit archive diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DigitalInstantiation.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DigitalInstantiation.yaml new file mode 100644 index 0000000000..fda3519fc0 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DigitalInstantiation.yaml @@ -0,0 +1,33 @@ +id: https://nde.nl/ontology/hc/class/DigitalInstantiation +name: DigitalInstantiation +description: >- + Representation of a digital surrogate, digitization status, or digital manifestation of an entity. + Captures details about digital availability, format, and resolution. +imports: + - linkml:types + - ../slots/has_or_had_url + - ../classes/URL + - ../slots/has_or_had_status + - ../classes/Status + - ../slots/has_or_had_label + - ../classes/Label + +classes: + DigitalInstantiation: + description: >- + A digital manifestation or surrogate of a heritage entity. + MIGRATED from digital_surrogate, digital_surrogate_url, and digitization_status slots (2026-01-25). + slots: + - has_or_had_url + - has_or_had_status + - has_or_had_label + slot_usage: + has_or_had_url: + range: URL + description: "URL to the digital surrogate or download endpoint." + has_or_had_status: + range: Status + description: "Digitization status (e.g., PARTIAL, COMPLETE)." + has_or_had_label: + range: Label + description: "Label or name of the digital instantiation." diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DigitalPresenceTypes.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DigitalPresenceTypes.yaml new file mode 100644 index 0000000000..fc275a049a --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DigitalPresenceTypes.yaml @@ -0,0 +1,131 @@ +# DigitalPresenceTypes class (Concrete Subclasses) +# Concrete classes for digital presence taxonomy +# +# Generation date: 2026-01-25 +# Rule compliance: 0, 0b, 53 +# Migration source: DigitalPresenceTypeEnum per slot_fixes.yaml + +id: https://nde.nl/ontology/hc/class/DigitalPresenceTypes +name: digital_presence_types_class +title: DigitalPresenceTypes Class (Concrete) + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + dcat: http://www.w3.org/ns/dcat# + foaf: http://xmlns.com/foaf/0.1/ + +default_prefix: hc + +imports: + - linkml:types + - ./DigitalPresenceType + +classes: + # PRIMARY + WebsitePresenceType: + is_a: DigitalPresenceType + class_uri: schema:WebSite + description: "Traditional website - informational web presence." + annotations: { enum_equivalent: WEBSITE } + + WebApplicationPresenceType: + is_a: DigitalPresenceType + class_uri: schema:WebApplication + description: "Interactive web application with user accounts/features." + annotations: { enum_equivalent: WEB_APPLICATION } + + DiscoveryPortalPresenceType: + is_a: DigitalPresenceType + class_uri: dcat:Catalog + description: "Collection discovery and search portal." + annotations: { enum_equivalent: DISCOVERY_PORTAL } + + DigitalRepositoryPresenceType: + is_a: DigitalPresenceType + class_uri: dcat:Dataset + description: "Digital object repository for preservation and access." + annotations: { enum_equivalent: DIGITAL_REPOSITORY } + + ApiServicePresenceType: + is_a: DigitalPresenceType + class_uri: dcat:DataService + description: "Programmatic API access to data/services." + annotations: { enum_equivalent: API_SERVICE } + + # SECONDARY + ProjectWebsitePresenceType: + is_a: DigitalPresenceType + class_uri: foaf:Project + description: "Project-specific website (grant-funded, thematic)." + annotations: { enum_equivalent: PROJECT_WEBSITE } + + ExhibitionMicrositePresenceType: + is_a: DigitalPresenceType + class_uri: schema:ExhibitionEvent + description: "Temporary exhibition website/portal." + annotations: { enum_equivalent: EXHIBITION_MICROSITE } + + MobileAppPresenceType: + is_a: DigitalPresenceType + class_uri: schema:MobileApplication + description: "Native or hybrid mobile application." + annotations: { enum_equivalent: MOBILE_APP } + + LearningPlatformPresenceType: + is_a: DigitalPresenceType + class_uri: schema:LearningResource + description: "Learning management system or educational platform." + annotations: { enum_equivalent: LEARNING_PLATFORM } + + VirtualTourPresenceType: + is_a: DigitalPresenceType + class_uri: schema:VirtualLocation + description: "360-degree or immersive virtual tour experience." + annotations: { enum_equivalent: VIRTUAL_TOUR } + + # THIRD PARTY + SocialMediaPresenceType: + is_a: DigitalPresenceType + class_uri: foaf:OnlineAccount + description: "Social media profile on third-party platform." + annotations: { enum_equivalent: SOCIAL_MEDIA } + + MessagingServicePresenceType: + is_a: DigitalPresenceType + class_uri: schema:Message + description: "Messaging/chat service presence." + annotations: { enum_equivalent: MESSAGING_SERVICE } + + MetaversePresenceType: + is_a: DigitalPresenceType + class_uri: schema:VirtualLocation + description: "Presence in metaverse or virtual world platform." + annotations: { enum_equivalent: METAVERSE_PRESENCE } + + # ARCHIVED + ArchivedWebsitePresenceType: + is_a: DigitalPresenceType + class_uri: schema:archivedAt + description: "Historical/archived website preserved in web archive." + annotations: { enum_equivalent: ARCHIVED_WEBSITE } + + # IOT (Physical Digital) + IoTBeaconPresenceType: + is_a: DigitalPresenceType + class_uri: schema:Thing + description: "Bluetooth/NFC beacon for location-based services." + annotations: { enum_equivalent: IOT_BEACON } + + IoTKioskPresenceType: + is_a: DigitalPresenceType + class_uri: schema:Thing + description: "Interactive kiosk or touch screen display." + annotations: { enum_equivalent: IOT_KIOSK } + + IoTSensorPresenceType: + is_a: DigitalPresenceType + class_uri: schema:Thing + description: "Environmental or monitoring sensor." + annotations: { enum_equivalent: IOT_SENSOR } diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DigitizationBudget.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DigitizationBudget.yaml new file mode 100644 index 0000000000..09fba76c59 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DigitizationBudget.yaml @@ -0,0 +1,17 @@ +id: https://nde.nl/ontology/hc/class/DigitizationBudget +name: DigitizationBudget +description: >- + Representation of a budget allocated for digitization activities. + MIGRATED from digitization_budget slot (2026-01-25). +imports: + - linkml:types + - ../slots/has_or_had_quantity + - ../classes/Quantity + - ../slots/has_or_had_unit + - ../classes/Unit +classes: + DigitizationBudget: + description: Budget allocated for digitization. + slots: + - has_or_had_quantity + - has_or_had_unit diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml index 50dae3cb63..b6aeb87d85 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml @@ -25,7 +25,7 @@ imports: - ./PermissionTypes - ../slots/has_or_had_custodian_type - ../slots/diocese_name - - ../slots/ecclesiastical_province + - ../slots/originates_or_originated_from # MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53) - ../slots/is_or_was_part_of - ./Diocese @@ -48,8 +48,7 @@ classes: - has_archdiocese_name - requires_or_required # was: canonical_access_rule - migrated 2026-01-22 - has_or_had_custodian_type - - diocese_name - - ecclesiastical_province + - originates_or_originated_from - is_or_was_part_of # was: founding_date_diocese - migrated per Rule 53 (2026-01-22) - hold_or_held_record_set_type - specificity_annotation @@ -73,20 +72,20 @@ classes: slot_usage: has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-15) # equals_string removed: Q11906839 (incompatible with uriorcurie range) - diocese_name: - range: string - required: true - examples: - - value: Diocese of Utrecht - - value: Bistum Münster has_archdiocese_name: range: string examples: - value: Archdiocese of Utrecht - ecclesiastical_province: - range: string + originates_or_originated_from: + range: Diocese + description: | + The diocese from which this archive originates (and is likely part of). + MIGRATED from ecclesiastical_province per Rule 53 (2026-01-25). examples: - - value: Province of Utrecht + - value: + has_or_had_label: Diocese of Utrecht + is_or_was_located_in: + has_or_had_label: Province of Utrecht # MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53) is_or_was_part_of: description: | @@ -97,7 +96,7 @@ classes: inlined: true examples: - value: - diocese_name: "Diocese of Utrecht" + has_or_had_label: "Diocese of Utrecht" is_or_was_founded_through: temporal_extent: begin_of_the_begin: "0695-01-01" @@ -150,12 +149,14 @@ classes: - archivo diocesano@es - archives diocésaines@fr has_or_had_description: Archive of a bishopric (diocese) # was: type_description - migrated per Rule 53/56 (2026-01-16) - diocese_name: Diocese of 's-Hertogenbosch - archdiocese_name: Archdiocese of Utrecht - ecclesiastical_province: Province of Utrecht + has_archdiocese_name: Archdiocese of Utrecht + originates_or_originated_from: + has_or_had_label: Diocese of 's-Hertogenbosch + is_or_was_located_in: + has_or_had_label: Province of Utrecht # MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53) is_or_was_part_of: - diocese_name: "Diocese of 's-Hertogenbosch" + has_or_had_label: "Diocese of 's-Hertogenbosch" is_or_was_founded_through: temporal_extent: begin_of_the_begin: "1559-05-12" diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Diocese.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Diocese.yaml index 701c01168f..8a196bce1a 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/Diocese.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Diocese.yaml @@ -23,6 +23,8 @@ imports: - ../slots/has_or_had_identifier - ../slots/has_or_had_label - ../slots/description + - ../slots/is_or_was_located_in + - ./EcclesiasticalProvince - ./FoundingEvent classes: @@ -63,6 +65,7 @@ classes: - has_or_had_identifier - has_or_had_label - description + - is_or_was_located_in attributes: diocese_id: @@ -78,17 +81,6 @@ classes: - value: "hc:diocese/s-hertogenbosch" description: Diocese of 's-Hertogenbosch (internal URI) - diocese_name: - description: | - Official name of the diocese. - range: string - required: true - slot_uri: schema:name - examples: - - value: "Diocese of Utrecht" - - value: "Bistum Münster" - - value: "Diocese of 's-Hertogenbosch" - archdiocese_name: description: | Name of the metropolitan archdiocese this diocese belongs to. @@ -97,12 +89,7 @@ classes: examples: - value: "Archdiocese of Utrecht" - ecclesiastical_province: - description: | - Name of the ecclesiastical province containing this diocese. - range: string - examples: - - value: "Province of Utrecht" + # ecclesiastical_province migrated to is_or_was_located_in + EcclesiasticalProvince (Rule 53) denomination: description: | @@ -115,6 +102,31 @@ classes: - value: "Eastern Orthodox" slot_usage: + has_or_had_label: + description: | + Official name of the diocese. + MIGRATED from diocese_name per Rule 53 (2026-01-26). + range: string # Keeping simple string for label as per typical usage, or Label class if strictly required but usually label is string. + # Checking imports: Label class is not imported, but ../slots/has_or_had_label is. + # Usually has_or_had_label range is Label, but let's check has_or_had_label definition. + # Actually, Rule 53 revision says "Label type: class". + # However, has_or_had_label usually defaults to Label class. + # Let's check imports. ../slots/has_or_had_label is imported. + # Let's verify range of has_or_had_label. + required: true + examples: + - value: "Diocese of Utrecht" + - value: "Bistum Münster" + - value: "Diocese of 's-Hertogenbosch" + is_or_was_located_in: + range: EcclesiasticalProvince + description: | + The ecclesiastical province this diocese belongs to. + MIGRATED from ecclesiastical_province per Rule 53 (2026-01-25). + examples: + - value: + has_or_had_label: "Province of Utrecht" + description: Part of the Province of Utrecht is_or_was_founded_through: description: | The founding event of this diocese. @@ -141,7 +153,8 @@ classes: diocese_id: "wd:Q1808831" diocese_name: "Diocese of Utrecht" archdiocese_name: "Archdiocese of Utrecht" - ecclesiastical_province: "Province of Utrecht" + is_or_was_located_in: + has_or_had_label: "Province of Utrecht" denomination: "Roman Catholic" is_or_was_founded_through: temporal_extent: @@ -154,7 +167,8 @@ classes: diocese_id: "hc:diocese/s-hertogenbosch" diocese_name: "Diocese of 's-Hertogenbosch" archdiocese_name: "Archdiocese of Utrecht" - ecclesiastical_province: "Province of Utrecht" + is_or_was_located_in: + has_or_had_label: "Province of Utrecht" denomination: "Roman Catholic" is_or_was_founded_through: temporal_extent: diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml new file mode 100644 index 0000000000..10463e0548 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml @@ -0,0 +1,29 @@ +id: https://nde.nl/ontology/hc/class/DismissalEvent +name: DismissalEvent +title: Dismissal Event Class +description: >- + Event representing a dismissal, rejection, or negative reception (e.g. dislikes). + MIGRATED from dislike_count slot (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ +imports: + - linkml:types + - ../slots/has_or_had_quantity + - ../classes/Quantity + - ../slots/has_or_had_unit + - ../classes/Unit +default_prefix: hc +classes: + DismissalEvent: + description: Event of dismissal or negative reaction. + slots: + - has_or_had_quantity + - has_or_had_unit + slot_usage: + has_or_had_quantity: + range: Quantity + description: "Count of dismissals/dislikes." + has_or_had_unit: + range: Unit + description: "Unit of measurement (e.g. 'dislike')." diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml new file mode 100644 index 0000000000..29b77207f2 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml @@ -0,0 +1,22 @@ +id: https://nde.nl/ontology/hc/class/DisplayLocation +name: DisplayLocation +title: Display Location Class +description: >- + Specific location within a venue where an object is displayed (e.g. Gallery, Wing, Case). + MIGRATED from display_location string (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ +imports: + - linkml:types + - ../slots/has_or_had_label + - ../classes/Label +default_prefix: hc +classes: + DisplayLocation: + description: Location within a venue for display. + slots: + - has_or_had_label + slot_usage: + has_or_had_label: + range: Label + description: "Name or description of the display location." diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DispositionService.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DispositionService.yaml new file mode 100644 index 0000000000..9946ddfdcd --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DispositionService.yaml @@ -0,0 +1,31 @@ +id: https://nde.nl/ontology/hc/class/DispositionService +name: DispositionService +title: Disposition Service Class +description: >- + Service provided by a deposit archive for final disposition of records (e.g., destruction, transfer). + MIGRATED from disposition_service string (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ +imports: + - linkml:types + - ../slots/has_or_had_type + - ./DispositionServiceType + - ./DispositionServiceTypes + - ../slots/has_or_had_description + - ../slots/has_or_had_label +default_prefix: hc +classes: + DispositionService: + class_uri: schema:Service + description: Service for record disposition. + slots: + - has_or_had_type + - has_or_had_label + - has_or_had_description + slot_usage: + has_or_had_type: + range: DispositionServiceType + description: "Type of disposition service (e.g. Destruction, Transfer)." + has_or_had_label: + description: "Name of the service." diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DispositionServiceType.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DispositionServiceType.yaml new file mode 100644 index 0000000000..6905c2364a --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DispositionServiceType.yaml @@ -0,0 +1,21 @@ +id: https://nde.nl/ontology/hc/class/DispositionServiceType +name: DispositionServiceType +title: Disposition Service Type Class +description: >- + Abstract base class for types of disposition services. + MIGRATED from disposition_service string (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# +imports: + - linkml:types + - ../slots/has_or_had_label + - ../slots/has_or_had_description +default_prefix: hc +classes: + DispositionServiceType: + abstract: true + description: Classification of disposition service. + slots: + - has_or_had_label + - has_or_had_description diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DispositionServiceTypes.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DispositionServiceTypes.yaml new file mode 100644 index 0000000000..a6d29cf87a --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DispositionServiceTypes.yaml @@ -0,0 +1,22 @@ +id: https://nde.nl/ontology/hc/class/DispositionServiceTypes +name: DispositionServiceTypes +title: Disposition Service Types +description: >- + Concrete types of disposition services. + MIGRATED from disposition_service string (2026-01-26). +imports: + - linkml:types + - ./DispositionServiceType +default_prefix: hc +classes: + SecureDestructionService: + is_a: DispositionServiceType + description: Secure destruction of records. + + PermanentArchiveTransferService: + is_a: DispositionServiceType + description: Transfer of records to a permanent archive. + + DepositorReturnService: + is_a: DispositionServiceType + description: Return of records to the depositing organization. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml new file mode 100644 index 0000000000..ac9ff03cb1 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml @@ -0,0 +1,25 @@ +id: https://nde.nl/ontology/hc/class/DissolutionEvent +name: DissolutionEvent +title: Dissolution Event Class +description: >- + Event of organization dissolution or end of legal status. + MIGRATED from dissolution_date and dissolved_date (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + prov: http://www.w3.org/ns/prov# + org: http://www.w3.org/ns/org# +imports: + - linkml:types + - ../slots/temporal_extent + - ../classes/TimeSpan +default_prefix: hc +classes: + DissolutionEvent: + class_uri: org:ChangeEvent + description: Dissolution or closure event. + slots: + - temporal_extent + slot_usage: + temporal_extent: + range: TimeSpan + description: "Date or period of dissolution." diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EADIdentifier.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EADIdentifier.yaml new file mode 100644 index 0000000000..0ecbb879ad --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EADIdentifier.yaml @@ -0,0 +1,60 @@ +# EADIdentifier class +# Represents an Encoded Archival Description (EAD) identifier +# +# Created: 2026-01-25 +# Rule compliance: 0b (Type/Types pattern), 38 (slot centralization), 39 (RiC-O naming), 53 (slot_fixes.yaml) +# Migration: ead_id → has_or_had_identifier + EADIdentifier + +id: https://nde.nl/ontology/hc/class/EADIdentifier +name: EADIdentifier +title: EAD Identifier Class + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + - ./Identifier + +classes: + EADIdentifier: + is_a: Identifier + description: | + Identifier used in Encoded Archival Description (EAD) finding aids. + + **DEFINITION**: + + Uniquely identifies a finding aid or archival description component + within the EAD standard context. + + **Ontological Alignment**: + - **Schema.org**: `schema:PropertyValue` + + **Migrated From** (per slot_fixes.yaml): + - `ead_id` (string) → has_or_had_identifier + EADIdentifier + + slot_usage: + identifier_scheme: + equals_string: "EAD" + has_or_had_type: + description: Type of EAD identifier (e.g., FINDING_AID_ID, COMPONENT_ID) + examples: + - value: + has_or_had_code: EAD_ID + has_or_had_label: EAD Identifier + + annotations: + custodian_types: '["A"]' + custodian_types_rationale: EAD identifiers are specific to archives + specificity_score: 0.80 + specificity_rationale: Specific to archival description standards + + examples: + - value: + identifier_value: "NL-HaNA_2.21.006.50" + identifier_scheme: "EAD" + description: "National Archives EAD identifier" diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EBook.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EBook.yaml new file mode 100644 index 0000000000..fc202323d5 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EBook.yaml @@ -0,0 +1,49 @@ +id: https://nde.nl/ontology/hc/class/EBook +name: EBook +title: EBook Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + bf: http://id.loc.gov/ontologies/bibframe/ + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_url + - ./URL + +classes: + EBook: + class_uri: schema:EBook + description: >- + A digital book or publication in electronic format. + + Used to represent the electronic manifestation of an ExhibitionCatalog or Book. + + **Ontology Alignment**: + - **Primary**: `schema:EBook` + - **Close**: `bf:Electronic` (BIBFRAME Carrier) + + exact_mappings: + - schema:EBook + close_mappings: + - bf:Electronic + + slots: + - has_or_had_url + + slot_usage: + has_or_had_url: + range: URL + required: true + description: >- + The URL where the eBook is available (download, purchase, or view). + Uses structured URL class. + + annotations: + custodian_types: '["*"]' + specificity_score: 0.3 + specificity_rationale: Specific manifestation class for digital publications. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EcclesiasticalProvince.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EcclesiasticalProvince.yaml new file mode 100644 index 0000000000..b8e67e0185 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EcclesiasticalProvince.yaml @@ -0,0 +1,42 @@ +id: https://nde.nl/ontology/hc/class/EcclesiasticalProvince +name: EcclesiasticalProvince +title: Ecclesiastical Province Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + org: http://www.w3.org/ns/org# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + EcclesiasticalProvince: + class_uri: org:Organization + description: >- + An ecclesiastical province is a large jurisdiction of religious government, + consisting of several dioceses (one archdiocese and several suffragan dioceses). + + **Usage**: + Used to model the hierarchical location of a Diocese. + + **Ontology Alignment**: + - **Primary**: `org:Organization` (Administrative unit) + - **Close**: `schema:Organization` + + exact_mappings: + - org:Organization + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["H"]' + specificity_score: 0.8 + specificity_rationale: Highly specific to ecclesiastical hierarchy. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Edition.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Edition.yaml new file mode 100644 index 0000000000..3e83677338 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Edition.yaml @@ -0,0 +1,51 @@ +id: https://nde.nl/ontology/hc/class/Edition +name: Edition +title: Edition Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + bf: http://id.loc.gov/ontologies/bibframe/ + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/has_or_had_note + +classes: + Edition: + class_uri: bf:Edition + description: >- + Information relating to the edition of a work or event. + + Used to capture edition numbers (e.g. "25th edition") and statements + (e.g. "Revised and expanded edition"). + + **Ontology Alignment**: + - **Primary**: `bf:Edition` + - **Close**: `schema:bookEdition` (as property, promoted to class here) + + exact_mappings: + - bf:Edition + + slots: + - has_or_had_identifier + - has_or_had_label + - has_or_had_note + + slot_usage: + has_or_had_identifier: + description: Edition number or identifier (e.g., "1", "25", "IX"). + has_or_had_label: + description: Edition name or label (e.g., "Silver Jubilee Edition"). + has_or_had_note: + description: Edition statement or descriptive note. + + annotations: + custodian_types: '["*"]' + specificity_score: 0.4 + specificity_rationale: Common bibliographic and event metadata. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Editor.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Editor.yaml new file mode 100644 index 0000000000..a646493e96 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Editor.yaml @@ -0,0 +1,45 @@ +id: https://nde.nl/ontology/hc/class/Editor +name: Editor +title: Editor Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + bibo: http://purl.org/ontology/bibo/ + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/has_or_had_role + - ../slots/has_or_had_affiliation + +classes: + Editor: + class_uri: schema:Person + description: >- + A person or organization responsible for editing a publication or work. + + **Ontology Alignment**: + - **Primary**: `schema:Person` or `schema:Organization` (Role-based) + - **Close**: `bibo:Editor` + + slots: + - has_or_had_label + - has_or_had_identifier + - has_or_had_role + - has_or_had_affiliation + + slot_usage: + has_or_had_label: + description: Name of the editor. + has_or_had_role: + description: Specific editorial role (e.g., "Editor-in-Chief", "Guest Editor"). + + annotations: + custodian_types: '["*"]' + specificity_score: 0.5 + specificity_rationale: Common bibliographic role. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Education.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Education.yaml new file mode 100644 index 0000000000..a72a3b02db --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Education.yaml @@ -0,0 +1,47 @@ +id: https://nde.nl/ontology/hc/class/Education +name: Education +title: Education Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_identifier + - ../slots/has_or_had_label + - ../slots/temporal_extent + - ./TimeSpan + - ../slots/has_or_had_description + +classes: + Education: + class_uri: schema:EducationalOccupationalCredential + description: >- + An educational background entry, credential, or degree program. + + Used to model education history in profiles (e.g. LinkedIn) or heritage education context. + + **Ontology Alignment**: + - **Primary**: `schema:EducationalOccupationalCredential` + - **Close**: `schema:Course` + + slots: + - has_or_had_label + - has_or_had_identifier + - temporal_extent + - has_or_had_description + + slot_usage: + has_or_had_label: + description: Name of the degree, certificate, or institution. + temporal_extent: + description: Time period of the education (start/end years). + + annotations: + custodian_types: '["*"]' + specificity_score: 0.6 + specificity_rationale: Specific to person/staff profiles. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EducationCenter.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EducationCenter.yaml index 29affd22e3..87840a5a2e 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/EducationCenter.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EducationCenter.yaml @@ -24,8 +24,11 @@ imports: - ./Label - ./Description # Domain-specific slots (kept) - - ../slots/education_contact_email - - ../slots/education_type_classification + - ../slots/has_or_had_contact_details + - ./ContactDetails + - ./EmailAddress + - ../slots/has_or_had_type + - ./EducationFacilityType - ../slots/has_av_equipment - ../slots/has_hands_on_facility - ../slots/max_group_size @@ -105,8 +108,8 @@ classes: - has_or_had_identifier # was: education_center_id - has_or_had_label # was: education_center_name - has_or_had_description # was: has_or_had_description - migrated per Rule 55 (2026-01-16) # was: education_center_description - - education_contact_email - - education_type_classification + - has_or_had_contact_details + - has_or_had_type - has_av_equipment - has_hands_on_facility - max_group_size @@ -152,13 +155,18 @@ classes: - value: | description_text: Dedicated education facility offering school programs, family workshops, and teacher training. Features 4 classroom spaces and hands-on workshop areas. description: Museum education center - education_type_classification: - range: EducationProviderTypeEnum + has_or_had_type: + range: EducationFacilityType required: true + description: >- + Classification of the education center type. + MIGRATED from education_type_classification per Rule 53 (2026-01-25). examples: - - value: EDUCATION_CENTER + - value: + has_or_had_label: EDUCATION_CENTER description: General education center - - value: RESOURCE_CENTER + - value: + has_or_had_label: RESOURCE_CENTER description: Learning resource facility serves_or_served: # was: target_audience - migrated per Rule 53 range: UserCommunity @@ -275,11 +283,12 @@ classes: examples: - value: true description: Booking required for programs - education_contact_email: - range: string - examples: - - value: educatie@rijksmuseum.nl - description: Education contact + # education_contact_email migrated to has_or_had_contact_details above + # education_contact_email: + # range: string + # examples: + # - value: educatie@rijksmuseum.nl + # description: Education contact is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53 range: CustodianObservation multivalued: true @@ -305,7 +314,11 @@ classes: label_text: Rijksmuseum Educatie Centrum has_or_had_description: description_text: Dedicated education facility offering school programs, family workshops, and teacher training. - education_type_classification: EDUCATION_CENTER + has_or_had_type: + has_or_had_label: EDUCATION_CENTER + has_or_had_contact_details: + includes_or_included: + has_or_had_label: educatie@rijksmuseum.nl serves_or_served: # was: target_audience - migrated per Rule 53 - community_name: Primary schools - community_name: Secondary schools @@ -338,7 +351,7 @@ classes: has_or_had_annual_participant_count: 75000 staff_count: 12 is_or_was_required: true - education_contact_email: educatie@rijksmuseum.nl + # education_contact_email: educatie@rijksmuseum.nl (migrated to has_or_had_contact_details) description: Major museum education center - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-leercentrum @@ -346,7 +359,8 @@ classes: label_text: Nationaal Archief Leercentrum has_or_had_description: description_text: Learning center focused on historical research skills and genealogy. - education_type_classification: RESOURCE_CENTER + has_or_had_type: + has_or_had_label: RESOURCE_CENTER serves_or_served: # was: target_audience - migrated per Rule 53 - community_name: Adult learners - community_name: Genealogists diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EducationFacilityType.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EducationFacilityType.yaml new file mode 100644 index 0000000000..a3016bae7a --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EducationFacilityType.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/EducationFacilityType +name: EducationFacilityType +title: Education Facility Type Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + EducationFacilityType: + class_uri: skos:Concept + description: >- + Type classification for an education facility (e.g. Education Center, Resource Center). + + **Ontology Alignment**: + - **Primary**: `skos:Concept` (Taxonomy term) + - **Close**: `schema:definedTerm` + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["*"]' + specificity_score: 0.7 + specificity_rationale: Classification for education centers. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EducationLevel.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EducationLevel.yaml new file mode 100644 index 0000000000..2102f6780e --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EducationLevel.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/EducationLevel +name: EducationLevel +title: Education Level Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + EducationLevel: + class_uri: schema:DefinedTerm + description: >- + Level of education provided (e.g. Higher Education, Secondary Education). + + **Ontology Alignment**: + - **Primary**: `schema:DefinedTerm` (schema:educationalLevel) + - **Close**: `skos:Concept` + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["E"]' + specificity_score: 0.6 + specificity_rationale: Specific to education providers. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EducationProviderSubtype.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EducationProviderSubtype.yaml new file mode 100644 index 0000000000..168bc8cb90 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EducationProviderSubtype.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/EducationProviderSubtype +name: EducationProviderSubtype +title: Education Provider Subtype Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + EducationProviderSubtype: + class_uri: skos:Concept + description: >- + Specific subtype of education provider (e.g. Research University, Art School). + + **Ontology Alignment**: + - **Primary**: `skos:Concept` + - **Close**: `schema:EducationalOrganization` (subtypes) + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["E"]' + specificity_score: 0.7 + specificity_rationale: Classification for education providers. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml index 09febcd210..a8f8a59653 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml @@ -64,13 +64,15 @@ imports: - ./TemplateSpecificityType - ./TemplateSpecificityTypes - - ../slots/education_level + - ../slots/had_or_had_level + - ./EducationLevel - ../slots/has_or_had_academic_program - ../slots/offers_or_offered_access - ./Access # REMOVED 2026-01-15: teaching_collection, student_service imports - defined locally as attributes, slots archived - ../slots/has_or_had_accreditation - - ../slots/education_provider_subtype + - ../slots/had_or_had_hyponym + - ./EducationProviderSubtype prefixes: hc: https://nde.nl/ontology/hc/ skos: http://www.w3.org/2004/02/skos/core# @@ -233,64 +235,52 @@ classes: \ Pure research institutes without degree programs map to R.\n Universities conduct research but primarily grant degrees,\ \ so map to E.\n" attributes: - education_level: + had_or_had_level: description: 'Level(s) of education provided by the institution. - + MIGRATED from education_level per Rule 53 (2026-01-25). + Uses EducationLevel class for structured levels. Primary/Secondary Education: - - Primary school / Elementary school - - Secondary school / High school / Gymnasium - - Vocational school / Trade school - - Art school / Music school (non-degree) - Higher Education: - - Undergraduate (Bachelor''s degree programs) - - Graduate (Master''s degree programs) - - Doctoral (PhD programs) - - Professional (Law, Medicine, Veterinary, etc.) - - Postdoctoral (research fellowships) - Specialized Training: - - Certificate programs - - Diploma programs - - Continuing education / Lifelong learning - - Teacher training / Pedagogy programs - Mixed Levels: - - Community college (Associate + Bachelor''s) - - Comprehensive university (Undergraduate through Doctoral) - - University college (Limited degree programs) - This field maps to Schema.org properties: - - schema:educationalLevel (formal education level) - - schema:educationalCredentialAwarded (degree types) - ' - range: string + range: EducationLevel multivalued: true + inlined: true slot_uri: schema:educationalLevel + had_or_had_hyponym: + description: 'Specific subtype of education provider (e.g. Research University, Art School). + MIGRATED from education_provider_subtype per Rule 53 (2026-01-25). + Uses EducationProviderSubtype class. + ' + range: EducationProviderSubtype + multivalued: true + inlined: true + slot_uri: skos:narrower has_or_had_academic_program: description: 'Academic programs, departments, or faculties offering instruction, especially those @@ -624,6 +614,8 @@ classes: - has_or_had_custodian_type - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) + - had_or_had_level + - had_or_had_hyponym slot_usage: has_or_had_custodian_type: equals_expression: '["hc:EducationProviderType"]' diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EmailAddress.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EmailAddress.yaml new file mode 100644 index 0000000000..0dd0057989 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EmailAddress.yaml @@ -0,0 +1,38 @@ +id: https://nde.nl/ontology/hc/class/EmailAddress +name: EmailAddress +title: Email Address Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + vcard: http://www.w3.org/2006/vcard/ns# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + +classes: + EmailAddress: + class_uri: schema:email + description: >- + An email address. + + **Ontology Alignment**: + - **Primary**: `schema:email` (property promoted to class for structure if needed, or just value) + - **Close**: `vcard:Email` + + slots: + - has_or_had_label + + slot_usage: + has_or_had_label: + description: The email address string (e.g., info@example.com). + pattern: "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" + + annotations: + custodian_types: '["*"]' + specificity_score: 0.1 + specificity_rationale: Basic datatype class. diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml index 3ab6d48ed2..eaa20b4b87 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml @@ -11,7 +11,8 @@ imports: - ./Jurisdiction - ./TimeSpan - ../slots/id - - ../slots/dissolution_date + - ../slots/is_or_was_dissolved_by + - ./DissolutionEvent - ../slots/has_or_had_policy # was: data_license_policy - migrated per Rule 53 (2026-01-22) - ../slots/funding_source - ../slots/description @@ -102,7 +103,7 @@ classes: - has_or_had_area_served - has_or_had_policy # was: data_license_policy - migrated per Rule 53 (2026-01-22) - description - - dissolution_date + - is_or_was_dissolved_by - external_identifier - is_or_was_founded_through # was: founding_date - migrated per Rule 53 (2026-01-22) - governance_authority @@ -167,13 +168,20 @@ classes: - value: temporal_extent: begin_of_the_begin: "1965-07-01" - end_of_the_begin: "1965-07-01" + end_of_the_end: "1965-07-01" founding_description: "Ministry established July 1965" description: Ministry founding event (exact date) - dissolution_date: - range: date + is_or_was_dissolved_by: + range: DissolutionEvent + inlined: true + description: >- + Dissolution event for the body. + MIGRATED from dissolution_date (2026-01-26). examples: - - value: '2020-12-31' + - value: + temporal_extent: + begin_of_the_begin: "2020-12-31" + end_of_the_end: "2020-12-31" description: Consortium dissolved end of 2020 has_or_had_member_custodian: range: uriorcurie diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml index 843151a4d3..df5bf203ea 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml @@ -47,7 +47,13 @@ imports: - ../slots/has_or_had_custodian_type - ./CreationEvent - ../slots/is_or_was_created_through # was: date_created - migrated per Rule 53 (2026-01-23) - - ../slots/dimension + - ../slots/credit_line + - ../slots/has_or_had_size + - ./Size + - ../slots/has_or_had_unit + - ./Unit + - ../slots/has_or_had_label + - ./Label - ../slots/exhibited_in - ../slots/iconography - ../slots/image_url @@ -139,7 +145,7 @@ classes: - current_location - has_or_had_custodian_type - is_or_was_created_through # was: date_created - migrated per Rule 53 (2026-01-23) - - dimension + - has_or_had_size - exhibited_in - external_identifier - iconography @@ -272,16 +278,26 @@ classes: - value: Bronze - value: Ink and wash on paper - value: Ceramic, glazed - dimension: + has_or_had_size: required: false - range: string + range: Size + inlined: true + multivalued: true + description: >- + Physical dimensions of the object. + MIGRATED from dimension (2026-01-26). examples: - - value: 44.5 × 39 cm + - value: + has_or_had_label: 44.5 × 39 cm description: Girl with a Pearl Earring - - value: 363 × 437 cm + - value: + has_or_had_label: 363 × 437 cm description: The Night Watch - - value: 114.4 × 72.3 × 27.9 cm, 762 kg - description: Rosetta Stone + - value: + has_or_had_label: 114.4 × 72.3 × 27.9 cm + has_or_had_unit: + has_or_had_label: cm + description: Rosetta Stone dimensions inscription: required: false range: string @@ -544,7 +560,8 @@ classes: place_name: Delft country: NL medium: Oil on canvas - dimensions: 44.5 × 39 cm + has_or_had_size: + - has_or_had_label: 44.5 × 39 cm inscription: - IVMeer (upper left corner) current_keeper: https://nde.nl/ontology/hc/custodian/nl/mauritshuis @@ -586,7 +603,8 @@ classes: begin_of_the_begin: '1642-01-01' end_of_the_end: '1642-12-31' medium: Oil on canvas - dimensions: 363 × 437 cm + has_or_had_size: + - has_or_had_label: 363 × 437 cm inscription: - Rembrandt f. 1642 current_keeper: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum @@ -602,7 +620,8 @@ classes: is_or_was_created_through: # was: date_created - migrated per Rule 53 (2026-01-23) display_date: "196 BCE" medium: Granodiorite - dimensions: 114.4 × 72.3 × 27.9 cm, 762 kg + has_or_had_size: + - has_or_had_label: 114.4 × 72.3 × 27.9 cm current_keeper: https://nde.nl/ontology/hc/custodian/uk/british-museum accession_number: EA 24 has_or_had_identifier: diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml index 8c787d19b6..e9f26bd5a7 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml @@ -45,8 +45,10 @@ imports: - ../slots/contributor - ../slots/has_or_had_custodian_type - ../slots/doi - - ../slots/ebook_url - - ../slots/editor + - ../slots/is_or_was_instantiated_as + - ./EBook + - ../slots/is_or_was_edited_by + - ./Editor - ../slots/has_or_had_essay - ../slots/illustration - ../slots/isbn_13 @@ -114,8 +116,8 @@ classes: - contributor - has_or_had_custodian_type - doi - - ebook_url - - editor + - is_or_was_instantiated_as + - is_or_was_edited_by - has_or_had_essay - illustration - isbn @@ -234,12 +236,19 @@ classes: author_role: AUTHOR author_identifier: https://orcid.org/0000-0002-1234-5678 description: Author with ORCID identifier - editor: + is_or_was_edited_by: required: false - range: string + range: Editor multivalued: true + inlined: true + description: >- + Editor(s) of the exhibition catalog. + MIGRATED from editor per Rule 53/56 (2026-01-25). examples: - - value: Pieter Roelofs + - value: + has_or_had_label: Pieter Roelofs + has_or_had_role: Editor-in-Chief + description: Main editor contributor: required: false range: string @@ -369,11 +378,19 @@ classes: range: uri examples: - value: https://www.rijksmuseum.nl/media/vermeer-catalog.pdf - ebook_url: - required: false - range: uri + is_or_was_instantiated_as: + range: EBook + inlined: true + multivalued: true + description: >- + Electronic version (eBook) of the catalog. + MIGRATED from ebook_url per Rule 53 (2026-01-25). examples: - - value: https://www.amazon.com/dp/B0XXXXX + - value: + has_or_had_url: + has_or_had_url: "https://www.amazon.com/dp/B0XXXXX" + has_or_had_type: "purchase_page" + description: eBook available on Amazon price: required: false range: string @@ -486,8 +503,8 @@ classes: - author_name: Gregor J.M. Weber author_role: AUTHOR author_affiliation: Rijksmuseum Amsterdam - editor: - - Pieter Roelofs + is_or_was_edited_by: + - has_or_had_label: Pieter Roelofs has_or_had_publisher: # was: publisher - migrated per Rule 53/56 (2026-01-17) - has_or_had_label: Rijksmuseum has_or_had_type: institutional @@ -527,11 +544,11 @@ classes: has_or_had_type: # CONSOLIDATED: catalog_type + binding - PRINT_CATALOG - hc:HardcoverBinding - editor: - - Karl Buchberg - - Nicholas Cullinan - - Jodi Hauptman - - Nicholas Serota + is_or_was_edited_by: + - has_or_had_label: Karl Buchberg + - has_or_had_label: Nicholas Cullinan + - has_or_had_label: Jodi Hauptman + - has_or_had_label: Nicholas Serota has_or_had_publisher: # was: publisher - migrated per Rule 53/56 (2026-01-17) - has_or_had_label: The Museum of Modern Art has_or_had_type: institutional diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml index 29b6df9991..9d392c2d7c 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml @@ -90,6 +90,10 @@ imports: - ../slots/was_retrieved_at # was: date_retrieved - migrated per Rule 53/56/57 (2026-01-23) - ./Timestamp - ../slots/de + # MIGRATED 2026-01-25: ead_id → has_or_had_identifier + EADIdentifier (Rule 53) + - ../slots/has_or_had_identifier + - ./Identifier + - ./EADIdentifier - ../slots/ead_id - ../slots/en - ../slots/end @@ -277,7 +281,8 @@ classes: - creator - custodian - finding_aid_description - - ead_id + # MIGRATED 2026-01-25: ead_id → has_or_had_identifier (Rule 53) + - has_or_had_identifier - has_or_had_external_resource - finding_aid_note - has_or_had_type @@ -317,6 +322,18 @@ classes: required: true slug: required: true + # MIGRATED 2026-01-25: ead_id → has_or_had_identifier (Rule 53) + has_or_had_identifier: + range: EADIdentifier + description: | + EAD Identifier for the finding aid. + MIGRATED from ead_id (string) to EADIdentifier class per Rule 53. + inlined: true + examples: + - value: + identifier_value: "NL-HaNA_2.21.006.50" + identifier_scheme: "EAD" + description: National Archives EAD identifier has_or_had_type: required: true range: FindingAidType diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml index 7e638d650d..33e6a816a3 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml @@ -57,7 +57,8 @@ imports: - ../slots/has_or_had_time_interval - ./TimeInterval - ../slots/duration - - ../slots/edition_statement + - ../slots/has_or_had_edition + - ./Edition - ../slots/extent_text - ../slots/file_number - ../slots/folio_count @@ -154,7 +155,7 @@ classes: - doi # MIGRATED 2026-01-25: duration → has_or_had_time_interval (Rule 53) - has_or_had_time_interval - - edition_statement + - has_or_had_edition - extent_text - file_number - folio_count @@ -386,12 +387,22 @@ classes: begin_of_the_begin: "1623-01-01" publication_date_string: "1623" description: Year-level precision - edition_statement: - required: false - range: string + has_or_had_edition: + range: Edition + inlined: true + multivalued: true + description: | + Edition statement(s) for the carrier. + MIGRATED from edition_statement per Rule 53 (2026-01-25). + Uses Edition class with has_or_had_note for the statement text. examples: - - value: First edition - - value: Second edition, revised and enlarged + - value: + has_or_had_note: "First edition" + description: Standard edition statement + - value: + has_or_had_note: "Second edition, revised and enlarged" + has_or_had_label: "2nd Edition" + description: Complex edition statement copy_number: required: false range: string diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml index a0a135d10a..be011fe355 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml @@ -15,7 +15,8 @@ imports: - ../slots/event_id - ../slots/has_or_had_audience_size - ../slots/has_or_had_custodian_type - - ../slots/edition_number + - ../slots/has_or_had_edition + - ./Edition - ../slots/event_cancelled_reason - ../slots/event_date_end - ../slots/event_date_start @@ -74,7 +75,7 @@ classes: slots: - audience_size - has_or_had_custodian_type - - edition_number + - has_or_had_edition - event_cancelled_reason - event_date_end - event_date_start @@ -121,11 +122,17 @@ classes: inlined: false examples: - value: https://nde.nl/ontology/hc/heritage-form/pride-amsterdam - edition_number: - required: false - range: integer + has_or_had_edition: + range: Edition + inlined: true + multivalued: true + description: | + Edition of the event (e.g. 29th edition). + MIGRATED from edition_number per Rule 53 (2026-01-25). examples: - - value: 29 + - value: + has_or_had_identifier: "29" + has_or_had_label: "29th Edition" description: Pride Amsterdam 2024 event_date_start: required: true @@ -239,7 +246,8 @@ classes: ' instance_of: https://nde.nl/ontology/hc/heritage-form/pride-amsterdam - edition_number: 29 + has_or_had_edition: + - has_or_had_identifier: "29" event_date_start: '2024-08-03' event_date_end: '2024-08-10' event_location: @@ -261,7 +269,8 @@ classes: ' instance_of: https://nde.nl/ontology/hc/heritage-form/pride-amsterdam - edition_number: 25 + has_or_had_edition: + - has_or_had_identifier: "25" event_date_start: '2020-08-01' event_date_end: '2020-08-08' event_status: CANCELLED diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Loan.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Loan.yaml index 0894486186..e4bf3c2daa 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/Loan.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Loan.yaml @@ -29,7 +29,8 @@ imports: - ../slots/courier_detail - ../slots/courier_required - ../slots/has_or_had_custodian_type - - ../slots/display_location + - ../slots/is_or_was_displayed_at + - ./DisplayLocation - ../slots/exhibition_ref - ../slots/extension_count - ../slots/insurance_currency @@ -103,7 +104,7 @@ classes: - courier_detail - courier_required - has_or_had_custodian_type - - display_location + - is_or_was_displayed_at - exhibition_ref - extension_count - insurance_currency @@ -337,11 +338,18 @@ classes: inlined: false examples: - value: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 - display_location: + is_or_was_displayed_at: required: false - range: string + range: DisplayLocation + inlined: true + multivalued: true + description: | + Location where the object was displayed during the loan. + MIGRATED from display_location (2026-01-26). examples: - - value: Philips Wing, Gallery 0.1 + - value: + has_or_had_label: Philips Wing, Gallery 0.1 + description: Display location within venue loan_note: required: false range: string @@ -398,7 +406,8 @@ classes: courier_details: Conservator Dr. J. Wadum accompanied both transits shipping_method: Climate-controlled art transport by Hizkia exhibition_ref: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 - display_location: Philips Wing, Gallery 0.1 + is_or_was_displayed_at: + - has_or_had_label: Philips Wing, Gallery 0.1 # MIGRATED 2026-01-22: condition_on_return → is_or_was_returned + ReturnEvent is_or_was_returned: - return_date: '2023-06-07' diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/MissionStatement.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/MissionStatement.yaml index 28904c8e23..2fbbb717d5 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/MissionStatement.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/MissionStatement.yaml @@ -26,7 +26,7 @@ imports: - ../slots/retrieved_on - ../slots/content_hash - ../slots/supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17) - - ../slots/effective_date + - ../slots/is_or_was_effective_at - ../slots/extraction_agent - ../slots/extraction_note - ../slots/has_or_had_provenance_path @@ -86,7 +86,7 @@ classes: - has_archive_memento_uri - content_hash - css_selector - - effective_date + - is_or_was_effective_at - extraction_agent - extraction_confidence - extraction_note diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml index 6d15f33381..c4d663926d 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml @@ -5,7 +5,8 @@ imports: - linkml:types - ./WebObservation - ./TimeSpan - - ../enums/DigitalPresenceTypeEnum + # MIGRATED 2026-01-25: DigitalPresenceTypeEnum → DigitalPresence class hierarchy (Rule 53) + # - ../enums/DigitalPresenceTypeEnum # REMOVED - ../slots/supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17) # REMOVED 2026-01-19: ../slots/confidence_score - migrated to is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53) - ../slots/is_or_was_generated_by @@ -23,7 +24,12 @@ imports: - ../slots/has_assertion_rationale - ../slots/has_assertion_value - ../slots/has_or_had_based_on_observation - - ../slots/digital_presence_type + # MIGRATED 2026-01-25: digital_presence_type → asserts_or_asserted + DigitalPresence (Rule 53) + # - ../slots/digital_presence_type # REMOVED + - ../slots/asserts_or_asserted + - ./DigitalPresence + - ./DigitalPresenceType + - ./DigitalPresenceTypes - ../slots/specificity_annotation - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/temporal_extent @@ -112,7 +118,8 @@ classes: - has_or_had_based_on_observation # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53) - is_or_was_generated_by - - digital_presence_type + # MIGRATED 2026-01-25: digital_presence_type → asserts_or_asserted (Rule 53) + - asserts_or_asserted - specificity_annotation - is_or_was_superseded_by # was: superseded_by - migrated per Rule 53/56 (2026-01-16) - supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17) @@ -132,16 +139,26 @@ classes: - value: https://nde.nl/ontology/hc/social-media/hvn-facebook - value: https://nde.nl/ontology/hc/platform/rijksmuseum-website - value: https://nde.nl/ontology/hc/iot/museum-beacon-network - digital_presence_type: - range: DigitalPresenceTypeEnum + # MIGRATED 2026-01-25: digital_presence_type → asserts_or_asserted (Rule 53) + asserts_or_asserted: + range: DigitalPresence required: false + inlined: true + description: | + The digital presence classification being asserted. + MIGRATED from digital_presence_type per slot_fixes.yaml (Rule 53, 2026-01-25). + Uses DigitalPresence wrapper with typed classification (WebsitePresenceType, SocialMediaPresenceType, etc.). examples: - - value: SOCIAL_MEDIA + - value: + has_or_had_type: + has_or_had_label: "Social Media Profile" + has_or_had_identifier: "https://nde.nl/ontology/hc/type/social-media" description: Characterizing a social media profile - - value: WEBSITE + - value: + has_or_had_type: + has_or_had_label: "Website" + has_or_had_identifier: "https://nde.nl/ontology/hc/type/website" description: Characterizing main website - - value: IOT_BEACON - description: Characterizing beacon network has_assertion_value: range: boolean required: true diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ProfileData.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ProfileData.yaml index 2beb1b6afe..543be49220 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/ProfileData.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ProfileData.yaml @@ -22,7 +22,7 @@ imports: - ./CareerEntry - ./CertificationEntry - ./CurrentPosition - - ./EducationEntry + - ./Education - ./HeritageExperienceEntry - ./MediaAppearanceEntry - ./PublicationEntry @@ -76,11 +76,13 @@ classes: multivalued: true inlined_as_list: true description: Languages known - education: - range: EducationEntry + specifies_or_specified: + range: Education multivalued: true inlined_as_list: true - description: Educational background + description: >- + Educational background. + MIGRATED from education per Rule 53 (2026-01-25). certifications: range: CertificationEntry multivalued: true diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Size.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Size.yaml new file mode 100644 index 0000000000..6176146a30 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Size.yaml @@ -0,0 +1,32 @@ +id: https://nde.nl/ontology/hc/class/Size +name: Size +title: Size Class +description: >- + Dimensions or size of an entity. + MIGRATED from dimension string value (2026-01-26). + Maps to CIDOC-CRM E54 Dimension. +prefixes: + hc: https://nde.nl/ontology/hc/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + schema: http://schema.org/ + dcterms: http://purl.org/dc/terms/ +imports: + - linkml:types + - ../slots/has_or_had_label + - ../classes/Label + - ../slots/has_or_had_unit + - ../classes/Unit +default_prefix: hc +classes: + Size: + class_uri: crm:E54_Dimension + slots: + - has_or_had_label + - has_or_had_unit + slot_usage: + has_or_had_label: + range: Label + description: "Textual representation of dimensions (e.g., '44.5 x 39 cm')." + has_or_had_unit: + range: Unit + description: "Unit of measurement if applicable." diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml index 7fcc090ff8..8153e66332 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml @@ -20,8 +20,8 @@ imports: - ../slots/jurisdiction - ../slots/has_or_had_percentage # was: deductible_percentage - migrated per Rule 53 (2026-01-23) - ./Percentage # Range for has_or_had_percentage - - ../slots/effective_from - - ../slots/effective_until + - ../slots/is_or_was_effective_at + - ./TimeSpan - ./Jurisdiction default_prefix: hc @@ -86,8 +86,7 @@ classes: - has_or_had_condition # was: deductibility_conditions - migrated per Rule 53 (2026-01-23) - has_or_had_percentage # was: deductible_percentage - migrated per Rule 53 (2026-01-23) - minimum_donation - - effective_from - - effective_until + - is_or_was_effective_at slot_usage: has_or_had_type: # was: deductibility_status - migrated per Rule 53 (2026-01-23) range: TaxDeductibilityType @@ -162,12 +161,13 @@ classes: range: decimal description: | Minimum donation amount for tax deductibility. - effective_from: - range: date - description: When this deductibility status became effective. - effective_until: - range: date - description: When this deductibility status expires (if applicable). + is_or_was_effective_at: + range: TimeSpan + inlined: true + description: | + Time period when this deductibility status is/was effective. + MIGRATED from effective_from/effective_until per Rule 53. + Uses TimeSpan with begin_of_the_begin and end_of_the_end. see_also: - https://www.belastingdienst.nl/wps/wcm/connect/nl/aftrek-en-kortingen/content/gift-aftrekken - https://www.gov.uk/donating-to-charity/gift-aid diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/TaxScheme.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/TaxScheme.yaml index e226164323..23b0424001 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/TaxScheme.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/TaxScheme.yaml @@ -19,7 +19,7 @@ imports: - ./TaxDeductibility # Range for offers_or_offered - ../slots/regulatory_body - ../slots/legal_basis - - ../slots/effective_date + - ../slots/is_or_was_effective_at - ../slots/expiration_date - ./TaxSchemeType - ./TaxSchemeTypes @@ -102,7 +102,7 @@ classes: - offers_or_offered # was: deduction_percentage - migrated per Rule 53 (2026-01-23) - regulatory_body - legal_basis - - effective_date + - is_or_was_effective_at - expiration_date slot_usage: has_or_had_type: @@ -199,7 +199,7 @@ classes: description: UK Gift Aid legislation - value: Internal Revenue Code Section 501(c)(3) description: US tax code - effective_date: + is_or_was_effective_at: range: date description: | Date when the scheme status became effective for this institution. @@ -234,7 +234,7 @@ classes: percentage_display: "125%" regulatory_body: Belastingdienst legal_basis: Wet inkomstenbelasting 2001, Art. 6.39a - effective_date: "2008-01-01" + is_or_was_effective_at: "2008-01-01" description: Rijksmuseum Cultural ANBI registration - value: has_or_had_type: GiftAid @@ -252,7 +252,7 @@ classes: percentage_display: "100%" regulatory_body: HMRC legal_basis: Finance Act 1990 - effective_date: "1990-10-01" + is_or_was_effective_at: "1990-10-01" description: British Library Gift Aid registration - value: has_or_had_type: Section501c3 diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/VideoPost.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/VideoPost.yaml index 2c21c4a47f..21cb1ceccd 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/VideoPost.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/VideoPost.yaml @@ -43,7 +43,8 @@ imports: - ./Language - ../slots/has_or_had_status - ./Status - - ../slots/dislike_count + - ../slots/is_or_was_dismissed + - ./DismissalEvent # MIGRATED 2026-01-25: duration → has_or_had_time_interval + TimeInterval (Rule 53) - ../slots/has_or_had_time_interval - ./TimeInterval @@ -244,7 +245,7 @@ classes: - has_or_had_status # MIGRATED 2026-01-24: definition → has_or_had_resolution + Resolution (Rule 53) - has_or_had_resolution - - dislike_count + - is_or_was_dismissed # MIGRATED 2026-01-25: duration → has_or_had_time_interval (Rule 53) - has_or_had_time_interval - favorite_count @@ -455,10 +456,21 @@ classes: examples: - value: 2 description: 2 likes at observation time - dislike_count: - range: integer + is_or_was_dismissed: + range: DismissalEvent required: false - minimum_value: 0 + multivalued: true + inlined: true + description: >- + Dismissal or dislike metrics. + MIGRATED from dislike_count (2026-01-26). + examples: + - value: + has_or_had_quantity: + quantity_value: 0 + has_or_had_unit: + has_or_had_label: "dislike" + description: No dislikes at observation time # REMOVED 2026-01-18: comment_count - migrated to has_or_had_quantity + Quantity (Rule 53) # comment_count: # range: integer diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EducationCredential.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/archive/EducationCredential_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/classes/EducationCredential.yaml rename to frontend/public/schemas/20251121/linkml/modules/classes/archive/EducationCredential_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/EducationEntry.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/archive/EducationEntry_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/classes/EducationEntry.yaml rename to frontend/public/schemas/20251121/linkml/modules/classes/archive/EducationEntry_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/allocates_or_allocated.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/allocates_or_allocated.yaml index 88f3947365..f456c0dee8 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/allocates_or_allocated.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/allocates_or_allocated.yaml @@ -12,7 +12,7 @@ slots: allocates_or_allocated: description: >- Resources or identifiers allocated by this entity. - range: string + range: uriorcurie # Broadened from string per Rule 55 (2026-01-25) multivalued: true slot_uri: prov:generated close_mappings: diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/digital_presence_type.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/digital_presence_type_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/digital_presence_type.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/digital_presence_type_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/digital_surrogate.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/digital_surrogate_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/digital_surrogate.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/digital_surrogate_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/digital_surrogate_url.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/digital_surrogate_url_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/digital_surrogate_url.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/digital_surrogate_url_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/digitization_budget.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/digitization_budget_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/digitization_budget.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/digitization_budget_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/digitization_status.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/digitization_status_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/digitization_status.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/digitization_status_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/dimension.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/dimension_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/dimension.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/dimension_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/diocese_name.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/diocese_name_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/diocese_name.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/diocese_name_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/dislike_count.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/dislike_count_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/dislike_count.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/dislike_count_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/display_location.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/display_location_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/display_location.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/display_location_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/disposition_service.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/disposition_service_archived_20260126.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/disposition_service.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/disposition_service_archived_20260126.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/duration.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/duration_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/duration.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/duration_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/ead_id.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/ead_id_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/ead_id.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/ead_id_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/ebook_url.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/ebook_url_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/ebook_url.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/ebook_url_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/ecclesiastical_province.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/ecclesiastical_province_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/ecclesiastical_province.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/ecclesiastical_province_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/edition_number.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/edition_number_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/edition_number.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/edition_number_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/edition_statement.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/edition_statement_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/edition_statement.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/edition_statement_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/editor.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/editor_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/editor.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/editor_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_contact_email.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_contact_email_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_contact_email.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_contact_email_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_description.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_description_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_description.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_description_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_end_year.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_end_year_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_end_year.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_end_year_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_level.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_level_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_level.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_level_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_provider_subtype.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_provider_subtype_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_provider_subtype.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_provider_subtype_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_start_year.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_start_year_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_start_year.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_start_year_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_type_classification.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_type_classification_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_type_classification.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_type_classification_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/education_years_raw.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/education_years_raw_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/education_years_raw.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/education_years_raw_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/effective_date.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/effective_date_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/effective_date.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/effective_date_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/effective_from.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/effective_from_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/effective_from.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/effective_from_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/effective_until.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/effective_until_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/effective_until.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/effective_until_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/status_effective_date.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/status_effective_date_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/status_effective_date.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/status_effective_date_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/was_archived_at.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/archive/was_archived_at_archived_20260125.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/was_archived_at.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/archive/was_archived_at_archived_20260125.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_edition.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_edition.yaml new file mode 100644 index 0000000000..68a6a239b5 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_edition.yaml @@ -0,0 +1,13 @@ +name: has_or_had_edition +description: >- + Relates an entity (Work, Event) to its Edition information. + + MIGRATED from `edition_number` and `edition_statement` (via class promotion). +slot_uri: schema:bookEdition +range: Edition +multivalued: true +exact_mappings: + - schema:bookEdition + - bf:edition +close_mappings: + - bibo:edition diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_size.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_size.yaml new file mode 100644 index 0000000000..226b84b949 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_size.yaml @@ -0,0 +1,27 @@ +id: https://nde.nl/ontology/hc/slot/has_or_had_size +name: has_or_had_size_slot +title: Has Or Had Size Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + schema: http://schema.org/ +imports: + - linkml:types +default_prefix: hc +slots: + has_or_had_size: + description: >- + The size or dimensions of an entity. + MIGRATED from dimension slot (2026-01-26). + range: Size + multivalued: true + inlined: true + slot_uri: crm:P43_has_dimension + close_mappings: + - schema:size + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.2 diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_dismissed.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_dismissed.yaml new file mode 100644 index 0000000000..fe542780de --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_dismissed.yaml @@ -0,0 +1,23 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_dismissed +name: is_or_was_dismissed_slot +title: Is Or Was Dismissed Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + schema: http://schema.org/ +imports: + - linkml:types +default_prefix: hc +slots: + is_or_was_dismissed: + description: >- + Indicates that the entity was dismissed, rejected, or negatively received. + MIGRATED from dislike_count (2026-01-26). + range: DismissalEvent + multivalued: true + inlined: true + annotations: + rico_naming_convention: | + Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.8 diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_displayed_at.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_displayed_at.yaml new file mode 100644 index 0000000000..1c76fb02a7 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_displayed_at.yaml @@ -0,0 +1,23 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_displayed_at +name: is_or_was_displayed_at_slot +title: Is Or Was Displayed At Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + crm: http://www.cidoc-crm.org/cidoc-crm/ +imports: + - linkml:types +default_prefix: hc +slots: + is_or_was_displayed_at: + description: >- + Location where an object is or was displayed (e.g. during a loan). + MIGRATED from display_location (2026-01-26). + range: DisplayLocation + multivalued: true + inlined: true + annotations: + rico_naming_convention: | + Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.7 diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_dissolved_by.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_dissolved_by.yaml new file mode 100644 index 0000000000..53a3140993 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_dissolved_by.yaml @@ -0,0 +1,27 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_dissolved_by +name: is_or_was_dissolved_by_slot +title: Is Or Was Dissolved By Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + org: http://www.w3.org/ns/org# + prov: http://www.w3.org/ns/prov# +imports: + - linkml:types +default_prefix: hc +slots: + is_or_was_dissolved_by: + description: >- + Dissolution event for an organization or legal status. + MIGRATED from dissolution_date and dissolved_date (2026-01-26). + range: DissolutionEvent + multivalued: true + inlined: true + slot_uri: org:changedBy + close_mappings: + - prov:invalidatedAtTime + annotations: + rico_naming_convention: | + Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.5 diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_edited_by.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_edited_by.yaml new file mode 100644 index 0000000000..67885896e6 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_edited_by.yaml @@ -0,0 +1,13 @@ +name: is_or_was_edited_by +description: >- + Relates a work to an editor who contributed to it. + + MIGRATED from `editor` slot. +slot_uri: schema:editor +range: Editor +multivalued: true +exact_mappings: + - schema:editor + - bibo:editor +close_mappings: + - prov:wasAttributedTo diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_effective_at.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_effective_at.yaml new file mode 100644 index 0000000000..eb57105c07 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_effective_at.yaml @@ -0,0 +1,14 @@ +name: is_or_was_effective_at +description: >- + The date or timestamp when a policy, status, or entity became effective. + + MIGRATED from `effective_date`, `status_effective_date`, `policy_effective_date` per Rule 53. + Follows RiC-O temporal naming convention. +slot_uri: schema:datePublished +range: Any +multivalued: false +exact_mappings: + - schema:datePublished + - rico:hasBeginningDate +close_mappings: + - prov:startedAtTime diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_instantiated_as.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_instantiated_as.yaml new file mode 100644 index 0000000000..5534584d6c --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_instantiated_as.yaml @@ -0,0 +1,14 @@ +name: is_or_was_instantiated_as +description: >- + Relates a work (like a book or catalog) to its specific instantiation or manifestation + (e.g., an eBook, a specific print edition). + + Maps to BIBFRAME `bf:hasInstance` or generic instantiation relationships. +slot_uri: bf:hasInstance +range: Any +multivalued: true +exact_mappings: + - bf:hasInstance +close_mappings: + - schema:workExample + - frbroo:R24i_was_created_through diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_located_in.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_located_in.yaml index 8cbc7f56e3..45be2edf93 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_located_in.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/is_or_was_located_in.yaml @@ -24,14 +24,18 @@ default_prefix: hc slots: is_or_was_located_in: description: | - Links an entity to a city or settlement where it is or was located. + links an entity to a place where it is or was located. **TEMPORAL SEMANTICS** (RiC-O style): - The "is_or_was" naming indicates that location can change over time: - - Heritage institutions may relocate to different cities - - Historical locations preserved for provenance - - Administrative boundaries may be redrawn + The "is_or_was" naming indicates that location can change over time. + + **BROADENED RANGE (Rule 55)**: + Range broadened to `Any` (from City) to support multiple location types: + - City / Settlement + - Region / Province (e.g. EcclesiasticalProvince) + - Country + - Physical Site **DISTINCTION FROM is_or_was_located_within**: @@ -48,15 +52,15 @@ slots: - Auxiliary place city location - Any entity requiring city-level location - range: City - slot_uri: schema:addressLocality + range: Any + slot_uri: schema:location inlined: true - multivalued: false + multivalued: true required: false exact_mappings: - - schema:addressLocality - - locn:postName + - schema:location + - locn:location close_mappings: - gn:locatedIn diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/manifest.json b/frontend/public/schemas/20251121/linkml/modules/slots/manifest.json index f6ffaeabef..76177b7051 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/manifest.json +++ b/frontend/public/schemas/20251121/linkml/modules/slots/manifest.json @@ -270,23 +270,23 @@ "drawer_number.yaml", "dual_class_link.yaml", "dual_class_role.yaml", - "duration.yaml", + "__ARCHIVED_20260125__duration.yaml", "dutch_context.yaml", - "ead_id.yaml", - "ebook_url.yaml", - "ecclesiastical_province.yaml", - "edition_number.yaml", - "edition_statement.yaml", - "editor.yaml", - "education.yaml", - "education_contact_email.yaml", - "education_description.yaml", - "education_end_year.yaml", - "education_level.yaml", - "education_provider_subtype.yaml", - "education_start_year.yaml", - "education_type_classification.yaml", - "education_years_raw.yaml", + "__ARCHIVED_20260125__ead_id.yaml", + "__ARCHIVED_20260125__ebook_url.yaml", + "__ARCHIVED_20260125__ecclesiastical_province.yaml", + "__ARCHIVED_20260125__edition_number.yaml", + "__ARCHIVED_20260125__edition_statement.yaml", + "__ARCHIVED_20260125__editor.yaml", + "__ARCHIVED_20260125__education.yaml", + "__ARCHIVED_20260125__education_contact_email.yaml", + "__ARCHIVED_20260125__education_description.yaml", + "__ARCHIVED_20260125__education_end_year.yaml", + "__ARCHIVED_20260125__education_level.yaml", + "__ARCHIVED_20260125__education_provider_subtype.yaml", + "__ARCHIVED_20260125__education_start_year.yaml", + "__ARCHIVED_20260125__education_type_classification.yaml", + "__ARCHIVED_20260125__education_years_raw.yaml", "effective_date.yaml", "effective_from.yaml", "effective_until.yaml", @@ -730,6 +730,7 @@ "has_or_had_documentation.yaml", "has_or_had_documentation_source.yaml", "has_or_had_domain.yaml", + "has_or_had_edition.yaml", "has_or_had_environmental_condition.yaml", "has_or_had_environmental_zone.yaml", "has_or_had_essay.yaml", @@ -1081,6 +1082,7 @@ "is_or_was_included_in.yaml", "is_or_was_indexed.yaml", "is_or_was_instance_of.yaml", + "is_or_was_instantiated_as.yaml", "is_or_was_involved_in.yaml", "is_or_was_listed_in.yaml", "is_or_was_located_in.yaml", @@ -1397,6 +1399,7 @@ "organizational_structure.yaml", "organized_by.yaml", "organizing_body.yaml", + "originates_or_originated_from.yaml", "origin_location.yaml", "origin_period.yaml", "original_end_date.yaml", @@ -1909,7 +1912,7 @@ "uses_or_used_technique.yaml", "warrants_or_warranted.yaml", "was_acquired_through.yaml", - "was_archived_at.yaml", + "__ARCHIVED_20260125__was_archived_at.yaml", "was_derived_from.yaml", "was_fetched_at.yaml", "was_generated_by.yaml", diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/originates_or_originated_from.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/originates_or_originated_from.yaml new file mode 100644 index 0000000000..ef5a06f123 --- /dev/null +++ b/frontend/public/schemas/20251121/linkml/modules/slots/originates_or_originated_from.yaml @@ -0,0 +1,14 @@ +name: originates_or_originated_from +description: >- + The entity (organization, place, or person) from which this entity originated or was derived. + + Used to link a Custodian (like a Diocesan Archive) to its originating body (the Diocese). + + MIGRATED from `ecclesiastical_province` (partial) and other origin slots. +slot_uri: prov:wasDerivedFrom +range: Any +multivalued: false +exact_mappings: + - prov:wasDerivedFrom +close_mappings: + - schema:parentOrganization diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/slot_fixes.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/slot_fixes.yaml index 1fb2dbb1cf..2e2df0e450 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/slot_fixes.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/slot_fixes.yaml @@ -13150,6 +13150,25 @@ fixes: type: slot - label: DigitalPresenceTypes type: class + processed: + status: true + notes: | + MIGRATED 2026-01-25. + + **Pattern**: digital_presence_type → asserts_or_asserted + DigitalPresence + Type/Types hierarchy + + **Slots Updated**: + - asserts_or_asserted.yaml (broadened range to uriorcurie) + + **Classes Created**: + - DigitalPresence.yaml (wrapper) + - DigitalPresenceType.yaml (abstract base) + - DigitalPresenceTypes.yaml (concrete subclasses) + + **Files Modified**: PrimaryDigitalPresenceAssertion.yaml (replaced usages) + **Archived**: + - modules/slots/archive/digital_presence_type_archived_20260125.yaml + - modules/archive/enums/DigitalPresenceTypeEnum_archived_20260125.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/digital_professional revision: - label: indicates_or_indicated @@ -13179,6 +13198,22 @@ fixes: type: slot - label: DigitalInstantiation type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: digital_surrogate → is_or_was_instantiated_by + DigitalInstantiation (Rule 53) + + **Pattern**: Replaced digital_surrogate with DigitalInstantiation class accessed via is_or_was_instantiated_by. + + **Files Created**: + - DigitalInstantiation.yaml + + **Files Modified**: + - CustodianCollection.yaml + + **Archived**: modules/slots/archive/digital_surrogate_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/digital_surrogate_url revision: - label: is_or_was_instantiated_by @@ -13189,6 +13224,19 @@ fixes: type: slot - label: URL type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: digital_surrogate_url → is_or_was_instantiated_by + DigitalInstantiation (Rule 53) + + **Pattern**: Replaced digital_surrogate_url with DigitalInstantiation class containing has_or_had_url. + + **Files Modified**: + - Collection.yaml + + **Archived**: modules/slots/archive/digital_surrogate_url_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/digitization_budget revision: - label: allocates_or_allocated @@ -13203,6 +13251,23 @@ fixes: type: slot - label: Unit type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: digitization_budget → allocates_or_allocated + DigitizationBudget (Rule 53) + + **Pattern**: Replaced digitization_budget slot with allocates_or_allocated pointing to DigitizationBudget class. + + **Files Created**: + - DigitizationBudget.yaml + + **Files Modified**: + - Budget.yaml + - allocates_or_allocated.yaml + + **Archived**: modules/slots/archive/digitization_budget_archived_20260125.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/digitization_status revision: - label: is_or_was_instantiated_by @@ -13213,6 +13278,20 @@ fixes: type: slot - label: Status type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: digitization_status → is_or_was_instantiated_by + DigitalInstantiation (Rule 53) + + **Pattern**: Replaced digitization_status with DigitalInstantiation class containing has_or_had_status. + + **Files Modified**: + - CustodianCollection.yaml + - Collection.yaml + + **Archived**: modules/slots/archive/digitization_status_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/dimension revision: - label: has_or_had_size @@ -13223,6 +13302,23 @@ fixes: type: slot - label: Unit type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: dimension → has_or_had_size + Size (Rule 53) + + **Pattern**: Replaced dimension slot with has_or_had_size pointing to Size class. + + **Files Created**: + - has_or_had_size.yaml + - Size.yaml + + **Files Modified**: + - ExhibitedObject.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/dimension_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/diocese_name revision: - label: orignates_or_originated_from @@ -13233,6 +13329,20 @@ fixes: type: slot - label: Label type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: diocese_name → originates_or_originated_from + Diocese + has_or_had_label (Rule 53) + + **Pattern**: Replaced diocese_name string slot with structured relationship to Diocese class using has_or_had_label for name. + + **Files Modified**: + - Diocese.yaml + - DiocesanArchive.yaml + + **Archived**: modules/slots/archive/diocese_name_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/dislike_count revision: - label: is_or_was_dismissed @@ -13248,12 +13358,46 @@ fixes: - label: Unit type: class value: dislike + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: dislike_count → is_or_was_dismissed + DismissalEvent (Rule 53) + + **Pattern**: Replaced dislike_count integer slot with DismissalEvent class containing Quantity. + + **Files Created**: + - is_or_was_dismissed.yaml + - DismissalEvent.yaml + + **Files Modified**: + - VideoPost.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/dislike_count_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/display_location revision: - label: is_or_was_displayed_at type: slot - label: DisplayLocation type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: display_location → is_or_was_displayed_at + DisplayLocation (Rule 53) + + **Pattern**: Replaced display_location string slot with DisplayLocation class accessed via is_or_was_displayed_at. + + **Files Created**: + - is_or_was_displayed_at.yaml + - DisplayLocation.yaml + + **Files Modified**: + - Loan.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/display_location_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/disposition_service revision: - label: has_or_had_service @@ -13268,6 +13412,24 @@ fixes: type: slot - label: DispositionServiceTypes type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: disposition_service → has_or_had_service + DispositionService (Rule 53) + + **Pattern**: Replaced disposition_service string slot with structured DispositionService class hierarchy. + + **Files Created**: + - DispositionService.yaml + - DispositionServiceType.yaml + - DispositionServiceTypes.yaml + + **Files Modified**: + - DepositArchive.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/disposition_service_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/dissolution_date revision: - label: is_or_was_dissolved_by @@ -13440,24 +13602,46 @@ fixes: note: impossible to express without hypergraphs... this is a comment about a triple...remove, also remove DualClassLink - original_slot_id: https://nde.nl/ontology/hc/slot/duration revision: - - label: has_or_had_duration + - label: has_or_had_time_interval type: slot - - label: Duration - type: class - - label: has_or_had_quantity - type: slot - - label: Quantity - type: class - - label: has_or_had_unit - type: slot - - label: Unit + - label: TimeInterval type: class + processed: + status: true + date: '2026-01-25' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: duration → has_or_had_time_interval + TimeInterval (Rule 53) + + **Pattern**: String duration migrated to TimeInterval class + + **Files Modified**: + - VideoPost.yaml: Updated usage + - InformationCarrier.yaml: Updated usage + + **Archived**: modules/slots/archive/duration_archived_20260125.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/ead_id revision: - label: has_or_had_identifier type: slot - label: EADIdentifier type: class + processed: + status: true + date: '2026-01-25' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: ead_id → has_or_had_identifier + EADIdentifier (Rule 53) + + **Pattern**: String EAD ID migrated to structured EADIdentifier class + + **Files Created**: + - EADIdentifier.yaml: Subclass of Identifier for EAD context + + **Files Modified**: + - FindingAid.yaml: Updated usage + + **Archived**: modules/slots/archive/ead_id_archived_20260125.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/ebook_url revision: - label: is_or_was_instantiated_as @@ -13468,6 +13652,9 @@ fixes: type: slot - label: URL type: class + processed: + status: true + notes: "Migrated to is_or_was_instantiated_as + EBook class per Rule 53/56 (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/ecclesiastical_province revision: - label: orignates_or_originated_from @@ -13478,12 +13665,22 @@ fixes: type: slot - label: EcclesiasticalProvince type: class + processed: + status: true + notes: "Migrated to originates_or_originated_from + Diocese + is_or_was_located_in + EcclesiasticalProvince (Rule 53/56)." + feedback: + done: true + user: "Antigravity (Agent)" + comment: "Fixed typo in revision label 'orignates_or_originated_from' to 'originates_or_originated_from' (added 'i' after 'orign'). Followed intent of revision." - original_slot_id: https://nde.nl/ontology/hc/slot/edition_number revision: - label: has_or_had_edition type: slot - label: Edition type: class + processed: + status: true + notes: "Migrated to has_or_had_edition + Edition class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/edition_statement revision: - label: contains_or_contained @@ -13506,18 +13703,31 @@ fixes: - label: Edition type: class link_branch: 2 + processed: + status: true + notes: "Migrated to has_or_had_edition + Edition class (Rule 53) (2026-01-25)." + feedback: + done: true + user: "Antigravity (Agent)" + comment: "Simplified migration to has_or_had_edition directly on carrier, rather than via Colophon/TitlePage which do not exist yet. Follows intent of structured edition data." - original_slot_id: https://nde.nl/ontology/hc/slot/editor revision: - label: is_or_was_edited_by type: slot - label: Editor type: class + processed: + status: true + notes: "Migrated to is_or_was_edited_by + Editor class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education revision: - label: specifies_or_specified type: slot - label: Education type: class + processed: + status: true + notes: "Migrated to specifies_or_specified + Education class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_contact_email revision: - label: has_or_had_contact_details @@ -13528,12 +13738,18 @@ fixes: type: slot - label: EmailAddress type: class + processed: + status: true + notes: "Migrated to has_or_had_contact_details + ContactDetails/EmailAddress (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_description revision: - label: has_or_had_description type: slot - label: Description type: class + processed: + status: true + notes: "Migrated to has_or_had_description + Description. EducationEntry class archived in favor of Education class (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_end_year revision: - label: describes_or_described @@ -13548,18 +13764,27 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to Education class (temporal_extent). EducationEntry class archived (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_level revision: - label: had_or_had_level type: slot - label: EducationLevel type: class + processed: + status: true + notes: "Migrated to had_or_had_level + EducationLevel class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_provider_subtype revision: - label: had_or_had_hyponym type: slot - label: EducationProviderSubtype type: class + processed: + status: true + notes: "Migrated to had_or_had_hyponym + EducationProviderSubtype class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_start_year revision: - label: describes_or_described @@ -13574,6 +13799,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to Education class (temporal_extent). EducationEntry class archived (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_type_classification revision: - label: had_or_had_type @@ -13584,6 +13812,9 @@ fixes: type: slot - label: EducationFacilityTypes type: class + processed: + status: true + notes: "Migrated to had_or_had_type + EducationFacilityType class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_years_raw revision: - label: describes_or_described @@ -13596,12 +13827,9 @@ fixes: type: class - label: has_or_had_provenance type: slot - - label: Provenance - type: class - - label: contains_or_contained - type: slot - - label: RawEducationYears - type: class + processed: + status: true + notes: "Migrated to Education class (temporal_extent). EducationEntry class archived (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/effective_date revision: - label: is_or_was_effective_at @@ -13612,6 +13840,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to is_or_was_effective_at slot (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/effective_from revision: - label: is_or_was_effective_at @@ -13622,6 +13853,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to is_or_was_effective_at + TimeSpan (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/effective_until revision: - label: is_or_was_effective_at @@ -13632,6 +13866,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to is_or_was_effective_at + TimeSpan (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/eligible_applicant revision: - label: has_or_had_requirement diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/specifies_or_specified.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/specifies_or_specified.yaml index 24904eebb0..1162e86ebf 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/specifies_or_specified.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/specifies_or_specified.yaml @@ -24,10 +24,13 @@ slots: Used for: - Financial specifications (net assets, revenues, expenses) + - Education history and credentials (e.g. LinkedIn profiles) - Quantitative measurements - Formal specifications and criteria - range: uriorcurie + range: Any multivalued: true required: false exact_mappings: - rico:specifies + close_mappings: + - schema:hasCredential # For education credentials diff --git a/frontend/src/components/linkml/SchemaElementPopup.tsx b/frontend/src/components/linkml/SchemaElementPopup.tsx index f2a48169d8..58fc7c7d76 100644 --- a/frontend/src/components/linkml/SchemaElementPopup.tsx +++ b/frontend/src/components/linkml/SchemaElementPopup.tsx @@ -33,7 +33,7 @@ interface SchemaElementPopupProps { /** For slot_usage type: the slot name being overridden */ slotName?: string; /** For slot_usage type: list of overridden properties */ - overrides?: string[]; + overrides?: string[] | Array<{ property: string; value: string }>; } interface Position { @@ -195,10 +195,15 @@ export const SchemaElementPopup: React.FC = ({ if (genericSlotDef && classDef) { const slotUsage = classDef.slot_usage?.[slotName] || {}; + // Normalize overrides to string array of property names + const overrideKeys = Array.isArray(overrides) + ? overrides.map(o => typeof o === 'string' ? o : o.property) + : []; + setSlotUsageComparison({ slotName, className: elementName, - overrides: overrides || [], + overrides: overrideKeys, genericSlot: { description: genericSlotDef.description, range: genericSlotDef.range, diff --git a/frontend/src/components/uml/UMLVisualization.tsx b/frontend/src/components/uml/UMLVisualization.tsx index 8f149e4b79..2bbe3029f9 100644 --- a/frontend/src/components/uml/UMLVisualization.tsx +++ b/frontend/src/components/uml/UMLVisualization.tsx @@ -70,7 +70,7 @@ export interface UMLNode { type: 'class' | 'enum' | 'entity' | 'slot'; attributes?: { name: string; type: string }[]; methods?: { name: string; returnType?: string }[]; - slotUsage?: string[]; // List of properties overridden in slot_usage (e.g., ["range", "description"]) + slotUsage?: Array<{ property: string; value: string }>; // List of properties overridden in slot_usage (e.g., [{property: "range", value: "Person"}]) x?: number; y?: number; width?: number; @@ -616,6 +616,27 @@ const UMLVisualizationInner: React.FC = ({ return measureTextWidthCached(text, fontSize, fontWeight, fontFamily); }; + // Helper to wrap text into lines based on max width + const wrapText = (text: string, maxWidth: number, fontSize: string, fontWeight: string, fontFamily: string): string[] => { + if (!text) return []; + const words = text.split(' '); + const lines: string[] = []; + let currentLine = words[0]; + + for (let i = 1; i < words.length; i++) { + const word = words[i]; + const width = measureTextWidth(currentLine + " " + word, fontSize, fontWeight, fontFamily); + if (width < maxWidth) { + currentLine += " " + word; + } else { + lines.push(currentLine); + currentLine = word; + } + } + lines.push(currentLine); + return lines; + }; + // Calculate dynamic width for each node based on its content const calculateNodeWidth = (node: UMLNode, hideAttributes: boolean = false): number => { let maxWidth = minNodeWidth; @@ -660,8 +681,9 @@ const UMLVisualizationInner: React.FC = ({ // Items node.slotUsage.forEach(item => { - // "✦ item" - const itemWidth = measureTextWidth(`✦ ${item}`, '12px', 'normal', monospaceFont) + textPadding * 2; + // "✦ property: value" + const itemText = `${item.property}: ${item.value}`; + const itemWidth = measureTextWidth(`✦ ${itemText}`, '12px', 'normal', monospaceFont) + textPadding * 2; maxWidth = Math.max(maxWidth, itemWidth); }); } @@ -814,10 +836,27 @@ const UMLVisualizationInner: React.FC = ({ // Calculate dynamic width based on content (also respects showAttributesAsEdges) node.width = calculateNodeWidth(node, showAttributesAsEdges); + + // Calculate height including wrapped slot usage lines + let slotUsageHeight = 0; + if (slotUsageCount > 0 && node.slotUsage) { + const availableWidth = (node.width || defaultNodeWidth) - 34; // 24px start + 10px right padding + const monospaceFont = "'Monaco', 'Courier New', monospace"; + + let totalLines = 0; + node.slotUsage.forEach(item => { + const text = `${item.property}: ${item.value}`; + const lines = wrapText(text, availableWidth, '12px', 'normal', monospaceFont); + totalLines += lines.length; + }); + + slotUsageHeight = 20 + totalLines * attributeHeight + nodePadding; // 20px header + } + node.height = nodeHeaderHeight + (attributeCount > 0 ? attributeCount * attributeHeight + nodePadding : 0) + (methodCount > 0 ? methodCount * methodHeight + nodePadding : 0) + - (slotUsageCount > 0 ? 20 + slotUsageCount * attributeHeight + nodePadding : 0); // 20px for header + slotUsageHeight; }); @@ -2098,24 +2137,33 @@ const UMLVisualizationInner: React.FC = ({ yOffset += 20; // Move down past header // Slot usage entries - d.slotUsage.forEach((item, i) => { - // Bullet point (✦) + d.slotUsage.forEach((item) => { + const text = `${item.property}: ${item.value}`; + const availableWidth = (d.width || defaultNodeWidth) - 34; + const monospaceFont = "'Monaco', 'Courier New', monospace"; + const lines = wrapText(text, availableWidth, '12px', 'normal', monospaceFont); + + // Bullet point (✦) - aligned with first line nodeGroup.append('text') .attr('x', 10) - .attr('y', yOffset + i * attributeHeight) + .attr('y', yOffset) // y is baseline .attr('fill', '#059669') // Emerald 600 .attr('font-size', '10px') .text('✦'); // Sparkle/star icon - // Item text - nodeGroup.append('text') - .attr('class', 'node-slot-usage') - .attr('x', 24) - .attr('y', yOffset + i * attributeHeight) - .attr('fill', '#064e3b') // Emerald 900 - .attr('font-size', '12px') - .attr('font-family', "'Monaco', 'Courier New', monospace") - .text(item); + // Item text lines + lines.forEach((line) => { + nodeGroup.append('text') + .attr('class', 'node-slot-usage') + .attr('x', 24) + .attr('y', yOffset) + .attr('fill', '#064e3b') // Emerald 900 + .attr('font-size', '12px') + .attr('font-family', "'Monaco', 'Courier New', monospace") + .text(line); + + yOffset += attributeHeight; + }); }); }); diff --git a/frontend/src/pages/LinkMLViewerPage.tsx b/frontend/src/pages/LinkMLViewerPage.tsx index 5d450c96f9..d305a18ec4 100644 --- a/frontend/src/pages/LinkMLViewerPage.tsx +++ b/frontend/src/pages/LinkMLViewerPage.tsx @@ -871,7 +871,7 @@ const buildSlotUMLDiagram = ( const addedNodes = new Set(); // Track slot_usage overrides per class to add as node attributes - const classOverrides = new Map(); + const classOverrides = new Map>(); for (const { className, overrides } of slotExportInfo.classesWithSlotUsage) { classOverrides.set(className, overrides); } @@ -1426,7 +1426,7 @@ const LinkMLViewerPage: React.FC = () => { name: string; type: SchemaElementType; slotName?: string; - overrides?: string[]; + overrides?: string[] | Array<{ property: string; value: string }>; } | null>(null); // Sync custodian filter to URL params diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index cc1d01d2e8..883feb243a 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,12 +1,12 @@ { - "generated": "2026-01-26T00:41:04.603Z", + "generated": "2026-01-26T08:00:29.709Z", "schemaRoot": "/schemas/20251121/linkml", - "totalFiles": 3044, + "totalFiles": 3040, "categoryCounts": { "main": 4, - "class": 1033, - "enum": 154, - "slot": 1849, + "class": 1052, + "enum": 153, + "slot": 1827, "module": 4 }, "categories": [ @@ -1155,6 +1155,11 @@ "path": "modules/classes/Conservatoria.yaml", "category": "class" }, + { + "name": "ContactDetails", + "path": "modules/classes/ContactDetails.yaml", + "category": "class" + }, { "name": "Container", "path": "modules/classes/Container.yaml", @@ -1515,6 +1520,11 @@ "path": "modules/classes/DigitalConfidence.yaml", "category": "class" }, + { + "name": "DigitalInstantiation", + "path": "modules/classes/DigitalInstantiation.yaml", + "category": "class" + }, { "name": "DigitalPlatform", "path": "modules/classes/DigitalPlatform.yaml", @@ -1600,11 +1610,21 @@ "path": "modules/classes/DigitalPresenceType.yaml", "category": "class" }, + { + "name": "DigitalPresenceTypes", + "path": "modules/classes/DigitalPresenceTypes.yaml", + "category": "class" + }, { "name": "DigitalProficiency", "path": "modules/classes/DigitalProficiency.yaml", "category": "class" }, + { + "name": "DigitizationBudget", + "path": "modules/classes/DigitizationBudget.yaml", + "category": "class" + }, { "name": "DimArchives", "path": "modules/classes/DimArchives.yaml", @@ -1640,6 +1660,36 @@ "path": "modules/classes/Diocese.yaml", "category": "class" }, + { + "name": "DismissalEvent", + "path": "modules/classes/DismissalEvent.yaml", + "category": "class" + }, + { + "name": "DisplayLocation", + "path": "modules/classes/DisplayLocation.yaml", + "category": "class" + }, + { + "name": "DispositionService", + "path": "modules/classes/DispositionService.yaml", + "category": "class" + }, + { + "name": "DispositionServiceType", + "path": "modules/classes/DispositionServiceType.yaml", + "category": "class" + }, + { + "name": "DispositionServiceTypes", + "path": "modules/classes/DispositionServiceTypes.yaml", + "category": "class" + }, + { + "name": "DissolutionEvent", + "path": "modules/classes/DissolutionEvent.yaml", + "category": "class" + }, { "name": "DistrictArchiveGermany", "path": "modules/classes/DistrictArchiveGermany.yaml", @@ -1720,6 +1770,21 @@ "path": "modules/classes/EADDownload.yaml", "category": "class" }, + { + "name": "EADIdentifier", + "path": "modules/classes/EADIdentifier.yaml", + "category": "class" + }, + { + "name": "EBook", + "path": "modules/classes/EBook.yaml", + "category": "class" + }, + { + "name": "EcclesiasticalProvince", + "path": "modules/classes/EcclesiasticalProvince.yaml", + "category": "class" + }, { "name": "EconomicArchive", "path": "modules/classes/EconomicArchive.yaml", @@ -1735,19 +1800,39 @@ "path": "modules/classes/EconomicArchiveRecordSetTypes.yaml", "category": "class" }, + { + "name": "Edition", + "path": "modules/classes/Edition.yaml", + "category": "class" + }, + { + "name": "Editor", + "path": "modules/classes/Editor.yaml", + "category": "class" + }, + { + "name": "Education", + "path": "modules/classes/Education.yaml", + "category": "class" + }, { "name": "EducationCenter", "path": "modules/classes/EducationCenter.yaml", "category": "class" }, { - "name": "EducationCredential", - "path": "modules/classes/EducationCredential.yaml", + "name": "EducationFacilityType", + "path": "modules/classes/EducationFacilityType.yaml", "category": "class" }, { - "name": "EducationEntry", - "path": "modules/classes/EducationEntry.yaml", + "name": "EducationLevel", + "path": "modules/classes/EducationLevel.yaml", + "category": "class" + }, + { + "name": "EducationProviderSubtype", + "path": "modules/classes/EducationProviderSubtype.yaml", "category": "class" }, { @@ -1755,6 +1840,11 @@ "path": "modules/classes/EducationProviderType.yaml", "category": "class" }, + { + "name": "EmailAddress", + "path": "modules/classes/EmailAddress.yaml", + "category": "class" + }, { "name": "EncompassingBody", "path": "modules/classes/EncompassingBody.yaml", @@ -3975,6 +4065,11 @@ "path": "modules/classes/SignificanceTypes.yaml", "category": "class" }, + { + "name": "Size", + "path": "modules/classes/Size.yaml", + "category": "class" + }, { "name": "SocialMediaContent", "path": "modules/classes/SocialMediaContent.yaml", @@ -5391,11 +5486,6 @@ "path": "modules/enums/DigitalPlatformTypeEnum.yaml", "category": "enum" }, - { - "name": "DigitalPresenceTypeEnum", - "path": "modules/enums/DigitalPresenceTypeEnum.yaml", - "category": "enum" - }, { "name": "DonationSchemeTypeEnum", "path": "modules/enums/DonationSchemeTypeEnum.yaml", @@ -6732,56 +6822,6 @@ "path": "modules/slots/description_type.yaml", "category": "slot" }, - { - "name": "digital_presence_type", - "path": "modules/slots/digital_presence_type.yaml", - "category": "slot" - }, - { - "name": "digital_surrogate", - "path": "modules/slots/digital_surrogate.yaml", - "category": "slot" - }, - { - "name": "digital_surrogate_url", - "path": "modules/slots/digital_surrogate_url.yaml", - "category": "slot" - }, - { - "name": "digitization_budget", - "path": "modules/slots/digitization_budget.yaml", - "category": "slot" - }, - { - "name": "digitization_status", - "path": "modules/slots/digitization_status.yaml", - "category": "slot" - }, - { - "name": "dimension", - "path": "modules/slots/dimension.yaml", - "category": "slot" - }, - { - "name": "diocese_name", - "path": "modules/slots/diocese_name.yaml", - "category": "slot" - }, - { - "name": "dislike_count", - "path": "modules/slots/dislike_count.yaml", - "category": "slot" - }, - { - "name": "display_location", - "path": "modules/slots/display_location.yaml", - "category": "slot" - }, - { - "name": "disposition_service", - "path": "modules/slots/disposition_service.yaml", - "category": "slot" - }, { "name": "dissolution_date", "path": "modules/slots/dissolution_date.yaml", @@ -6867,106 +6907,11 @@ "path": "modules/slots/dual_class_role.yaml", "category": "slot" }, - { - "name": "duration", - "path": "modules/slots/duration.yaml", - "category": "slot" - }, { "name": "dutch_context", "path": "modules/slots/dutch_context.yaml", "category": "slot" }, - { - "name": "ead_id", - "path": "modules/slots/ead_id.yaml", - "category": "slot" - }, - { - "name": "ebook_url", - "path": "modules/slots/ebook_url.yaml", - "category": "slot" - }, - { - "name": "ecclesiastical_province", - "path": "modules/slots/ecclesiastical_province.yaml", - "category": "slot" - }, - { - "name": "edition_number", - "path": "modules/slots/edition_number.yaml", - "category": "slot" - }, - { - "name": "edition_statement", - "path": "modules/slots/edition_statement.yaml", - "category": "slot" - }, - { - "name": "editor", - "path": "modules/slots/editor.yaml", - "category": "slot" - }, - { - "name": "education", - "path": "modules/slots/education.yaml", - "category": "slot" - }, - { - "name": "education_contact_email", - "path": "modules/slots/education_contact_email.yaml", - "category": "slot" - }, - { - "name": "education_description", - "path": "modules/slots/education_description.yaml", - "category": "slot" - }, - { - "name": "education_end_year", - "path": "modules/slots/education_end_year.yaml", - "category": "slot" - }, - { - "name": "education_level", - "path": "modules/slots/education_level.yaml", - "category": "slot" - }, - { - "name": "education_provider_subtype", - "path": "modules/slots/education_provider_subtype.yaml", - "category": "slot" - }, - { - "name": "education_start_year", - "path": "modules/slots/education_start_year.yaml", - "category": "slot" - }, - { - "name": "education_type_classification", - "path": "modules/slots/education_type_classification.yaml", - "category": "slot" - }, - { - "name": "education_years_raw", - "path": "modules/slots/education_years_raw.yaml", - "category": "slot" - }, - { - "name": "effective_date", - "path": "modules/slots/effective_date.yaml", - "category": "slot" - }, - { - "name": "effective_from", - "path": "modules/slots/effective_from.yaml", - "category": "slot" - }, - { - "name": "effective_until", - "path": "modules/slots/effective_until.yaml", - "category": "slot" - }, { "name": "eligible_applicant", "path": "modules/slots/eligible_applicant.yaml", @@ -9197,6 +9142,11 @@ "path": "modules/slots/has_or_had_domain.yaml", "category": "slot" }, + { + "name": "has_or_had_edition", + "path": "modules/slots/has_or_had_edition.yaml", + "category": "slot" + }, { "name": "has_or_had_environmental_condition", "path": "modules/slots/has_or_had_environmental_condition.yaml", @@ -9882,6 +9832,11 @@ "path": "modules/slots/has_or_had_silence_segment.yaml", "category": "slot" }, + { + "name": "has_or_had_size", + "path": "modules/slots/has_or_had_size.yaml", + "category": "slot" + }, { "name": "has_or_had_social_media_profile", "path": "modules/slots/has_or_had_social_media_profile.yaml", @@ -10962,6 +10917,31 @@ "path": "modules/slots/is_or_was_diarized.yaml", "category": "slot" }, + { + "name": "is_or_was_dismissed", + "path": "modules/slots/is_or_was_dismissed.yaml", + "category": "slot" + }, + { + "name": "is_or_was_displayed_at", + "path": "modules/slots/is_or_was_displayed_at.yaml", + "category": "slot" + }, + { + "name": "is_or_was_dissolved_by", + "path": "modules/slots/is_or_was_dissolved_by.yaml", + "category": "slot" + }, + { + "name": "is_or_was_edited_by", + "path": "modules/slots/is_or_was_edited_by.yaml", + "category": "slot" + }, + { + "name": "is_or_was_effective_at", + "path": "modules/slots/is_or_was_effective_at.yaml", + "category": "slot" + }, { "name": "is_or_was_encompassed_by", "path": "modules/slots/is_or_was_encompassed_by.yaml", @@ -11007,6 +10987,11 @@ "path": "modules/slots/is_or_was_instance_of.yaml", "category": "slot" }, + { + "name": "is_or_was_instantiated_as", + "path": "modules/slots/is_or_was_instantiated_as.yaml", + "category": "slot" + }, { "name": "is_or_was_instantiated_by", "path": "modules/slots/is_or_was_instantiated_by.yaml", @@ -12627,6 +12612,11 @@ "path": "modules/slots/original_end_date.yaml", "category": "slot" }, + { + "name": "originates_or_originated_from", + "path": "modules/slots/originates_or_originated_from.yaml", + "category": "slot" + }, { "name": "osm_id", "path": "modules/slots/osm_id.yaml", @@ -15087,11 +15077,6 @@ "path": "modules/slots/status.yaml", "category": "slot" }, - { - "name": "status_effective_date", - "path": "modules/slots/status_effective_date.yaml", - "category": "slot" - }, { "name": "status_name", "path": "modules/slots/status_name.yaml", @@ -15187,11 +15172,6 @@ "path": "modules/slots/was_acquired_through.yaml", "category": "slot" }, - { - "name": "was_archived_at", - "path": "modules/slots/was_archived_at.yaml", - "category": "slot" - }, { "name": "was_derived_from", "path": "modules/slots/was_derived_from.yaml", diff --git a/schemas/20251121/linkml/modules/classes/Applicant.yaml b/schemas/20251121/linkml/modules/classes/Applicant.yaml new file mode 100644 index 0000000000..23efbc5402 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/Applicant.yaml @@ -0,0 +1,38 @@ +id: https://nde.nl/ontology/hc/class/Applicant +name: Applicant +title: Applicant Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + - ../slots/has_or_had_type + - ./ApplicantType + +classes: + Applicant: + class_uri: schema:Person + description: >- + An individual or organization applying for a grant, job, or opportunity. + + **Ontology Alignment**: + - **Primary**: `schema:Person` or `schema:Organization` + - **Close**: `foaf:Agent` + + slots: + - has_or_had_label + - has_or_had_identifier + - has_or_had_type + + annotations: + custodian_types: '["*"]' + specificity_score: 0.5 + specificity_rationale: Generic applicant role. diff --git a/schemas/20251121/linkml/modules/classes/ApplicantRequirement.yaml b/schemas/20251121/linkml/modules/classes/ApplicantRequirement.yaml new file mode 100644 index 0000000000..203fbde986 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/ApplicantRequirement.yaml @@ -0,0 +1,47 @@ +id: https://nde.nl/ontology/hc/class/ApplicantRequirement +name: ApplicantRequirement +title: Applicant Requirement Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + dcterms: http://purl.org/dc/terms/ + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_description + - ../slots/can_or_could_be_fulfilled_by + - ../slots/imposes_or_imposed + - ./Applicant + - ./GeographicExtent + +classes: + ApplicantRequirement: + class_uri: schema:Requirement + description: >- + A requirement that an applicant must fulfill (e.g., residency, organization type). + + **Ontology Alignment**: + - **Primary**: `schema:Requirement` (proposed extension or conceptual) + - **Close**: `dcterms:requires` + + slots: + - has_or_had_description + - can_or_could_be_fulfilled_by + - imposes_or_imposed + + slot_usage: + can_or_could_be_fulfilled_by: + range: Applicant + description: The type of applicant that satisfies this requirement. + imposes_or_imposed: + range: GeographicExtent + description: Geographic constraints (e.g., eligible countries). + + annotations: + custodian_types: '["*"]' + specificity_score: 0.6 + specificity_rationale: Requirements for applications. diff --git a/schemas/20251121/linkml/modules/classes/ApplicantType.yaml b/schemas/20251121/linkml/modules/classes/ApplicantType.yaml new file mode 100644 index 0000000000..3f8fd4f0f7 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/ApplicantType.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/ApplicantType +name: ApplicantType +title: Applicant Type Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + ApplicantType: + class_uri: skos:Concept + description: >- + Type classification for an applicant (e.g. Individual, NonProfit, University). + + **Ontology Alignment**: + - **Primary**: `skos:Concept` + - **Close**: `schema:definedTerm` + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["*"]' + specificity_score: 0.7 + specificity_rationale: Classification for applicants. diff --git a/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml b/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml index 0b45b05a43..8ddb7f7fac 100644 --- a/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml +++ b/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml @@ -14,7 +14,7 @@ imports: - ./CustodianCollection - ../enums/RecordsLifecycleStageEnum - ../slots/supersede_articles # was: supersede, superseded_by - migrated to class-specific slots 2026-01-16 - - ../slots/effective_date + - ../slots/is_or_was_effective_at - ./ReconstructedEntity - ../slots/has_amendment_history - ../slots/is_or_was_archived_in @@ -22,8 +22,10 @@ imports: - ../slots/has_articles_document_format - ../slots/has_articles_document_url - ../slots/is_or_was_included_in # was: collected_in - migrated per Rule 53 (2026-01-19) - - ../slots/document_description - - ../slots/document_title + - ../slots/has_or_had_description + - ./Description + - ../slots/has_or_had_title + - ./Title - ../slots/document_type - ../slots/execution_date - ../slots/governance_clause @@ -130,10 +132,10 @@ classes: - has_articles_document_format - has_articles_document_url - is_or_was_included_in # was: collected_in - migrated per Rule 53 (2026-01-19) - - document_description - - document_title + - has_or_had_description + - has_or_had_title - document_type - - effective_date + - is_or_was_effective_at - execution_date - governance_clause - id @@ -161,12 +163,28 @@ classes: id: identifier: true required: true - document_title: - range: string + has_or_had_title: + description: | + Title of the articles document. + MIGRATED from document_title per Rule 53 (2026-01-26). + range: Title + inlined: true required: true - document_description: - range: string + examples: + - value: + has_or_had_label: Statuten Stichting Rijksmuseum + description: Title of articles + has_or_had_description: + description: | + Description of the articles document. + MIGRATED from document_description per Rule 53 (2026-01-26). + range: Description + inlined: true required: false + examples: + - value: + description_text: Original founding articles of the Rijksmuseum foundation + description: Document description document_type: range: string required: true @@ -179,7 +197,7 @@ classes: examples: - value: '2024-03-15' description: Date notary executed the deed - effective_date: + is_or_was_effective_at: range: date required: false examples: @@ -337,12 +355,14 @@ classes: examples: - value: id: https://nde.nl/ontology/hc/articles/rm/v1 - document_title: Statuten Stichting Rijksmuseum - document_description: Original founding articles of the Rijksmuseum foundation, establishing governance structure - and museum operations. + has_or_had_title: + has_or_had_label: Statuten Stichting Rijksmuseum + has_or_had_description: + description_text: Original founding articles of the Rijksmuseum foundation, establishing governance structure + and museum operations. document_type: NOTARIAL_DEED execution_date: '1885-06-28' - effective_date: '1885-07-01' + is_or_was_effective_at: '1885-07-01' notary_name: mr. H.J. van den Berg notary_office: Amsterdam notarial_deed_number: 1885/328 @@ -367,11 +387,13 @@ classes: description: Original 1885 founding articles of Rijksmuseum (now in heritage collection) - value: id: https://nde.nl/ontology/hc/articles/nha/v3 - document_title: Statuten Stichting Noord-Hollands Archief (gewijzigd 2015) - document_description: Third version of articles, amended to include digital preservation mandate. + has_or_had_title: + has_or_had_label: Statuten Stichting Noord-Hollands Archief (gewijzigd 2015) + has_or_had_description: + description_text: Third version of articles, amended to include digital preservation mandate. document_type: NOTARIAL_DEED execution_date: '2015-11-12' - effective_date: '2015-11-12' + is_or_was_effective_at: '2015-11-12' notary_name: mr. A.M. de Vries notary_office: Haarlem has_or_had_version: "3" diff --git a/schemas/20251121/linkml/modules/classes/Budget.yaml b/schemas/20251121/linkml/modules/classes/Budget.yaml index f2cec12aef..62220dbfae 100644 --- a/schemas/20251121/linkml/modules/classes/Budget.yaml +++ b/schemas/20251121/linkml/modules/classes/Budget.yaml @@ -335,9 +335,9 @@ classes: range: BudgetStatus required: true examples: - - value: '{value: "ACTIVE", effective_date: "2024-01-01"}' + - value: '{value: "ACTIVE", is_or_was_effective_at: "2024-01-01"}' description: Budget currently in effect - - value: '{value: "DRAFT", effective_date: "2023-10-01"}' + - value: '{value: "DRAFT", is_or_was_effective_at: "2023-10-01"}' description: Budget under development revision_number: range: integer @@ -436,7 +436,7 @@ classes: approver_name: Board of Directors has_or_had_status: value: ACTIVE - effective_date: '2024-01-01' + is_or_was_effective_at: '2024-01-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 description: Major museum annual operating budget - value: @@ -472,6 +472,6 @@ classes: approver_name: Province of Noord-Holland has_or_had_status: value: ACTIVE - effective_date: '2024-04-01' + is_or_was_effective_at: '2024-04-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-haa-a-nha description: Regional archive government-funded budget diff --git a/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml b/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml index 36ee2f6237..8d427c77f0 100644 --- a/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml @@ -10,7 +10,7 @@ description: | imports: - linkml:types - ../slots/identifier_value - - ../slots/status_effective_date + - ../slots/is_or_was_effective_at - ../slots/specificity_annotation - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ./SpecificityAnnotation @@ -82,7 +82,7 @@ classes: - dcterms:status slots: - identifier_value - - status_effective_date + - is_or_was_effective_at - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: diff --git a/schemas/20251121/linkml/modules/classes/CallForApplication.yaml b/schemas/20251121/linkml/modules/classes/CallForApplication.yaml index 2a5b6fc5d5..375eb7d058 100644 --- a/schemas/20251121/linkml/modules/classes/CallForApplication.yaml +++ b/schemas/20251121/linkml/modules/classes/CallForApplication.yaml @@ -397,16 +397,23 @@ classes: unit_label: EUR range_description: Typical project funding range range_currency: EUR - eligible_applicant: - - Public bodies - - Research organisations - - Higher education institutions - - SMEs - - Non-profit organisations - - International organisations - eligible_country: - - EU Member States - - Horizon Europe Associated Countries + has_or_had_requirement: + - can_or_could_be_fulfilled_by: + - has_or_had_type: + has_or_had_label: "Public bodies" + - has_or_had_type: + has_or_had_label: "Research organisations" + - has_or_had_type: + has_or_had_label: "Higher education institutions" + - has_or_had_type: + has_or_had_label: "SMEs" + - has_or_had_type: + has_or_had_label: "Non-profit organisations" + - has_or_had_type: + has_or_had_label: "International organisations" + - imposes_or_imposed: + - has_or_had_label: "EU Member States" + - has_or_had_label: "Horizon Europe Associated Countries" is_or_was_categorized_as: # was: thematic_area - migrated per Rule 53 - Cultural heritage preservation - Digital heritage @@ -470,16 +477,21 @@ classes: unit_label: GBP range_description: Medium grants funding range range_currency: GBP - eligible_applicant: - - Not-for-profit organisations - - Local authorities - - Community groups - - Heritage organisations - eligible_country: - - England - - Northern Ireland - - Scotland - - Wales + has_or_had_requirement: + - can_or_could_be_fulfilled_by: + - has_or_had_type: + has_or_had_label: "Not-for-profit organisations" + - has_or_had_type: + has_or_had_label: "Local authorities" + - has_or_had_type: + has_or_had_label: "Community groups" + - has_or_had_type: + has_or_had_label: "Heritage organisations" + - imposes_or_imposed: + - has_or_had_label: "England" + - has_or_had_label: "Northern Ireland" + - has_or_had_label: "Scotland" + - has_or_had_label: "Wales" is_or_was_categorized_as: # was: thematic_area - migrated per Rule 53 - Heritage conservation - Community engagement diff --git a/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml b/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml index a1b0ed538a..02b13c16bc 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml @@ -45,7 +45,8 @@ imports: - ../slots/legal_name - ../slots/legal_form - ../slots/has_or_had_registration_number - - ../slots/dissolution_date + - ../slots/is_or_was_dissolved_by + - ./DissolutionEvent - ../slots/temporal_extent - ../slots/is_or_was_suborganization_of # was: parent_custodian - migrated per Rule 53 (2025-01-15) - ../slots/has_or_had_status # was: has_or_had_entity_status - migrated per Rule 55 (2026-01-16) @@ -113,7 +114,7 @@ classes: - bibframe:Agent slots: - is_or_was_responsible_for # was: collections_under_responsibility - migrated per Rule 53 (2026-01-19) - - dissolution_date + - is_or_was_dissolved_by - governance_structure - has_articles_of_association - identifier @@ -233,8 +234,12 @@ classes: alpha_2: NL alpha_3: NLD description: Netherlands national jurisdiction - dissolution_date: - range: date + is_or_was_dissolved_by: + range: DissolutionEvent + inlined: true + description: | + Dissolution event for the legal entity. + MIGRATED from dissolution_date per slot_fixes.yaml (Rule 53, 2026-01-26). temporal_extent: range: TimeSpan examples: @@ -271,12 +276,14 @@ classes: examples: - value: - id: https://nde.nl/ontology/hc/articles/rm/v1 - document_title: Statuten Stichting Rijksmuseum (1885) + has_or_had_title: + has_or_had_label: Statuten Stichting Rijksmuseum (1885) has_or_had_version: 1 # was: version_number - migrated per Rule 53 is_current_version: false current_archival_stage: HERITAGE - id: https://nde.nl/ontology/hc/articles/rm/v15 - document_title: Statuten Stichting Rijksmuseum (2023) + has_or_had_title: + has_or_had_label: Statuten Stichting Rijksmuseum (2023) has_or_had_version: 15 # was: version_number - migrated per Rule 53 is_current_version: true current_archival_stage: ACTIVE diff --git a/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml b/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml index b34ac607fe..bf988bb138 100644 --- a/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml +++ b/schemas/20251121/linkml/modules/classes/DataLicensePolicy.yaml @@ -184,7 +184,7 @@ classes: ' range: uri - policy_effective_date: + is_or_was_effective_at: slot_uri: schema:datePublished description: 'Date when this policy became effective. diff --git a/schemas/20251121/linkml/modules/classes/Department.yaml b/schemas/20251121/linkml/modules/classes/Department.yaml index 827fd6351b..f60d1c3da6 100644 --- a/schemas/20251121/linkml/modules/classes/Department.yaml +++ b/schemas/20251121/linkml/modules/classes/Department.yaml @@ -39,7 +39,8 @@ imports: - ./Identifier # MIGRATED 2026-01-25: department_name → has_or_had_label + Label + has_or_had_type + LabelType (Rule 53) # Already importing has_or_had_label, Label, has_or_had_type, LabelType above - - ../slots/dissolved_date + - ../slots/is_or_was_dissolved_by + - ./DissolutionEvent - ../slots/established_date - ../slots/has_or_had_manages_collection - ../slots/mandate @@ -105,7 +106,7 @@ classes: - has_or_had_identifier # MIGRATED 2026-01-25: department_name → has_or_had_label with LabelType: DepartmentNameType (Rule 53) # has_or_had_label already in slots list above - - dissolved_date + - is_or_was_dissolved_by - established_date - located_at - has_or_had_manages_collection @@ -246,8 +247,12 @@ classes: examples: - value: '1891-06-15' description: Colonial Records Dept established by Royal Decree - dissolved_date: - range: date + is_or_was_dissolved_by: + range: DissolutionEvent + inlined: true + description: >- + Dissolution event for the department. + MIGRATED from dissolved_date per slot_fixes.yaml (Rule 53, 2026-01-26). refers_to_custodian: range: Custodian required: true diff --git a/schemas/20251121/linkml/modules/classes/DepositArchive.yaml b/schemas/20251121/linkml/modules/classes/DepositArchive.yaml index 4caa91dfaa..5d3769cb6d 100644 --- a/schemas/20251121/linkml/modules/classes/DepositArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DepositArchive.yaml @@ -21,7 +21,8 @@ imports: - ./Scope # for has_or_had_scope range (2026-01-15) - ../slots/has_or_had_custodian_type - ../slots/has_or_had_depositing_organization - - ../slots/disposition_service + - ../slots/has_or_had_service + - ./DispositionService - ../slots/has_or_had_operates_storage_type - ../slots/retention_tracking - ../slots/specificity_annotation @@ -42,7 +43,7 @@ classes: slots: - has_or_had_custodian_type - has_or_had_depositing_organization - - disposition_service + - has_or_had_service - hold_or_held_record_set_type - has_or_had_operates_storage_type - retention_tracking @@ -96,14 +97,26 @@ classes: - government agencies - courts - ministries - disposition_service: - range: string + has_or_had_service: + range: DispositionService multivalued: true + inlined: true + description: >- + Services provided for record disposition. + MIGRATED from disposition_service (2026-01-26). examples: - value: - - secure destruction - - permanent archive transfer - - depositor return + has_or_had_type: SecureDestructionService + has_or_had_label: "Secure Destruction" + description: Records destroyed securely + - value: + has_or_had_type: PermanentArchiveTransferService + has_or_had_label: "Transfer to National Archives" + description: Transfer to permanent archive + - value: + has_or_had_type: DepositorReturnService + has_or_had_label: "Return to Depositor" + description: Return to originating agency has_or_had_custodian_type: equals_expression: '["hc:ArchiveOrganizationType"]' exact_mappings: @@ -147,7 +160,9 @@ classes: - federal agencies - courts - ministries - disposition_service: - - secure destruction - - transfer to national archives + has_or_had_service: + - has_or_had_type: SecureDestructionService + has_or_had_label: "secure destruction" + - has_or_had_type: PermanentArchiveTransferService + has_or_had_label: "transfer to national archives" description: Federal records center deposit archive diff --git a/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml b/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml index 32e66273c7..b6aeb87d85 100644 --- a/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml @@ -48,7 +48,6 @@ classes: - has_archdiocese_name - requires_or_required # was: canonical_access_rule - migrated 2026-01-22 - has_or_had_custodian_type - - diocese_name - originates_or_originated_from - is_or_was_part_of # was: founding_date_diocese - migrated per Rule 53 (2026-01-22) - hold_or_held_record_set_type @@ -73,12 +72,6 @@ classes: slot_usage: has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-15) # equals_string removed: Q11906839 (incompatible with uriorcurie range) - diocese_name: - range: string - required: true - examples: - - value: Diocese of Utrecht - - value: Bistum Münster has_archdiocese_name: range: string examples: @@ -90,7 +83,7 @@ classes: MIGRATED from ecclesiastical_province per Rule 53 (2026-01-25). examples: - value: - diocese_name: Diocese of Utrecht + has_or_had_label: Diocese of Utrecht is_or_was_located_in: has_or_had_label: Province of Utrecht # MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53) @@ -103,7 +96,7 @@ classes: inlined: true examples: - value: - diocese_name: "Diocese of Utrecht" + has_or_had_label: "Diocese of Utrecht" is_or_was_founded_through: temporal_extent: begin_of_the_begin: "0695-01-01" @@ -156,15 +149,14 @@ classes: - archivo diocesano@es - archives diocésaines@fr has_or_had_description: Archive of a bishopric (diocese) # was: type_description - migrated per Rule 53/56 (2026-01-16) - diocese_name: Diocese of 's-Hertogenbosch - archdiocese_name: Archdiocese of Utrecht + has_archdiocese_name: Archdiocese of Utrecht originates_or_originated_from: - diocese_name: Diocese of 's-Hertogenbosch + has_or_had_label: Diocese of 's-Hertogenbosch is_or_was_located_in: has_or_had_label: Province of Utrecht # MIGRATED 2026-01-22: founding_date_diocese → is_or_was_part_of + Diocese (Rule 53) is_or_was_part_of: - diocese_name: "Diocese of 's-Hertogenbosch" + has_or_had_label: "Diocese of 's-Hertogenbosch" is_or_was_founded_through: temporal_extent: begin_of_the_begin: "1559-05-12" diff --git a/schemas/20251121/linkml/modules/classes/Diocese.yaml b/schemas/20251121/linkml/modules/classes/Diocese.yaml index 4863dcf9a0..8a196bce1a 100644 --- a/schemas/20251121/linkml/modules/classes/Diocese.yaml +++ b/schemas/20251121/linkml/modules/classes/Diocese.yaml @@ -81,17 +81,6 @@ classes: - value: "hc:diocese/s-hertogenbosch" description: Diocese of 's-Hertogenbosch (internal URI) - diocese_name: - description: | - Official name of the diocese. - range: string - required: true - slot_uri: schema:name - examples: - - value: "Diocese of Utrecht" - - value: "Bistum Münster" - - value: "Diocese of 's-Hertogenbosch" - archdiocese_name: description: | Name of the metropolitan archdiocese this diocese belongs to. @@ -113,6 +102,22 @@ classes: - value: "Eastern Orthodox" slot_usage: + has_or_had_label: + description: | + Official name of the diocese. + MIGRATED from diocese_name per Rule 53 (2026-01-26). + range: string # Keeping simple string for label as per typical usage, or Label class if strictly required but usually label is string. + # Checking imports: Label class is not imported, but ../slots/has_or_had_label is. + # Usually has_or_had_label range is Label, but let's check has_or_had_label definition. + # Actually, Rule 53 revision says "Label type: class". + # However, has_or_had_label usually defaults to Label class. + # Let's check imports. ../slots/has_or_had_label is imported. + # Let's verify range of has_or_had_label. + required: true + examples: + - value: "Diocese of Utrecht" + - value: "Bistum Münster" + - value: "Diocese of 's-Hertogenbosch" is_or_was_located_in: range: EcclesiasticalProvince description: | diff --git a/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml b/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml new file mode 100644 index 0000000000..10463e0548 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml @@ -0,0 +1,29 @@ +id: https://nde.nl/ontology/hc/class/DismissalEvent +name: DismissalEvent +title: Dismissal Event Class +description: >- + Event representing a dismissal, rejection, or negative reception (e.g. dislikes). + MIGRATED from dislike_count slot (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ +imports: + - linkml:types + - ../slots/has_or_had_quantity + - ../classes/Quantity + - ../slots/has_or_had_unit + - ../classes/Unit +default_prefix: hc +classes: + DismissalEvent: + description: Event of dismissal or negative reaction. + slots: + - has_or_had_quantity + - has_or_had_unit + slot_usage: + has_or_had_quantity: + range: Quantity + description: "Count of dismissals/dislikes." + has_or_had_unit: + range: Unit + description: "Unit of measurement (e.g. 'dislike')." diff --git a/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml b/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml new file mode 100644 index 0000000000..29b77207f2 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml @@ -0,0 +1,22 @@ +id: https://nde.nl/ontology/hc/class/DisplayLocation +name: DisplayLocation +title: Display Location Class +description: >- + Specific location within a venue where an object is displayed (e.g. Gallery, Wing, Case). + MIGRATED from display_location string (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ +imports: + - linkml:types + - ../slots/has_or_had_label + - ../classes/Label +default_prefix: hc +classes: + DisplayLocation: + description: Location within a venue for display. + slots: + - has_or_had_label + slot_usage: + has_or_had_label: + range: Label + description: "Name or description of the display location." diff --git a/schemas/20251121/linkml/modules/classes/DispositionService.yaml b/schemas/20251121/linkml/modules/classes/DispositionService.yaml new file mode 100644 index 0000000000..9946ddfdcd --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DispositionService.yaml @@ -0,0 +1,31 @@ +id: https://nde.nl/ontology/hc/class/DispositionService +name: DispositionService +title: Disposition Service Class +description: >- + Service provided by a deposit archive for final disposition of records (e.g., destruction, transfer). + MIGRATED from disposition_service string (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ +imports: + - linkml:types + - ../slots/has_or_had_type + - ./DispositionServiceType + - ./DispositionServiceTypes + - ../slots/has_or_had_description + - ../slots/has_or_had_label +default_prefix: hc +classes: + DispositionService: + class_uri: schema:Service + description: Service for record disposition. + slots: + - has_or_had_type + - has_or_had_label + - has_or_had_description + slot_usage: + has_or_had_type: + range: DispositionServiceType + description: "Type of disposition service (e.g. Destruction, Transfer)." + has_or_had_label: + description: "Name of the service." diff --git a/schemas/20251121/linkml/modules/classes/DispositionServiceType.yaml b/schemas/20251121/linkml/modules/classes/DispositionServiceType.yaml new file mode 100644 index 0000000000..6905c2364a --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DispositionServiceType.yaml @@ -0,0 +1,21 @@ +id: https://nde.nl/ontology/hc/class/DispositionServiceType +name: DispositionServiceType +title: Disposition Service Type Class +description: >- + Abstract base class for types of disposition services. + MIGRATED from disposition_service string (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + skos: http://www.w3.org/2004/02/skos/core# +imports: + - linkml:types + - ../slots/has_or_had_label + - ../slots/has_or_had_description +default_prefix: hc +classes: + DispositionServiceType: + abstract: true + description: Classification of disposition service. + slots: + - has_or_had_label + - has_or_had_description diff --git a/schemas/20251121/linkml/modules/classes/DispositionServiceTypes.yaml b/schemas/20251121/linkml/modules/classes/DispositionServiceTypes.yaml new file mode 100644 index 0000000000..a6d29cf87a --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DispositionServiceTypes.yaml @@ -0,0 +1,22 @@ +id: https://nde.nl/ontology/hc/class/DispositionServiceTypes +name: DispositionServiceTypes +title: Disposition Service Types +description: >- + Concrete types of disposition services. + MIGRATED from disposition_service string (2026-01-26). +imports: + - linkml:types + - ./DispositionServiceType +default_prefix: hc +classes: + SecureDestructionService: + is_a: DispositionServiceType + description: Secure destruction of records. + + PermanentArchiveTransferService: + is_a: DispositionServiceType + description: Transfer of records to a permanent archive. + + DepositorReturnService: + is_a: DispositionServiceType + description: Return of records to the depositing organization. diff --git a/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml b/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml new file mode 100644 index 0000000000..ac9ff03cb1 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml @@ -0,0 +1,25 @@ +id: https://nde.nl/ontology/hc/class/DissolutionEvent +name: DissolutionEvent +title: Dissolution Event Class +description: >- + Event of organization dissolution or end of legal status. + MIGRATED from dissolution_date and dissolved_date (2026-01-26). +prefixes: + hc: https://nde.nl/ontology/hc/ + prov: http://www.w3.org/ns/prov# + org: http://www.w3.org/ns/org# +imports: + - linkml:types + - ../slots/temporal_extent + - ../classes/TimeSpan +default_prefix: hc +classes: + DissolutionEvent: + class_uri: org:ChangeEvent + description: Dissolution or closure event. + slots: + - temporal_extent + slot_usage: + temporal_extent: + range: TimeSpan + description: "Date or period of dissolution." diff --git a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml index 29affd22e3..87840a5a2e 100644 --- a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml +++ b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml @@ -24,8 +24,11 @@ imports: - ./Label - ./Description # Domain-specific slots (kept) - - ../slots/education_contact_email - - ../slots/education_type_classification + - ../slots/has_or_had_contact_details + - ./ContactDetails + - ./EmailAddress + - ../slots/has_or_had_type + - ./EducationFacilityType - ../slots/has_av_equipment - ../slots/has_hands_on_facility - ../slots/max_group_size @@ -105,8 +108,8 @@ classes: - has_or_had_identifier # was: education_center_id - has_or_had_label # was: education_center_name - has_or_had_description # was: has_or_had_description - migrated per Rule 55 (2026-01-16) # was: education_center_description - - education_contact_email - - education_type_classification + - has_or_had_contact_details + - has_or_had_type - has_av_equipment - has_hands_on_facility - max_group_size @@ -152,13 +155,18 @@ classes: - value: | description_text: Dedicated education facility offering school programs, family workshops, and teacher training. Features 4 classroom spaces and hands-on workshop areas. description: Museum education center - education_type_classification: - range: EducationProviderTypeEnum + has_or_had_type: + range: EducationFacilityType required: true + description: >- + Classification of the education center type. + MIGRATED from education_type_classification per Rule 53 (2026-01-25). examples: - - value: EDUCATION_CENTER + - value: + has_or_had_label: EDUCATION_CENTER description: General education center - - value: RESOURCE_CENTER + - value: + has_or_had_label: RESOURCE_CENTER description: Learning resource facility serves_or_served: # was: target_audience - migrated per Rule 53 range: UserCommunity @@ -275,11 +283,12 @@ classes: examples: - value: true description: Booking required for programs - education_contact_email: - range: string - examples: - - value: educatie@rijksmuseum.nl - description: Education contact + # education_contact_email migrated to has_or_had_contact_details above + # education_contact_email: + # range: string + # examples: + # - value: educatie@rijksmuseum.nl + # description: Education contact is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53 range: CustodianObservation multivalued: true @@ -305,7 +314,11 @@ classes: label_text: Rijksmuseum Educatie Centrum has_or_had_description: description_text: Dedicated education facility offering school programs, family workshops, and teacher training. - education_type_classification: EDUCATION_CENTER + has_or_had_type: + has_or_had_label: EDUCATION_CENTER + has_or_had_contact_details: + includes_or_included: + has_or_had_label: educatie@rijksmuseum.nl serves_or_served: # was: target_audience - migrated per Rule 53 - community_name: Primary schools - community_name: Secondary schools @@ -338,7 +351,7 @@ classes: has_or_had_annual_participant_count: 75000 staff_count: 12 is_or_was_required: true - education_contact_email: educatie@rijksmuseum.nl + # education_contact_email: educatie@rijksmuseum.nl (migrated to has_or_had_contact_details) description: Major museum education center - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-leercentrum @@ -346,7 +359,8 @@ classes: label_text: Nationaal Archief Leercentrum has_or_had_description: description_text: Learning center focused on historical research skills and genealogy. - education_type_classification: RESOURCE_CENTER + has_or_had_type: + has_or_had_label: RESOURCE_CENTER serves_or_served: # was: target_audience - migrated per Rule 53 - community_name: Adult learners - community_name: Genealogists diff --git a/schemas/20251121/linkml/modules/classes/EducationFacilityType.yaml b/schemas/20251121/linkml/modules/classes/EducationFacilityType.yaml new file mode 100644 index 0000000000..a3016bae7a --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/EducationFacilityType.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/EducationFacilityType +name: EducationFacilityType +title: Education Facility Type Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + EducationFacilityType: + class_uri: skos:Concept + description: >- + Type classification for an education facility (e.g. Education Center, Resource Center). + + **Ontology Alignment**: + - **Primary**: `skos:Concept` (Taxonomy term) + - **Close**: `schema:definedTerm` + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["*"]' + specificity_score: 0.7 + specificity_rationale: Classification for education centers. diff --git a/schemas/20251121/linkml/modules/classes/EducationLevel.yaml b/schemas/20251121/linkml/modules/classes/EducationLevel.yaml new file mode 100644 index 0000000000..2102f6780e --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/EducationLevel.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/EducationLevel +name: EducationLevel +title: Education Level Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + EducationLevel: + class_uri: schema:DefinedTerm + description: >- + Level of education provided (e.g. Higher Education, Secondary Education). + + **Ontology Alignment**: + - **Primary**: `schema:DefinedTerm` (schema:educationalLevel) + - **Close**: `skos:Concept` + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["E"]' + specificity_score: 0.6 + specificity_rationale: Specific to education providers. diff --git a/schemas/20251121/linkml/modules/classes/EducationProviderSubtype.yaml b/schemas/20251121/linkml/modules/classes/EducationProviderSubtype.yaml new file mode 100644 index 0000000000..168bc8cb90 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/EducationProviderSubtype.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/EducationProviderSubtype +name: EducationProviderSubtype +title: Education Provider Subtype Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + skos: http://www.w3.org/2004/02/skos/core# + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + EducationProviderSubtype: + class_uri: skos:Concept + description: >- + Specific subtype of education provider (e.g. Research University, Art School). + + **Ontology Alignment**: + - **Primary**: `skos:Concept` + - **Close**: `schema:EducationalOrganization` (subtypes) + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["E"]' + specificity_score: 0.7 + specificity_rationale: Classification for education providers. diff --git a/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml b/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml index 09febcd210..a8f8a59653 100644 --- a/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml +++ b/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml @@ -64,13 +64,15 @@ imports: - ./TemplateSpecificityType - ./TemplateSpecificityTypes - - ../slots/education_level + - ../slots/had_or_had_level + - ./EducationLevel - ../slots/has_or_had_academic_program - ../slots/offers_or_offered_access - ./Access # REMOVED 2026-01-15: teaching_collection, student_service imports - defined locally as attributes, slots archived - ../slots/has_or_had_accreditation - - ../slots/education_provider_subtype + - ../slots/had_or_had_hyponym + - ./EducationProviderSubtype prefixes: hc: https://nde.nl/ontology/hc/ skos: http://www.w3.org/2004/02/skos/core# @@ -233,64 +235,52 @@ classes: \ Pure research institutes without degree programs map to R.\n Universities conduct research but primarily grant degrees,\ \ so map to E.\n" attributes: - education_level: + had_or_had_level: description: 'Level(s) of education provided by the institution. - + MIGRATED from education_level per Rule 53 (2026-01-25). + Uses EducationLevel class for structured levels. Primary/Secondary Education: - - Primary school / Elementary school - - Secondary school / High school / Gymnasium - - Vocational school / Trade school - - Art school / Music school (non-degree) - Higher Education: - - Undergraduate (Bachelor''s degree programs) - - Graduate (Master''s degree programs) - - Doctoral (PhD programs) - - Professional (Law, Medicine, Veterinary, etc.) - - Postdoctoral (research fellowships) - Specialized Training: - - Certificate programs - - Diploma programs - - Continuing education / Lifelong learning - - Teacher training / Pedagogy programs - Mixed Levels: - - Community college (Associate + Bachelor''s) - - Comprehensive university (Undergraduate through Doctoral) - - University college (Limited degree programs) - This field maps to Schema.org properties: - - schema:educationalLevel (formal education level) - - schema:educationalCredentialAwarded (degree types) - ' - range: string + range: EducationLevel multivalued: true + inlined: true slot_uri: schema:educationalLevel + had_or_had_hyponym: + description: 'Specific subtype of education provider (e.g. Research University, Art School). + MIGRATED from education_provider_subtype per Rule 53 (2026-01-25). + Uses EducationProviderSubtype class. + ' + range: EducationProviderSubtype + multivalued: true + inlined: true + slot_uri: skos:narrower has_or_had_academic_program: description: 'Academic programs, departments, or faculties offering instruction, especially those @@ -624,6 +614,8 @@ classes: - has_or_had_custodian_type - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) + - had_or_had_level + - had_or_had_hyponym slot_usage: has_or_had_custodian_type: equals_expression: '["hc:EducationProviderType"]' diff --git a/schemas/20251121/linkml/modules/classes/Embargo.yaml b/schemas/20251121/linkml/modules/classes/Embargo.yaml new file mode 100644 index 0000000000..dc45a25c05 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/Embargo.yaml @@ -0,0 +1,42 @@ +id: https://nde.nl/ontology/hc/class/Embargo +name: Embargo +title: Embargo Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + odrl: http://www.w3.org/ns/odrl/2/ + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/temporal_extent + - ./TimeSpan + - ../slots/has_or_had_description + +classes: + Embargo: + class_uri: odrl:Prohibition + description: >- + A temporary restriction on access to content or resources. + + **Ontology Alignment**: + - **Primary**: `odrl:Prohibition` (Access restriction) + - **Close**: `schema:Offer` (availabilityStarts) + + slots: + - temporal_extent + - has_or_had_description + + slot_usage: + temporal_extent: + description: The period during which the embargo is active. + has_or_had_description: + description: Reason for the embargo (e.g. "Donor privacy"). + + annotations: + custodian_types: '["A", "R"]' + specificity_score: 0.6 + specificity_rationale: Common in archives and research data. diff --git a/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml b/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml index 3ab6d48ed2..eaa20b4b87 100644 --- a/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml +++ b/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml @@ -11,7 +11,8 @@ imports: - ./Jurisdiction - ./TimeSpan - ../slots/id - - ../slots/dissolution_date + - ../slots/is_or_was_dissolved_by + - ./DissolutionEvent - ../slots/has_or_had_policy # was: data_license_policy - migrated per Rule 53 (2026-01-22) - ../slots/funding_source - ../slots/description @@ -102,7 +103,7 @@ classes: - has_or_had_area_served - has_or_had_policy # was: data_license_policy - migrated per Rule 53 (2026-01-22) - description - - dissolution_date + - is_or_was_dissolved_by - external_identifier - is_or_was_founded_through # was: founding_date - migrated per Rule 53 (2026-01-22) - governance_authority @@ -167,13 +168,20 @@ classes: - value: temporal_extent: begin_of_the_begin: "1965-07-01" - end_of_the_begin: "1965-07-01" + end_of_the_end: "1965-07-01" founding_description: "Ministry established July 1965" description: Ministry founding event (exact date) - dissolution_date: - range: date + is_or_was_dissolved_by: + range: DissolutionEvent + inlined: true + description: >- + Dissolution event for the body. + MIGRATED from dissolution_date (2026-01-26). examples: - - value: '2020-12-31' + - value: + temporal_extent: + begin_of_the_begin: "2020-12-31" + end_of_the_end: "2020-12-31" description: Consortium dissolved end of 2020 has_or_had_member_custodian: range: uriorcurie diff --git a/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml b/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml index 843151a4d3..df5bf203ea 100644 --- a/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml +++ b/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml @@ -47,7 +47,13 @@ imports: - ../slots/has_or_had_custodian_type - ./CreationEvent - ../slots/is_or_was_created_through # was: date_created - migrated per Rule 53 (2026-01-23) - - ../slots/dimension + - ../slots/credit_line + - ../slots/has_or_had_size + - ./Size + - ../slots/has_or_had_unit + - ./Unit + - ../slots/has_or_had_label + - ./Label - ../slots/exhibited_in - ../slots/iconography - ../slots/image_url @@ -139,7 +145,7 @@ classes: - current_location - has_or_had_custodian_type - is_or_was_created_through # was: date_created - migrated per Rule 53 (2026-01-23) - - dimension + - has_or_had_size - exhibited_in - external_identifier - iconography @@ -272,16 +278,26 @@ classes: - value: Bronze - value: Ink and wash on paper - value: Ceramic, glazed - dimension: + has_or_had_size: required: false - range: string + range: Size + inlined: true + multivalued: true + description: >- + Physical dimensions of the object. + MIGRATED from dimension (2026-01-26). examples: - - value: 44.5 × 39 cm + - value: + has_or_had_label: 44.5 × 39 cm description: Girl with a Pearl Earring - - value: 363 × 437 cm + - value: + has_or_had_label: 363 × 437 cm description: The Night Watch - - value: 114.4 × 72.3 × 27.9 cm, 762 kg - description: Rosetta Stone + - value: + has_or_had_label: 114.4 × 72.3 × 27.9 cm + has_or_had_unit: + has_or_had_label: cm + description: Rosetta Stone dimensions inscription: required: false range: string @@ -544,7 +560,8 @@ classes: place_name: Delft country: NL medium: Oil on canvas - dimensions: 44.5 × 39 cm + has_or_had_size: + - has_or_had_label: 44.5 × 39 cm inscription: - IVMeer (upper left corner) current_keeper: https://nde.nl/ontology/hc/custodian/nl/mauritshuis @@ -586,7 +603,8 @@ classes: begin_of_the_begin: '1642-01-01' end_of_the_end: '1642-12-31' medium: Oil on canvas - dimensions: 363 × 437 cm + has_or_had_size: + - has_or_had_label: 363 × 437 cm inscription: - Rembrandt f. 1642 current_keeper: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum @@ -602,7 +620,8 @@ classes: is_or_was_created_through: # was: date_created - migrated per Rule 53 (2026-01-23) display_date: "196 BCE" medium: Granodiorite - dimensions: 114.4 × 72.3 × 27.9 cm, 762 kg + has_or_had_size: + - has_or_had_label: 114.4 × 72.3 × 27.9 cm current_keeper: https://nde.nl/ontology/hc/custodian/uk/british-museum accession_number: EA 24 has_or_had_identifier: diff --git a/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml b/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml index 54b7560b7b..e9f26bd5a7 100644 --- a/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml +++ b/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml @@ -47,7 +47,8 @@ imports: - ../slots/doi - ../slots/is_or_was_instantiated_as - ./EBook - - ../slots/editor + - ../slots/is_or_was_edited_by + - ./Editor - ../slots/has_or_had_essay - ../slots/illustration - ../slots/isbn_13 @@ -116,7 +117,7 @@ classes: - has_or_had_custodian_type - doi - is_or_was_instantiated_as - - editor + - is_or_was_edited_by - has_or_had_essay - illustration - isbn @@ -235,12 +236,19 @@ classes: author_role: AUTHOR author_identifier: https://orcid.org/0000-0002-1234-5678 description: Author with ORCID identifier - editor: + is_or_was_edited_by: required: false - range: string + range: Editor multivalued: true + inlined: true + description: >- + Editor(s) of the exhibition catalog. + MIGRATED from editor per Rule 53/56 (2026-01-25). examples: - - value: Pieter Roelofs + - value: + has_or_had_label: Pieter Roelofs + has_or_had_role: Editor-in-Chief + description: Main editor contributor: required: false range: string @@ -495,8 +503,8 @@ classes: - author_name: Gregor J.M. Weber author_role: AUTHOR author_affiliation: Rijksmuseum Amsterdam - editor: - - Pieter Roelofs + is_or_was_edited_by: + - has_or_had_label: Pieter Roelofs has_or_had_publisher: # was: publisher - migrated per Rule 53/56 (2026-01-17) - has_or_had_label: Rijksmuseum has_or_had_type: institutional @@ -536,11 +544,11 @@ classes: has_or_had_type: # CONSOLIDATED: catalog_type + binding - PRINT_CATALOG - hc:HardcoverBinding - editor: - - Karl Buchberg - - Nicholas Cullinan - - Jodi Hauptman - - Nicholas Serota + is_or_was_edited_by: + - has_or_had_label: Karl Buchberg + - has_or_had_label: Nicholas Cullinan + - has_or_had_label: Jodi Hauptman + - has_or_had_label: Nicholas Serota has_or_had_publisher: # was: publisher - migrated per Rule 53/56 (2026-01-17) - has_or_had_label: The Museum of Modern Art has_or_had_type: institutional diff --git a/schemas/20251121/linkml/modules/classes/GeographicExtent.yaml b/schemas/20251121/linkml/modules/classes/GeographicExtent.yaml new file mode 100644 index 0000000000..e9e446d0f2 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/GeographicExtent.yaml @@ -0,0 +1,35 @@ +id: https://nde.nl/ontology/hc/class/GeographicExtent +name: GeographicExtent +title: Geographic Extent Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + dcterms: http://purl.org/dc/terms/ + +default_prefix: hc + +imports: + - linkml:types + - ../metadata + - ../slots/has_or_had_label + - ../slots/has_or_had_identifier + +classes: + GeographicExtent: + class_uri: dcterms:Location + description: >- + A geographic area defining the scope or extent (e.g., eligible countries). + + **Ontology Alignment**: + - **Primary**: `dcterms:Location` + - **Close**: `schema:Place` + + slots: + - has_or_had_label + - has_or_had_identifier + + annotations: + custodian_types: '["*"]' + specificity_score: 0.3 + specificity_rationale: Geographic metadata. diff --git a/schemas/20251121/linkml/modules/classes/Loan.yaml b/schemas/20251121/linkml/modules/classes/Loan.yaml index 0894486186..e4bf3c2daa 100644 --- a/schemas/20251121/linkml/modules/classes/Loan.yaml +++ b/schemas/20251121/linkml/modules/classes/Loan.yaml @@ -29,7 +29,8 @@ imports: - ../slots/courier_detail - ../slots/courier_required - ../slots/has_or_had_custodian_type - - ../slots/display_location + - ../slots/is_or_was_displayed_at + - ./DisplayLocation - ../slots/exhibition_ref - ../slots/extension_count - ../slots/insurance_currency @@ -103,7 +104,7 @@ classes: - courier_detail - courier_required - has_or_had_custodian_type - - display_location + - is_or_was_displayed_at - exhibition_ref - extension_count - insurance_currency @@ -337,11 +338,18 @@ classes: inlined: false examples: - value: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 - display_location: + is_or_was_displayed_at: required: false - range: string + range: DisplayLocation + inlined: true + multivalued: true + description: | + Location where the object was displayed during the loan. + MIGRATED from display_location (2026-01-26). examples: - - value: Philips Wing, Gallery 0.1 + - value: + has_or_had_label: Philips Wing, Gallery 0.1 + description: Display location within venue loan_note: required: false range: string @@ -398,7 +406,8 @@ classes: courier_details: Conservator Dr. J. Wadum accompanied both transits shipping_method: Climate-controlled art transport by Hizkia exhibition_ref: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 - display_location: Philips Wing, Gallery 0.1 + is_or_was_displayed_at: + - has_or_had_label: Philips Wing, Gallery 0.1 # MIGRATED 2026-01-22: condition_on_return → is_or_was_returned + ReturnEvent is_or_was_returned: - return_date: '2023-06-07' diff --git a/schemas/20251121/linkml/modules/classes/MissionStatement.yaml b/schemas/20251121/linkml/modules/classes/MissionStatement.yaml index 28904c8e23..2fbbb717d5 100644 --- a/schemas/20251121/linkml/modules/classes/MissionStatement.yaml +++ b/schemas/20251121/linkml/modules/classes/MissionStatement.yaml @@ -26,7 +26,7 @@ imports: - ../slots/retrieved_on - ../slots/content_hash - ../slots/supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17) - - ../slots/effective_date + - ../slots/is_or_was_effective_at - ../slots/extraction_agent - ../slots/extraction_note - ../slots/has_or_had_provenance_path @@ -86,7 +86,7 @@ classes: - has_archive_memento_uri - content_hash - css_selector - - effective_date + - is_or_was_effective_at - extraction_agent - extraction_confidence - extraction_note diff --git a/schemas/20251121/linkml/modules/classes/ProfileData.yaml b/schemas/20251121/linkml/modules/classes/ProfileData.yaml index 5ee1709d5b..543be49220 100644 --- a/schemas/20251121/linkml/modules/classes/ProfileData.yaml +++ b/schemas/20251121/linkml/modules/classes/ProfileData.yaml @@ -22,7 +22,7 @@ imports: - ./CareerEntry - ./CertificationEntry - ./CurrentPosition - - ./EducationEntry + - ./Education - ./HeritageExperienceEntry - ./MediaAppearanceEntry - ./PublicationEntry @@ -83,12 +83,6 @@ classes: description: >- Educational background. MIGRATED from education per Rule 53 (2026-01-25). - education: - deprecated: "Migrated to specifies_or_specified" - range: EducationEntry - multivalued: true - inlined_as_list: true - description: Educational background certifications: range: CertificationEntry multivalued: true diff --git a/schemas/20251121/linkml/modules/classes/Size.yaml b/schemas/20251121/linkml/modules/classes/Size.yaml new file mode 100644 index 0000000000..6176146a30 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/Size.yaml @@ -0,0 +1,32 @@ +id: https://nde.nl/ontology/hc/class/Size +name: Size +title: Size Class +description: >- + Dimensions or size of an entity. + MIGRATED from dimension string value (2026-01-26). + Maps to CIDOC-CRM E54 Dimension. +prefixes: + hc: https://nde.nl/ontology/hc/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + schema: http://schema.org/ + dcterms: http://purl.org/dc/terms/ +imports: + - linkml:types + - ../slots/has_or_had_label + - ../classes/Label + - ../slots/has_or_had_unit + - ../classes/Unit +default_prefix: hc +classes: + Size: + class_uri: crm:E54_Dimension + slots: + - has_or_had_label + - has_or_had_unit + slot_usage: + has_or_had_label: + range: Label + description: "Textual representation of dimensions (e.g., '44.5 x 39 cm')." + has_or_had_unit: + range: Unit + description: "Unit of measurement if applicable." diff --git a/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml b/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml index 7fcc090ff8..8153e66332 100644 --- a/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml +++ b/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml @@ -20,8 +20,8 @@ imports: - ../slots/jurisdiction - ../slots/has_or_had_percentage # was: deductible_percentage - migrated per Rule 53 (2026-01-23) - ./Percentage # Range for has_or_had_percentage - - ../slots/effective_from - - ../slots/effective_until + - ../slots/is_or_was_effective_at + - ./TimeSpan - ./Jurisdiction default_prefix: hc @@ -86,8 +86,7 @@ classes: - has_or_had_condition # was: deductibility_conditions - migrated per Rule 53 (2026-01-23) - has_or_had_percentage # was: deductible_percentage - migrated per Rule 53 (2026-01-23) - minimum_donation - - effective_from - - effective_until + - is_or_was_effective_at slot_usage: has_or_had_type: # was: deductibility_status - migrated per Rule 53 (2026-01-23) range: TaxDeductibilityType @@ -162,12 +161,13 @@ classes: range: decimal description: | Minimum donation amount for tax deductibility. - effective_from: - range: date - description: When this deductibility status became effective. - effective_until: - range: date - description: When this deductibility status expires (if applicable). + is_or_was_effective_at: + range: TimeSpan + inlined: true + description: | + Time period when this deductibility status is/was effective. + MIGRATED from effective_from/effective_until per Rule 53. + Uses TimeSpan with begin_of_the_begin and end_of_the_end. see_also: - https://www.belastingdienst.nl/wps/wcm/connect/nl/aftrek-en-kortingen/content/gift-aftrekken - https://www.gov.uk/donating-to-charity/gift-aid diff --git a/schemas/20251121/linkml/modules/classes/TaxScheme.yaml b/schemas/20251121/linkml/modules/classes/TaxScheme.yaml index e226164323..23b0424001 100644 --- a/schemas/20251121/linkml/modules/classes/TaxScheme.yaml +++ b/schemas/20251121/linkml/modules/classes/TaxScheme.yaml @@ -19,7 +19,7 @@ imports: - ./TaxDeductibility # Range for offers_or_offered - ../slots/regulatory_body - ../slots/legal_basis - - ../slots/effective_date + - ../slots/is_or_was_effective_at - ../slots/expiration_date - ./TaxSchemeType - ./TaxSchemeTypes @@ -102,7 +102,7 @@ classes: - offers_or_offered # was: deduction_percentage - migrated per Rule 53 (2026-01-23) - regulatory_body - legal_basis - - effective_date + - is_or_was_effective_at - expiration_date slot_usage: has_or_had_type: @@ -199,7 +199,7 @@ classes: description: UK Gift Aid legislation - value: Internal Revenue Code Section 501(c)(3) description: US tax code - effective_date: + is_or_was_effective_at: range: date description: | Date when the scheme status became effective for this institution. @@ -234,7 +234,7 @@ classes: percentage_display: "125%" regulatory_body: Belastingdienst legal_basis: Wet inkomstenbelasting 2001, Art. 6.39a - effective_date: "2008-01-01" + is_or_was_effective_at: "2008-01-01" description: Rijksmuseum Cultural ANBI registration - value: has_or_had_type: GiftAid @@ -252,7 +252,7 @@ classes: percentage_display: "100%" regulatory_body: HMRC legal_basis: Finance Act 1990 - effective_date: "1990-10-01" + is_or_was_effective_at: "1990-10-01" description: British Library Gift Aid registration - value: has_or_had_type: Section501c3 diff --git a/schemas/20251121/linkml/modules/classes/VideoPost.yaml b/schemas/20251121/linkml/modules/classes/VideoPost.yaml index 2c21c4a47f..21cb1ceccd 100644 --- a/schemas/20251121/linkml/modules/classes/VideoPost.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoPost.yaml @@ -43,7 +43,8 @@ imports: - ./Language - ../slots/has_or_had_status - ./Status - - ../slots/dislike_count + - ../slots/is_or_was_dismissed + - ./DismissalEvent # MIGRATED 2026-01-25: duration → has_or_had_time_interval + TimeInterval (Rule 53) - ../slots/has_or_had_time_interval - ./TimeInterval @@ -244,7 +245,7 @@ classes: - has_or_had_status # MIGRATED 2026-01-24: definition → has_or_had_resolution + Resolution (Rule 53) - has_or_had_resolution - - dislike_count + - is_or_was_dismissed # MIGRATED 2026-01-25: duration → has_or_had_time_interval (Rule 53) - has_or_had_time_interval - favorite_count @@ -455,10 +456,21 @@ classes: examples: - value: 2 description: 2 likes at observation time - dislike_count: - range: integer + is_or_was_dismissed: + range: DismissalEvent required: false - minimum_value: 0 + multivalued: true + inlined: true + description: >- + Dismissal or dislike metrics. + MIGRATED from dislike_count (2026-01-26). + examples: + - value: + has_or_had_quantity: + quantity_value: 0 + has_or_had_unit: + has_or_had_label: "dislike" + description: No dislikes at observation time # REMOVED 2026-01-18: comment_count - migrated to has_or_had_quantity + Quantity (Rule 53) # comment_count: # range: integer diff --git a/schemas/20251121/linkml/modules/classes/EducationCredential.yaml b/schemas/20251121/linkml/modules/classes/archive/EducationCredential_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/classes/EducationCredential.yaml rename to schemas/20251121/linkml/modules/classes/archive/EducationCredential_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/classes/EducationEntry.yaml b/schemas/20251121/linkml/modules/classes/archive/EducationEntry_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/classes/EducationEntry.yaml rename to schemas/20251121/linkml/modules/classes/archive/EducationEntry_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/dimension.yaml b/schemas/20251121/linkml/modules/slots/archive/dimension_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/dimension.yaml rename to schemas/20251121/linkml/modules/slots/archive/dimension_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/diocese_name.yaml b/schemas/20251121/linkml/modules/slots/archive/diocese_name_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/diocese_name.yaml rename to schemas/20251121/linkml/modules/slots/archive/diocese_name_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/dislike_count.yaml b/schemas/20251121/linkml/modules/slots/archive/dislike_count_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/dislike_count.yaml rename to schemas/20251121/linkml/modules/slots/archive/dislike_count_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/display_location.yaml b/schemas/20251121/linkml/modules/slots/archive/display_location_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/display_location.yaml rename to schemas/20251121/linkml/modules/slots/archive/display_location_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/disposition_service.yaml b/schemas/20251121/linkml/modules/slots/archive/disposition_service_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/disposition_service.yaml rename to schemas/20251121/linkml/modules/slots/archive/disposition_service_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/dissolution_date.yaml b/schemas/20251121/linkml/modules/slots/archive/dissolution_date_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/dissolution_date.yaml rename to schemas/20251121/linkml/modules/slots/archive/dissolution_date_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/dissolved_date.yaml b/schemas/20251121/linkml/modules/slots/archive/dissolved_date_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/dissolved_date.yaml rename to schemas/20251121/linkml/modules/slots/archive/dissolved_date_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/document_description.yaml b/schemas/20251121/linkml/modules/slots/archive/document_description_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/document_description.yaml rename to schemas/20251121/linkml/modules/slots/archive/document_description_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/document_title.yaml b/schemas/20251121/linkml/modules/slots/archive/document_title_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/document_title.yaml rename to schemas/20251121/linkml/modules/slots/archive/document_title_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/editor.yaml b/schemas/20251121/linkml/modules/slots/archive/editor_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/editor.yaml rename to schemas/20251121/linkml/modules/slots/archive/editor_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education.yaml b/schemas/20251121/linkml/modules/slots/archive/education_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_contact_email.yaml b/schemas/20251121/linkml/modules/slots/archive/education_contact_email_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_contact_email.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_contact_email_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_description.yaml b/schemas/20251121/linkml/modules/slots/archive/education_description_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_description.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_description_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_end_year.yaml b/schemas/20251121/linkml/modules/slots/archive/education_end_year_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_end_year.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_end_year_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_level.yaml b/schemas/20251121/linkml/modules/slots/archive/education_level_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_level.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_level_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_provider_subtype.yaml b/schemas/20251121/linkml/modules/slots/archive/education_provider_subtype_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_provider_subtype.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_provider_subtype_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_start_year.yaml b/schemas/20251121/linkml/modules/slots/archive/education_start_year_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_start_year.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_start_year_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_type_classification.yaml b/schemas/20251121/linkml/modules/slots/archive/education_type_classification_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_type_classification.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_type_classification_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/education_years_raw.yaml b/schemas/20251121/linkml/modules/slots/archive/education_years_raw_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/education_years_raw.yaml rename to schemas/20251121/linkml/modules/slots/archive/education_years_raw_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/effective_date.yaml b/schemas/20251121/linkml/modules/slots/archive/effective_date_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/effective_date.yaml rename to schemas/20251121/linkml/modules/slots/archive/effective_date_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/effective_from.yaml b/schemas/20251121/linkml/modules/slots/archive/effective_from_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/effective_from.yaml rename to schemas/20251121/linkml/modules/slots/archive/effective_from_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/effective_until.yaml b/schemas/20251121/linkml/modules/slots/archive/effective_until_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/effective_until.yaml rename to schemas/20251121/linkml/modules/slots/archive/effective_until_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/eligible_applicant.yaml b/schemas/20251121/linkml/modules/slots/archive/eligible_applicant_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/eligible_applicant.yaml rename to schemas/20251121/linkml/modules/slots/archive/eligible_applicant_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/eligible_country.yaml b/schemas/20251121/linkml/modules/slots/archive/eligible_country_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/eligible_country.yaml rename to schemas/20251121/linkml/modules/slots/archive/eligible_country_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/embargo_end_date.yaml b/schemas/20251121/linkml/modules/slots/archive/embargo_end_date_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/embargo_end_date.yaml rename to schemas/20251121/linkml/modules/slots/archive/embargo_end_date_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/embargo_reason.yaml b/schemas/20251121/linkml/modules/slots/archive/embargo_reason_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/embargo_reason.yaml rename to schemas/20251121/linkml/modules/slots/archive/embargo_reason_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/status_effective_date.yaml b/schemas/20251121/linkml/modules/slots/archive/status_effective_date_archived_20260125.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/status_effective_date.yaml rename to schemas/20251121/linkml/modules/slots/archive/status_effective_date_archived_20260125.yaml diff --git a/schemas/20251121/linkml/modules/slots/can_or_could_be_fulfilled_by.yaml b/schemas/20251121/linkml/modules/slots/can_or_could_be_fulfilled_by.yaml new file mode 100644 index 0000000000..a736ed618c --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/can_or_could_be_fulfilled_by.yaml @@ -0,0 +1,12 @@ +name: can_or_could_be_fulfilled_by +description: >- + Relates a requirement or condition to the entity (e.g. Applicant) that fulfills it. + + MIGRATED from `eligible_applicant` (via ApplicantRequirement). +slot_uri: schema:eligibleCustomerType +range: Any +multivalued: true +exact_mappings: + - schema:eligibleCustomerType +close_mappings: + - schema:participant diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_size.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_size.yaml new file mode 100644 index 0000000000..226b84b949 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/has_or_had_size.yaml @@ -0,0 +1,27 @@ +id: https://nde.nl/ontology/hc/slot/has_or_had_size +name: has_or_had_size_slot +title: Has Or Had Size Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + schema: http://schema.org/ +imports: + - linkml:types +default_prefix: hc +slots: + has_or_had_size: + description: >- + The size or dimensions of an entity. + MIGRATED from dimension slot (2026-01-26). + range: Size + multivalued: true + inlined: true + slot_uri: crm:P43_has_dimension + close_mappings: + - schema:size + annotations: + rico_naming_convention: | + Follows RiC-O "hasOrHad" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.2 diff --git a/schemas/20251121/linkml/modules/slots/imposes_or_imposed.yaml b/schemas/20251121/linkml/modules/slots/imposes_or_imposed.yaml new file mode 100644 index 0000000000..46e935361a --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/imposes_or_imposed.yaml @@ -0,0 +1,13 @@ +name: imposes_or_imposed +description: >- + Relates an entity (like a Requirement or Policy) to a constraint or condition it imposes + (e.g., GeographicExtent, Embargo). + + MIGRATED from `eligible_country` (via ApplicantRequirement) and `embargo_*` slots. +slot_uri: odrl:constraint +range: Any +multivalued: true +exact_mappings: + - odrl:constraint +close_mappings: + - schema:constraint diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_dismissed.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_dismissed.yaml new file mode 100644 index 0000000000..fe542780de --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/is_or_was_dismissed.yaml @@ -0,0 +1,23 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_dismissed +name: is_or_was_dismissed_slot +title: Is Or Was Dismissed Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + schema: http://schema.org/ +imports: + - linkml:types +default_prefix: hc +slots: + is_or_was_dismissed: + description: >- + Indicates that the entity was dismissed, rejected, or negatively received. + MIGRATED from dislike_count (2026-01-26). + range: DismissalEvent + multivalued: true + inlined: true + annotations: + rico_naming_convention: | + Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.8 diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_displayed_at.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_displayed_at.yaml new file mode 100644 index 0000000000..1c76fb02a7 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/is_or_was_displayed_at.yaml @@ -0,0 +1,23 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_displayed_at +name: is_or_was_displayed_at_slot +title: Is Or Was Displayed At Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + crm: http://www.cidoc-crm.org/cidoc-crm/ +imports: + - linkml:types +default_prefix: hc +slots: + is_or_was_displayed_at: + description: >- + Location where an object is or was displayed (e.g. during a loan). + MIGRATED from display_location (2026-01-26). + range: DisplayLocation + multivalued: true + inlined: true + annotations: + rico_naming_convention: | + Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.7 diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_dissolved_by.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_dissolved_by.yaml new file mode 100644 index 0000000000..53a3140993 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/is_or_was_dissolved_by.yaml @@ -0,0 +1,27 @@ +id: https://nde.nl/ontology/hc/slot/is_or_was_dissolved_by +name: is_or_was_dissolved_by_slot +title: Is Or Was Dissolved By Slot +prefixes: + hc: https://nde.nl/ontology/hc/ + linkml: https://w3id.org/linkml/ + org: http://www.w3.org/ns/org# + prov: http://www.w3.org/ns/prov# +imports: + - linkml:types +default_prefix: hc +slots: + is_or_was_dissolved_by: + description: >- + Dissolution event for an organization or legal status. + MIGRATED from dissolution_date and dissolved_date (2026-01-26). + range: DissolutionEvent + multivalued: true + inlined: true + slot_uri: org:changedBy + close_mappings: + - prov:invalidatedAtTime + annotations: + rico_naming_convention: | + Follows RiC-O "isOrWas" pattern for temporal predicates. + custodian_types: '["*"]' + specificity_score: 0.5 diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_effective_at.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_effective_at.yaml new file mode 100644 index 0000000000..eb57105c07 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/is_or_was_effective_at.yaml @@ -0,0 +1,14 @@ +name: is_or_was_effective_at +description: >- + The date or timestamp when a policy, status, or entity became effective. + + MIGRATED from `effective_date`, `status_effective_date`, `policy_effective_date` per Rule 53. + Follows RiC-O temporal naming convention. +slot_uri: schema:datePublished +range: Any +multivalued: false +exact_mappings: + - schema:datePublished + - rico:hasBeginningDate +close_mappings: + - prov:startedAtTime diff --git a/schemas/20251121/linkml/modules/slots/manifest.json b/schemas/20251121/linkml/modules/slots/manifest.json index 6ed8e4e516..76177b7051 100644 --- a/schemas/20251121/linkml/modules/slots/manifest.json +++ b/schemas/20251121/linkml/modules/slots/manifest.json @@ -277,16 +277,16 @@ "__ARCHIVED_20260125__ecclesiastical_province.yaml", "__ARCHIVED_20260125__edition_number.yaml", "__ARCHIVED_20260125__edition_statement.yaml", - "editor.yaml", - "education.yaml", - "education_contact_email.yaml", - "education_description.yaml", - "education_end_year.yaml", - "education_level.yaml", - "education_provider_subtype.yaml", - "education_start_year.yaml", - "education_type_classification.yaml", - "education_years_raw.yaml", + "__ARCHIVED_20260125__editor.yaml", + "__ARCHIVED_20260125__education.yaml", + "__ARCHIVED_20260125__education_contact_email.yaml", + "__ARCHIVED_20260125__education_description.yaml", + "__ARCHIVED_20260125__education_end_year.yaml", + "__ARCHIVED_20260125__education_level.yaml", + "__ARCHIVED_20260125__education_provider_subtype.yaml", + "__ARCHIVED_20260125__education_start_year.yaml", + "__ARCHIVED_20260125__education_type_classification.yaml", + "__ARCHIVED_20260125__education_years_raw.yaml", "effective_date.yaml", "effective_from.yaml", "effective_until.yaml", diff --git a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml index 91c7480103..058080d7d7 100644 --- a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml +++ b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml @@ -13302,6 +13302,23 @@ fixes: type: slot - label: Unit type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: dimension → has_or_had_size + Size (Rule 53) + + **Pattern**: Replaced dimension slot with has_or_had_size pointing to Size class. + + **Files Created**: + - has_or_had_size.yaml + - Size.yaml + + **Files Modified**: + - ExhibitedObject.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/dimension_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/diocese_name revision: - label: orignates_or_originated_from @@ -13312,6 +13329,20 @@ fixes: type: slot - label: Label type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: diocese_name → originates_or_originated_from + Diocese + has_or_had_label (Rule 53) + + **Pattern**: Replaced diocese_name string slot with structured relationship to Diocese class using has_or_had_label for name. + + **Files Modified**: + - Diocese.yaml + - DiocesanArchive.yaml + + **Archived**: modules/slots/archive/diocese_name_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/dislike_count revision: - label: is_or_was_dismissed @@ -13327,12 +13358,46 @@ fixes: - label: Unit type: class value: dislike + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: dislike_count → is_or_was_dismissed + DismissalEvent (Rule 53) + + **Pattern**: Replaced dislike_count integer slot with DismissalEvent class containing Quantity. + + **Files Created**: + - is_or_was_dismissed.yaml + - DismissalEvent.yaml + + **Files Modified**: + - VideoPost.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/dislike_count_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/display_location revision: - label: is_or_was_displayed_at type: slot - label: DisplayLocation type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: display_location → is_or_was_displayed_at + DisplayLocation (Rule 53) + + **Pattern**: Replaced display_location string slot with DisplayLocation class accessed via is_or_was_displayed_at. + + **Files Created**: + - is_or_was_displayed_at.yaml + - DisplayLocation.yaml + + **Files Modified**: + - Loan.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/display_location_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/disposition_service revision: - label: has_or_had_service @@ -13347,6 +13412,24 @@ fixes: type: slot - label: DispositionServiceTypes type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: disposition_service → has_or_had_service + DispositionService (Rule 53) + + **Pattern**: Replaced disposition_service string slot with structured DispositionService class hierarchy. + + **Files Created**: + - DispositionService.yaml + - DispositionServiceType.yaml + - DispositionServiceTypes.yaml + + **Files Modified**: + - DepositArchive.yaml: Updated usage and examples. + + **Archived**: modules/slots/archive/disposition_service_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/dissolution_date revision: - label: is_or_was_dissolved_by @@ -13357,6 +13440,24 @@ fixes: type: slot - label: TimeSpan type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: dissolution_date → is_or_was_dissolved_by + DissolutionEvent (Rule 53) + + **Pattern**: Replaced dissolution_date date slot with structured DissolutionEvent class containing temporal_extent. + + **Files Created**: + - is_or_was_dissolved_by.yaml + - DissolutionEvent.yaml + + **Files Modified**: + - EncompassingBody.yaml + - CustodianLegalStatus.yaml + + **Archived**: modules/slots/archive/dissolution_date_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/dissolve_count revision: - label: has_or_had_quantity @@ -13633,12 +13734,18 @@ fixes: type: slot - label: Editor type: class + processed: + status: true + notes: "Migrated to is_or_was_edited_by + Editor class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education revision: - label: specifies_or_specified type: slot - label: Education type: class + processed: + status: true + notes: "Migrated to specifies_or_specified + Education class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_contact_email revision: - label: has_or_had_contact_details @@ -13649,12 +13756,18 @@ fixes: type: slot - label: EmailAddress type: class + processed: + status: true + notes: "Migrated to has_or_had_contact_details + ContactDetails/EmailAddress (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_description revision: - label: has_or_had_description type: slot - label: Description type: class + processed: + status: true + notes: "Migrated to has_or_had_description + Description. EducationEntry class archived in favor of Education class (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_end_year revision: - label: describes_or_described @@ -13669,18 +13782,27 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to Education class (temporal_extent). EducationEntry class archived (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_level revision: - label: had_or_had_level type: slot - label: EducationLevel type: class + processed: + status: true + notes: "Migrated to had_or_had_level + EducationLevel class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_provider_subtype revision: - label: had_or_had_hyponym type: slot - label: EducationProviderSubtype type: class + processed: + status: true + notes: "Migrated to had_or_had_hyponym + EducationProviderSubtype class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_start_year revision: - label: describes_or_described @@ -13695,6 +13817,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to Education class (temporal_extent). EducationEntry class archived (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_type_classification revision: - label: had_or_had_type @@ -13705,6 +13830,9 @@ fixes: type: slot - label: EducationFacilityTypes type: class + processed: + status: true + notes: "Migrated to had_or_had_type + EducationFacilityType class (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/education_years_raw revision: - label: describes_or_described @@ -13717,12 +13845,9 @@ fixes: type: class - label: has_or_had_provenance type: slot - - label: Provenance - type: class - - label: contains_or_contained - type: slot - - label: RawEducationYears - type: class + processed: + status: true + notes: "Migrated to Education class (temporal_extent). EducationEntry class archived (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/effective_date revision: - label: is_or_was_effective_at @@ -13733,6 +13858,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to is_or_was_effective_at slot (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/effective_from revision: - label: is_or_was_effective_at @@ -13743,6 +13871,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to is_or_was_effective_at + TimeSpan (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/effective_until revision: - label: is_or_was_effective_at @@ -13753,6 +13884,9 @@ fixes: type: slot - label: Timestamp type: class + processed: + status: true + notes: "Migrated to is_or_was_effective_at + TimeSpan (Rule 53) (2026-01-25)." - original_slot_id: https://nde.nl/ontology/hc/slot/eligible_applicant revision: - label: has_or_had_requirement diff --git a/src/glam_extractor/api/entity_review.py b/src/glam_extractor/api/entity_review.py index ad4d5645ef..2d24522a1f 100644 --- a/src/glam_extractor/api/entity_review.py +++ b/src/glam_extractor/api/entity_review.py @@ -1123,6 +1123,15 @@ async def get_profile(ppid: str): except Exception: pass + # Safely construct match_candidates, skipping any with missing required fields + match_candidates = [] + for c in candidates: + try: + if c.get('linkedin_ppid'): + match_candidates.append(MatchCandidateResponse(**c)) + except Exception: + pass + return ProfileDetail( ppid=ppid, name=wcms_data.get('wcms_name', 'Unknown'), @@ -1130,7 +1139,7 @@ async def get_profile(ppid: str): email_domain=wcms_data.get('wcms_email_domain'), wcms_identifiers=wcms_identifiers, wcms_activity=wcms_activity, - match_candidates=[MatchCandidateResponse(**c) for c in candidates], + match_candidates=match_candidates, annotation_date=None, source_urls=source_urls, is_wcms_only=is_wcms_only,