From 4fa0fd572f680799aa1551c92f5825801fc03b6d Mon Sep 17 00:00:00 2001 From: kempersc Date: Mon, 26 Jan 2026 09:03:23 +0100 Subject: [PATCH] feat: Migrate document_type to structured classes and update related slots --- .../schemas/20251121/linkml/manifest.json | 2 +- schemas/20251121/linkml/manifest.json | 2 +- .../classes/ArticlesOfAssociation.yaml | 29 +++++++++++++++---- .../linkml/modules/classes/DocumentType.yaml | 21 ++++++++++++++ .../linkml/modules/classes/DocumentTypes.yaml | 26 +++++++++++++++++ .../document_type_archived_20260126.yaml} | 0 .../linkml/modules/slots/slot_fixes.yaml | 27 +++++++++++++++++ 7 files changed, 99 insertions(+), 8 deletions(-) create mode 100644 schemas/20251121/linkml/modules/classes/DocumentType.yaml create mode 100644 schemas/20251121/linkml/modules/classes/DocumentTypes.yaml rename schemas/20251121/linkml/modules/slots/{document_type.yaml => archive/document_type_archived_20260126.yaml} (100%) diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index e993358de2..883feb243a 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-26T07:55:56.399Z", + "generated": "2026-01-26T08:00:29.709Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3040, "categoryCounts": { diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index 883feb243a..91f1cec3a4 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-26T08:00:29.709Z", + "generated": "2026-01-26T08:03:23.695Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3040, "categoryCounts": { diff --git a/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml b/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml index 8ddb7f7fac..a2924c28dc 100644 --- a/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml +++ b/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml @@ -26,7 +26,9 @@ imports: - ./Description - ../slots/has_or_had_title - ./Title - - ../slots/document_type + - ../slots/has_or_had_type + - ./DocumentType + - ./DocumentTypes - ../slots/execution_date - ../slots/governance_clause - ../slots/id @@ -134,7 +136,7 @@ classes: - is_or_was_included_in # was: collected_in - migrated per Rule 53 (2026-01-19) - has_or_had_description - has_or_had_title - - document_type + - has_or_had_type - is_or_was_effective_at - execution_date - governance_clause @@ -186,11 +188,22 @@ classes: description_text: Original founding articles of the Rijksmuseum foundation description: Document description document_type: + description: | + DEPRECATED 2026-01-26: Use has_or_had_type with DocumentType subclass. range: string + deprecated: "Use has_or_had_type" + has_or_had_type: + description: | + Type of the document (e.g. NotarialDeed). + MIGRATED from document_type per Rule 53 (2026-01-26). + range: DocumentType + inlined: true required: true examples: - - value: NOTARIAL_DEED - description: Dutch notarial deed for stichting + - value: + has_or_had_label: "Notarial Deed" + has_or_had_type: NotarialDeed + description: Standard Dutch notarial deed execution_date: range: date required: true @@ -360,7 +373,9 @@ classes: has_or_had_description: description_text: Original founding articles of the Rijksmuseum foundation, establishing governance structure and museum operations. - document_type: NOTARIAL_DEED + has_or_had_type: + has_or_had_type: NotarialDeed + has_or_had_label: "Notarial Deed" execution_date: '1885-06-28' is_or_was_effective_at: '1885-07-01' notary_name: mr. H.J. van den Berg @@ -391,7 +406,9 @@ classes: 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 + has_or_had_type: + has_or_had_type: NotarialDeed + has_or_had_label: "Notarial Deed" execution_date: '2015-11-12' is_or_was_effective_at: '2015-11-12' notary_name: mr. A.M. de Vries diff --git a/schemas/20251121/linkml/modules/classes/DocumentType.yaml b/schemas/20251121/linkml/modules/classes/DocumentType.yaml new file mode 100644 index 0000000000..58370af5c2 --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DocumentType.yaml @@ -0,0 +1,21 @@ +id: https://nde.nl/ontology/hc/class/DocumentType +name: DocumentType +title: Document Type Class +description: >- + Abstract base class for document types. + MIGRATED from document_type 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: + DocumentType: + abstract: true + description: Classification of a document. + slots: + - has_or_had_label + - has_or_had_description diff --git a/schemas/20251121/linkml/modules/classes/DocumentTypes.yaml b/schemas/20251121/linkml/modules/classes/DocumentTypes.yaml new file mode 100644 index 0000000000..ec0953d7da --- /dev/null +++ b/schemas/20251121/linkml/modules/classes/DocumentTypes.yaml @@ -0,0 +1,26 @@ +id: https://nde.nl/ontology/hc/class/DocumentTypes +name: DocumentTypes +title: Document Types +description: >- + Concrete types of documents. + MIGRATED from document_type string (2026-01-26). +imports: + - linkml:types + - ./DocumentType +default_prefix: hc +classes: + NotarialDeed: + is_a: DocumentType + description: A formal document executed by a notary public. + + Bylaws: + is_a: DocumentType + description: Rulebook or guidelines for an organization. + + Charter: + is_a: DocumentType + description: A document granting rights or privileges. + + MemorandumOfAssociation: + is_a: DocumentType + description: Legal document setting up a company. diff --git a/schemas/20251121/linkml/modules/slots/document_type.yaml b/schemas/20251121/linkml/modules/slots/archive/document_type_archived_20260126.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/document_type.yaml rename to schemas/20251121/linkml/modules/slots/archive/document_type_archived_20260126.yaml diff --git a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml index 058080d7d7..c120c63776 100644 --- a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml +++ b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml @@ -13502,12 +13502,39 @@ fixes: type: slot - label: Description type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: document_description → has_or_had_description + Description (Rule 53) + + **Pattern**: Replaced document_description string slot with structured Description class accessed via has_or_had_description. + + **Files Modified**: + - ArticlesOfAssociation.yaml + + **Archived**: modules/slots/archive/document_description_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/document_title revision: - label: has_or_had_title type: slot - label: Title type: class + processed: + status: true + date: '2026-01-26' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration Complete**: document_title → has_or_had_title + Title (Rule 53) + + **Pattern**: Replaced document_title string slot with structured Title class accessed via has_or_had_title. + + **Files Modified**: + - ArticlesOfAssociation.yaml + - CustodianLegalStatus.yaml + + **Archived**: modules/slots/archive/document_title_archived_20260126.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/document_type revision: - label: has_or_had_type