From 479ceae715a4c8224b2b30e06453524b37840a96 Mon Sep 17 00:00:00 2001 From: kempersc Date: Thu, 22 Jan 2026 22:35:10 +0100 Subject: [PATCH] feat: Migrate data_license_policy to has_or_had_policy; archive previous slot and update related schemas --- .../schemas/20251121/linkml/manifest.json | 2 +- schemas/20251121/linkml/manifest.json | 2 +- .../classes/EncompassingBodyTypes.yaml | 10 +- ...ata_license_policy_archived_20260122.yaml} | 0 .../linkml/modules/slots/slot_fixes.yaml | 118 +++++++++++++++++- 5 files changed, 124 insertions(+), 8 deletions(-) rename schemas/20251121/linkml/modules/slots/{data_license_policy.yaml => archive/data_license_policy_archived_20260122.yaml} (100%) diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index ab95ed2aa4..8b396617b6 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-22T21:17:35.747Z", + "generated": "2026-01-22T21:19:53.129Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3037, "categoryCounts": { diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index 8b396617b6..8f138e063b 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-22T21:19:53.129Z", + "generated": "2026-01-22T21:35:10.346Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3037, "categoryCounts": { diff --git a/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml b/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml index b301557280..8e8747cd1a 100644 --- a/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml @@ -47,7 +47,7 @@ imports: - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/has_or_had_budget # was: total_annual_budget - migrated per Rule 53 (2026-01-15) - ./Budget # for has_or_had_budget range - - ../slots/data_license_policy + - ../slots/has_or_had_policy # was: data_license_policy - migrated per Rule 53 (2026-01-22) - ../slots/description - ../slots/governance_authority - ../slots/has_or_had_area_served @@ -357,7 +357,7 @@ classes: examples: - value: OCLC membership is open to libraries and cultural heritage organizations. Members pay annual fees based on usage. Members receive governance rights and access to services. - data_license_policy: + has_or_had_policy: # was: data_license_policy - migrated per Rule 53 (2026-01-22) recommended: true exact_mappings: - org:FormalOrganization @@ -396,7 +396,7 @@ classes: rights (voting in Global Council), access to member pricing for services, and participation in cooperative programs. governance_authority: Governed by Global Council of elected library representatives. Board of Trustees provides strategic oversight. Regional councils for Americas, EMEA, and Asia Pacific. Annual Members Council meeting. - data_license_policy: + has_or_had_policy: # was: data_license_policy - migrated per Rule 53 (2026-01-22) policy_name: OCLC Data Usage Policy openness_stance: MIXED_POLICY default_license: proprietary-worldcat @@ -459,7 +459,7 @@ classes: - value: Wikimedia projects are governed by community consensus. The Wikimedia Foundation provides infrastructure and legal support but does not control content. Movement governance through affiliates, chapters, and community-elected bodies. - data_license_policy: + has_or_had_policy: # was: data_license_policy - migrated per Rule 53 (2026-01-22) required: true exact_mappings: - schema:Organization @@ -504,7 +504,7 @@ classes: governance_authority: Wikimedia projects are governed by community consensus through volunteer administrators, arbitration committees, and policy pages. The Wikimedia Foundation Board of Trustees provides strategic oversight. Movement governance through affiliates, chapters, and community-elected bodies (Movement Charter in development). - data_license_policy: + has_or_had_policy: # was: data_license_policy - migrated per Rule 53 (2026-01-22) policy_name: Wikimedia Foundation Open Content Policy openness_stance: STRONG_OPEN_ADVOCATE default_license: cc0-1.0 diff --git a/schemas/20251121/linkml/modules/slots/data_license_policy.yaml b/schemas/20251121/linkml/modules/slots/archive/data_license_policy_archived_20260122.yaml similarity index 100% rename from schemas/20251121/linkml/modules/slots/data_license_policy.yaml rename to schemas/20251121/linkml/modules/slots/archive/data_license_policy_archived_20260122.yaml diff --git a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml index 8b1bd09379..80f4985e99 100644 --- a/schemas/20251121/linkml/modules/slots/slot_fixes.yaml +++ b/schemas/20251121/linkml/modules/slots/slot_fixes.yaml @@ -11454,6 +11454,26 @@ fixes: type: slot - label: DataLicensePolicy type: class + processed: + status: true + date: '2026-01-22' + agent: claude-claude-sonnet-4-20250514 + notes: | + **Migration #63: data_license_policy** ✅ COMPLETE + + **Pattern**: data_license_policy → has_or_had_policy + DataLicensePolicy + + **Files Used** (pre-existing): + - has_or_had_policy.yaml (with range: Policy) + - DataLicensePolicy.yaml (subclass of Policy) + + **Files Modified**: + - Custodian.yaml: Replaced data_license_policy with has_or_had_policy (range narrowed to DataLicensePolicy) + - WebPortal.yaml: Replaced data_license_policy with has_or_had_policy + - EncompassingBody.yaml: Replaced data_license_policy with has_or_had_policy (also cleaned duplicate imports) + - EncompassingBodyTypes.yaml: Updated slot_usage and examples + + **Archived**: modules/slots/archive/data_license_policy_archived_20260122.yaml - original_slot_id: https://nde.nl/ontology/hc/slot/data_source revision: - label: has_or_had_repository @@ -15312,4 +15332,100 @@ fixes: type: slot - label: URL type: class -# https://nde.nl/ontology/hc/slot/has_auxiliary_place +- original_slot_id: https://nde.nl/ontology/hc/slot/has_auxiliary_place + revision: + - label: is_or_was_associated_with + type: slot + - label: Place + type: class +- orignal_slot_id: https://nde.nl/ontology/hc/slot/has_auxiliary_place_type + revision: + - label: has_or_had_type + type: slot + - label: PlaceType + type: class + - label: includes_or_included + type: slot + - label: PlaceTypes + type: class +- orignal_slot_id: https://nde.nl/ontology/hc/slot/has_auxiliary_platform + revision: + - label: is_or_was_associated_with + type: slot + - label: Platform + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/has_auxiliary_platform_type + revision: + - label: has_or_had_type + type: slot + - label: PlatformType + type: class + - label: includes_or_included + type: slot + - label: PlatformTypes + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/has_av_equipment + revision: + - label: has_or_had_equipment + type: slot + - label: AVEquipment + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/has_availability_timespan + revision: + - label: has_or_had_time_interval + type: slot + - label: TimeSpan + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/has_available_caption_language + revision: + - label: has_or_had_caption + type: slot + - label: Caption + type: class + - label: has_or_had_language + type: slot + - label: Language + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/has_average_entry_duration_seconds + revision: + - label: had_or_had_time_interval + type: slot + - label: TimeSpan + type: class + - label: has_or_had_mean + type: slot + - label: MeanValue + type: class + - label: has_or_had_unit + type: slot + - label: Unit + type: class + value: seconds +- original_slot_id: https://nde.nl/ontology/hc/slot/has_average_scene_duration_seconds + revision: + - label: has_or_had_dhad_or_had_time_intervaluration + type: slot + - label: TimeSpan + type: class + - label: has_or_had_mean + type: slot + - label: MeanValue + type: class + - label: has_or_had_unit + type: slot + - label: Unit + type: class + value: seconds +- original_slot_id: https://nde.nl/ontology/hc/slot/has_boundary + revision: + - label: has_or_had_boundary + type: slot + - label: Boundary + type: class +- original_slot_id: https://nde.nl/ontology/hc/slot/has_budget + revision: + - label: has_or_had_budget + type: slot + - label: Budget + type: class +# https://nde.nl/ontology/hc/slot/has_climate_control