Refactor and Archive Deprecated Slots
- Removed deprecated slots: - accepts_or_accepted_external_work - accepts_or_accepted_payment_method - accepts_or_accepted_visiting_scholar - parent_collection - parent_custodian - storage_description - storage_type_description - sub_guide_description - transfer_location - transfer_location_text - transfer_policy - transfer_to_collection_date - unit_description - Archived corresponding YAML files for the removed slots with detailed notes on migration and replacements. - Updated slot fixes to reflect the migration of deprecated slots to new structures and naming conventions. - Introduced new slots and classes to replace deprecated ones, ensuring compliance with RiC-O standards.
This commit is contained in:
parent
ea61e36a8e
commit
8174c9692e
34 changed files with 390 additions and 135 deletions
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"generated": "2026-01-15T11:25:29.119Z",
|
||||
"generated": "2026-01-15T11:37:46.717Z",
|
||||
"schemaRoot": "/schemas/20251121/linkml",
|
||||
"totalFiles": 3026,
|
||||
"categoryCounts": {
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ imports:
|
|||
- modules/slots/observation_context
|
||||
- modules/slots/observation_date
|
||||
- modules/slots/observed_name
|
||||
- modules/slots/parent_custodian
|
||||
# REMOVED 2026-01-15: parent_custodian - archived and migrated (see slot_fixes.yaml)
|
||||
- modules/slots/place_designation
|
||||
- modules/slots/place_name
|
||||
- modules/slots/place_language
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"generated": "2026-01-15T11:37:46.717Z",
|
||||
"generated": "2026-01-15T12:00:28.038Z",
|
||||
"schemaRoot": "/schemas/20251121/linkml",
|
||||
"totalFiles": 3026,
|
||||
"categoryCounts": {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ imports:
|
|||
- ./ReconstructedEntity
|
||||
- ./CustodianObservation
|
||||
- ./ReconstructionActivity
|
||||
- ../slots/accepts_or_accepted_external_work
|
||||
- ../slots/accepts_or_accepted
|
||||
- ./ExternalWork
|
||||
- ../slots/has_or_had_accreditation_body
|
||||
- ../slots/conservation_specialization
|
||||
- ../slots/equipment_type
|
||||
|
|
@ -74,7 +75,7 @@ classes:
|
|||
- crm:E14_Condition_Assessment
|
||||
- schema:ResearchOrganization
|
||||
slots:
|
||||
- accepts_or_accepted_external_work
|
||||
- accepts_or_accepted
|
||||
- has_or_had_accreditation_body
|
||||
- conservation_specialization
|
||||
- equipment_type
|
||||
|
|
@ -180,13 +181,16 @@ classes:
|
|||
examples:
|
||||
- value: 8
|
||||
description: Medium-sized conservation team
|
||||
accepts_or_accepted_external_work:
|
||||
range: boolean
|
||||
accepts_or_accepted:
|
||||
range: ExternalWork
|
||||
inlined: true
|
||||
multivalued: true
|
||||
description: External work types that this conservation lab accepts (e.g., conservation commissions, digitization).
|
||||
examples:
|
||||
- value: true
|
||||
description: Accepts external commissions
|
||||
- value: false
|
||||
description: Internal collections only
|
||||
- value:
|
||||
work_type: "conservation"
|
||||
description: "Paper and textile conservation"
|
||||
description: Accepts external conservation commissions
|
||||
was_derived_from:
|
||||
range: CustodianObservation
|
||||
multivalued: true
|
||||
|
|
@ -226,7 +230,7 @@ classes:
|
|||
is_accredited: true
|
||||
accreditation_body: VeRes
|
||||
staff_count: 12
|
||||
accepts_or_accepted_external_work: false
|
||||
accepts_or_accepted: [] # No external work accepted
|
||||
description: Major museum conservation studio
|
||||
- value:
|
||||
lab_id: https://nde.nl/ontology/hc/aux/na-restauratie
|
||||
|
|
@ -247,5 +251,9 @@ classes:
|
|||
has_fume_hoods: true
|
||||
has_deacidification_facility: true
|
||||
staff_count: 6
|
||||
accepts_or_accepted_external_work: true
|
||||
accepts_or_accepted:
|
||||
- work_type: "paper_conservation"
|
||||
description: "Paper and parchment conservation commissions"
|
||||
- work_type: "seal_restoration"
|
||||
description: "Historical seal restoration"
|
||||
description: Archive paper conservation workshop
|
||||
|
|
|
|||
|
|
@ -77,8 +77,18 @@ classes:
|
|||
range: string
|
||||
examples:
|
||||
- value: Ministry of Finance
|
||||
transfer_policy:
|
||||
range: string
|
||||
# MIGRATED 2026-01-15: transfer_policy → has_or_had_policy with range TransferPolicy (Rule 53)
|
||||
has_or_had_policy:
|
||||
description: |
|
||||
Policy governing transfers of records from this archive type.
|
||||
Replaces bespoke transfer_policy slot.
|
||||
range: TransferPolicy
|
||||
multivalued: true
|
||||
inlined: true
|
||||
examples:
|
||||
- value:
|
||||
policy_name: Government Records Transfer Policy
|
||||
policy_text: Records transferred to National Archives after 20 years
|
||||
has_narrower_instance:
|
||||
range: CustodianArchive
|
||||
multivalued: true
|
||||
|
|
|
|||
|
|
@ -44,7 +44,9 @@ imports:
|
|||
- ../slots/successor_collection
|
||||
- ../slots/template_specificity
|
||||
- ../slots/has_or_had_tracked_in_cm
|
||||
- ../slots/transfer_to_collection_date
|
||||
# REMOVED 2026-01-15: transfer_to_collection_date - migrated to is_or_was_transferred + TransferEvent (Rule 53)
|
||||
- ../slots/is_or_was_transferred
|
||||
- ./TransferEvent
|
||||
- ../slots/temporal_extent # was: valid_from + valid_to - migrated per Rule 53
|
||||
# REMOVED 2026-01-14: valid_from + valid_to - migrated to temporal_extent (Rule 53)
|
||||
- ../slots/was_derived_from
|
||||
|
|
@ -96,8 +98,8 @@ classes:
|
|||
- storage_location
|
||||
- successor_collection
|
||||
- template_specificity
|
||||
- has_or_had_tracked_in_cm
|
||||
- transfer_to_collection_date
|
||||
# MIGRATED 2026-01-15: transfer_to_collection_date → is_or_was_transferred + TransferEvent (Rule 53)
|
||||
- is_or_was_transferred
|
||||
- temporal_extent # was: valid_from + valid_to - migrated per Rule 53
|
||||
- was_derived_from
|
||||
- was_generated_by
|
||||
|
|
@ -239,12 +241,24 @@ classes:
|
|||
examples:
|
||||
- value: '2024-09-15'
|
||||
description: Processing completed September 2024
|
||||
transfer_to_collection_date:
|
||||
range: date
|
||||
# MIGRATED 2026-01-15: transfer_to_collection_date → is_or_was_transferred + TransferEvent (Rule 53)
|
||||
is_or_was_transferred:
|
||||
description: |
|
||||
Transfer events for this archive, including transfer to CustodianCollection.
|
||||
Replaces bespoke transfer_to_collection_date slot.
|
||||
range: TransferEvent
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
required: false
|
||||
examples:
|
||||
- value: '2024-10-01'
|
||||
description: Transferred to collection October 2024
|
||||
- value:
|
||||
temporal_extent:
|
||||
begin_of_the_begin:
|
||||
timestamp_value: "2024-10-01T00:00:00Z"
|
||||
has_or_had_description:
|
||||
description_text: "Transferred to collection after processing complete"
|
||||
description: Transfer to CustodianCollection October 2024
|
||||
successor_collection:
|
||||
range: uriorcurie
|
||||
required: false
|
||||
|
|
|
|||
|
|
@ -128,7 +128,8 @@ imports:
|
|||
- ../slots/slug
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/start
|
||||
- ../slots/sub_guide_description
|
||||
- ../slots/has_or_had_description # was: sub_guide_description - migrated per Rule 53
|
||||
- ./Description
|
||||
- ../slots/sub_guide_temporal_coverage
|
||||
- ./SubGuideType
|
||||
- ../slots/has_or_had_sub_guide
|
||||
|
|
@ -536,7 +537,7 @@ classes:
|
|||
- note
|
||||
- slug
|
||||
- specificity_annotation
|
||||
- sub_guide_description
|
||||
- has_or_had_description # was: sub_guide_description - migrated per Rule 53
|
||||
- sub_guide_temporal_coverage
|
||||
- has_or_had_type
|
||||
- template_specificity
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@ imports:
|
|||
- ../slots/managed_by
|
||||
- ../slots/price_currency
|
||||
- ./ReconstructedEntity
|
||||
- ../slots/accepts_or_accepted_payment_method
|
||||
- ../slots/accepts_or_accepted
|
||||
- ./PaymentMethod
|
||||
- ../slots/has_or_had_annual_revenue
|
||||
- ../slots/giftshop_price_range
|
||||
- ../slots/online_shop
|
||||
|
|
@ -63,7 +64,7 @@ classes:
|
|||
\ Extend institutional identity through products\n- **Educational outreach**: Books, educational materials, replicas\
|
||||
\ for learning\n\n**PHYSICAL vs. DIGITAL PRESENCE**:\n\nGift shops can exist in multiple forms:\n\n1. **Physical shop**\
|
||||
\ (on-site): Located within museum/archive building\n - Links to AuxiliaryPlace (physical location)\n - Has opening_hours,\
|
||||
\ accepts_or_accepted_payment_method\n \n2. **Physical shop** (separate): Stand-alone retail location\n - Links\
|
||||
\ accepts_or_accepted (PaymentMethod)\n \n2. **Physical shop** (separate): Stand-alone retail location\n - Links\
|
||||
\ to AuxiliaryPlace with type RETAIL_SPACE\n - May have separate street address, hours\n \n3. **Online shop** (e-commerce):\
|
||||
\ Web-based retail platform\n - Links to AuxiliaryDigitalPlatform with type WEBSHOP\n - Has platform_url, shipping\
|
||||
\ policies\n \n4. **Hybrid**: Both physical and online presence\n - Multiple links to AuxiliaryPlace AND AuxiliaryDigitalPlatform\n\
|
||||
|
|
@ -105,7 +106,7 @@ classes:
|
|||
- gr:Offering
|
||||
- schema:Product
|
||||
slots:
|
||||
- accepts_or_accepted_payment_method
|
||||
- accepts_or_accepted
|
||||
- has_or_had_annual_revenue
|
||||
- giftshop_price_range
|
||||
- managed_by
|
||||
|
|
@ -207,16 +208,18 @@ classes:
|
|||
description: Mid-range pricing
|
||||
- value: €5-€500
|
||||
description: Price range in euros
|
||||
accepts_or_accepted_payment_method:
|
||||
range: string
|
||||
accepts_or_accepted:
|
||||
range: PaymentMethod
|
||||
inlined: true
|
||||
multivalued: true
|
||||
required: false
|
||||
description: Payment methods accepted by this gift shop.
|
||||
examples:
|
||||
- value:
|
||||
- CASH
|
||||
- CREDIT_CARD
|
||||
- DEBIT_CARD
|
||||
- MOBILE_PAYMENT
|
||||
- method_type: "credit_card"
|
||||
provider: "Visa"
|
||||
- method_type: "digital"
|
||||
provider: "iDEAL"
|
||||
description: Common payment methods
|
||||
opening_hour:
|
||||
range: string
|
||||
|
|
@ -337,12 +340,16 @@ classes:
|
|||
- HOME_DECOR
|
||||
price_currency: EUR
|
||||
giftshop_price_range: $$
|
||||
accepts_or_accepted_payment_method:
|
||||
- CASH
|
||||
- CREDIT_CARD
|
||||
- DEBIT_CARD
|
||||
- MOBILE_PAYMENT
|
||||
- MUSEUM_CARD
|
||||
accepts_or_accepted:
|
||||
- method_type: CASH
|
||||
- method_type: CREDIT_CARD
|
||||
provider: Visa, Mastercard
|
||||
- method_type: DEBIT_CARD
|
||||
provider: Maestro
|
||||
- method_type: MOBILE_PAYMENT
|
||||
provider: Apple Pay, Google Pay
|
||||
- method_type: MUSEUM_CARD
|
||||
provider: Museumkaart
|
||||
opening_hours: Mo-Su 09:00-18:00
|
||||
staff_count: 25
|
||||
square_meters: 450.0
|
||||
|
|
@ -373,10 +380,12 @@ classes:
|
|||
- GIFTS
|
||||
price_currency: GBP
|
||||
giftshop_price_range: $$
|
||||
accepts_or_accepted_payment_method:
|
||||
- CASH
|
||||
- CREDIT_CARD
|
||||
- DEBIT_CARD
|
||||
accepts_or_accepted:
|
||||
- method_type: CASH
|
||||
- method_type: CREDIT_CARD
|
||||
provider: Visa, Mastercard
|
||||
- method_type: DEBIT_CARD
|
||||
provider: V-Pay
|
||||
opening_hours: Mo-Fr 09:30-18:00, Sa 09:30-17:00, Su 11:00-17:00
|
||||
refers_to_custodian: https://nde.nl/ontology/hc/gb-british-library
|
||||
description: British Library specialist bookshop
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
# InvalidWebClaim - Invalid claim with validation reason
|
||||
# Extracted from custodian_source.yaml per Rule 38 (modular schema files)
|
||||
# Extraction date: 2026-01-08
|
||||
# MIGRATION (2026-01-15): Replaced xpath/xpath_match_score/html_file attributes with has_or_had_provenance_path using XPath class
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/InvalidWebClaim
|
||||
name: InvalidWebClaim
|
||||
|
|
@ -17,6 +18,7 @@ prefixes:
|
|||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./XPath
|
||||
|
||||
|
||||
default_range: string
|
||||
|
|
@ -35,6 +37,9 @@ classes:
|
|||
- close_mappings includes dqv:QualityAnnotation as this documents a
|
||||
quality issue with extracted data
|
||||
- related_mappings includes prov:Entity for provenance tracking
|
||||
|
||||
XPath provenance is captured via has_or_had_provenance_path using the
|
||||
XPath class, which consolidates expression, match_score, and source_document.
|
||||
class_uri: rdf:Statement
|
||||
close_mappings:
|
||||
- dqv:QualityAnnotation
|
||||
|
|
@ -56,15 +61,13 @@ classes:
|
|||
retrieved_on:
|
||||
range: datetime
|
||||
description: When page was archived
|
||||
xpath:
|
||||
range: string
|
||||
description: XPath to element
|
||||
html_file:
|
||||
range: string
|
||||
description: Relative path to archived HTML
|
||||
xpath_match_score:
|
||||
range: float
|
||||
description: Match score
|
||||
has_or_had_provenance_path:
|
||||
range: XPath
|
||||
inlined: true
|
||||
description: >-
|
||||
XPath provenance path documenting the exact location in the source HTML
|
||||
where this claim was extracted from. Contains expression, match_score,
|
||||
matched_text, and source_document (path to archived HTML file).
|
||||
extraction_method:
|
||||
range: string
|
||||
description: Extraction method
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ imports:
|
|||
- ./TemplateSpecificityScores
|
||||
- ../enums/StatementTypeEnum
|
||||
- ./StatementType
|
||||
- ./XPath
|
||||
- ../slots/source_url
|
||||
- ../slots/retrieved_on
|
||||
- ../slots/content_hash
|
||||
|
|
@ -24,7 +25,7 @@ imports:
|
|||
- ../slots/effective_date
|
||||
- ../slots/extraction_agent
|
||||
- ../slots/extraction_note
|
||||
- ../slots/xpath
|
||||
- ../slots/has_or_had_provenance_path
|
||||
- ../slots/css_selector
|
||||
- ../slots/html_file
|
||||
- ../slots/extraction_timestamp
|
||||
|
|
@ -98,7 +99,7 @@ classes:
|
|||
- supersede
|
||||
- template_specificity
|
||||
- text_fragment
|
||||
- xpath
|
||||
- has_or_had_provenance_path
|
||||
slot_usage:
|
||||
has_or_had_type:
|
||||
required: true
|
||||
|
|
@ -119,11 +120,19 @@ classes:
|
|||
required: true
|
||||
retrieved_on:
|
||||
required: true
|
||||
has_or_had_provenance_path:
|
||||
range: XPath
|
||||
inlined: true
|
||||
description: |
|
||||
XPath provenance path documenting the exact location in the source HTML
|
||||
where this statement was extracted from. Contains the XPath expression,
|
||||
match score, and reference to the archived HTML file.
|
||||
comments:
|
||||
- 'MIGRATION (2026-01-15): Replaced xpath/xpath_match_score slots with has_or_had_provenance_path using XPath class per slot_fixes.yaml'
|
||||
- 'Rule note: Mottos should be brief - typically under 50 characters'
|
||||
- MissionStatement maps to org:purpose from W3C Organization Ontology
|
||||
- Requires source_url and retrieved_on for provenance
|
||||
- Strongly recommend xpath/css_selector + html_file for verification
|
||||
- Strongly recommend has_or_had_provenance_path (XPath class) + html_file for verification
|
||||
- content_hash enables integrity checking
|
||||
- has_archive_memento_uri ensures long-term source accessibility
|
||||
- Supports tracking statement evolution via supersedes field
|
||||
|
|
|
|||
|
|
@ -19,12 +19,12 @@ imports:
|
|||
- ../slots/person_claim_type
|
||||
- ../slots/person_claim_value
|
||||
- ../slots/person_html_file
|
||||
- ../slots/person_xpath
|
||||
- ../slots/person_xpath_match_score
|
||||
- ../slots/has_or_had_provenance_path
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ./XPath
|
||||
- ../enums/PersonClaimTypeEnum
|
||||
- ../enums/RetrievalAgentEnum
|
||||
default_prefix: hc
|
||||
|
|
@ -35,8 +35,7 @@ classes:
|
|||
\ Data Provenance**\n\nAll person/staff data associated with heritage custodians MUST have\nweb claim provenance. This\
|
||||
\ includes:\n- Staff names, titles, and roles\n- Contact information (if publicly available)\n- Professional history\
|
||||
\ and education\n- Affiliations and expertise areas\n\n**VERIFIABILITY PRINCIPLE**\n\nLike the base WebClaim class,\
|
||||
\ PersonWebClaim follows the \"XPath or Remove\" principle:\n- Claims from web pages MUST have xpath pointing to source\
|
||||
\ element\n- Claims from APIs (LinkedIn via Exa) may have xpath=null but MUST have source_url\n- Claims without any\
|
||||
\ PersonWebClaim follows the \"XPath or Remove\" principle:\n- Claims from web pages MUST have has_or_had_provenance_path with XPath expression\n- Claims from APIs (LinkedIn via Exa) may omit has_or_had_provenance_path but MUST have source_url\n- Claims without any\
|
||||
\ verifiable source are FABRICATED and must be removed\n\n**SOURCE HIERARCHY**\n\nWhen multiple sources provide the\
|
||||
\ same information:\n1. Official institutional website (highest reliability)\n2. LinkedIn profile (high reliability)\n\
|
||||
3. News articles/press releases (medium-high)\n4. Conference programs (medium)\n5. Academic publications (medium)\n\
|
||||
|
|
@ -45,11 +44,11 @@ classes:
|
|||
\ (e.g., \"Senior Curator\")\n- **department**: Organizational unit\n- **email**: Professional contact (only if public)\n\
|
||||
- **biography**: Professional bio text\n- **specialization**: Expertise areas\n- **education**: Degrees and institutions\n\
|
||||
\n**EXTRACTION WORKFLOW**\n\n1. SCRAPE institutional staff/team pages with FireCrawl\n2. EXTRACT names and roles with\
|
||||
\ XPath locations\n3. SEARCH LinkedIn for additional profile data\n4. CREATE PersonWebClaim for each extracted fact\n\
|
||||
\ XPath locations stored in has_or_had_provenance_path\n3. SEARCH LinkedIn for additional profile data\n4. CREATE PersonWebClaim for each extracted fact\n\
|
||||
5. LINK claims to PersonObservation records\n\n**INTEGRATION WITH PERSONOBSERVATION**\n\nPersonObservation (the PiCo-based\
|
||||
\ staff role record) references\nPersonWebClaim instances via the `web_claims` slot:\n\n```yaml\nPersonObservation:\n\
|
||||
\ person_name: \"Dr. Jane Smith\"\n staff_role: CONSERVATOR\n has_or_had_web_claim:\n - claim_type: full_name\n\
|
||||
\ claim_value: \"Dr. Jane Smith\"\n source_url: https://museum.org/team\n xpath: /html/body/main/div[2]/h3\n\
|
||||
\ claim_value: \"Dr. Jane Smith\"\n source_url: https://museum.org/team\n has_or_had_provenance_path:\n expression: /html/body/main/div[2]/h3\n match_score: 1.0\n\
|
||||
\ retrieval_agent: firecrawl\n```\n\n**LINKEDIN PROFILE HANDLING**\n\nFor LinkedIn data, create separate profile\
|
||||
\ files (per Rule 12, Rule 20)\nand reference them:\n\n```yaml\nlinkedin_claims:\n linkedin_url: https://www.linkedin.com/in/jane-smith\n\
|
||||
\ profile_data_path: data/custodian/person/entity/jane-smith_20250115.json\n retrieved_on: \"2025-01-15T10:30:00Z\"\
|
||||
|
|
@ -65,8 +64,7 @@ classes:
|
|||
- person_claim_type
|
||||
- person_claim_value
|
||||
- person_html_file
|
||||
- person_xpath
|
||||
- person_xpath_match_score
|
||||
- has_or_had_provenance_path
|
||||
- retrieval_agent
|
||||
- retrieved_on
|
||||
- source_url
|
||||
|
|
@ -84,7 +82,16 @@ classes:
|
|||
retrieval_agent:
|
||||
required: true
|
||||
range: RetrievalAgentEnum
|
||||
has_or_had_provenance_path:
|
||||
range: XPath
|
||||
inlined: true
|
||||
description: |
|
||||
XPath provenance path documenting the exact location in the source HTML
|
||||
where this person claim was extracted from. Contains the XPath expression,
|
||||
match score, and matched text.
|
||||
REQUIRED for web page claims. May be omitted for API-sourced claims (e.g., LinkedIn via Exa).
|
||||
comments:
|
||||
- 'MIGRATION (2026-01-15): Replaced person_xpath/person_xpath_match_score slots with has_or_had_provenance_path using XPath class per slot_fixes.yaml'
|
||||
- PersonWebClaim extends WebClaim pattern for person-specific data
|
||||
- 'XPATH OR REMOVE: Claims without verifiable source must be removed'
|
||||
- Links to PersonObservation via web_claims slot
|
||||
|
|
@ -96,9 +103,11 @@ classes:
|
|||
person_claim_value: Taco Dibbits
|
||||
source_url: https://www.rijksmuseum.nl/en/about-us/organisation
|
||||
retrieved_on: '2025-01-15T10:30:00Z'
|
||||
person_xpath: /html/body/main/section[2]/div[1]/h2
|
||||
has_or_had_provenance_path:
|
||||
expression: /html/body/main/section[2]/div[1]/h2
|
||||
match_score: 1.0
|
||||
source_document: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html
|
||||
person_html_file: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html
|
||||
person_xpath_match_score: 1.0
|
||||
retrieval_agent: firecrawl
|
||||
description: Exact match for museum director name
|
||||
- value:
|
||||
|
|
@ -106,9 +115,11 @@ classes:
|
|||
person_claim_value: General Director
|
||||
source_url: https://www.rijksmuseum.nl/en/about-us/organisation
|
||||
retrieved_on: '2025-01-15T10:30:00Z'
|
||||
person_xpath: /html/body/main/section[2]/div[1]/p[1]
|
||||
has_or_had_provenance_path:
|
||||
expression: /html/body/main/section[2]/div[1]/p[1]
|
||||
match_score: 1.0
|
||||
source_document: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html
|
||||
person_html_file: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html
|
||||
person_xpath_match_score: 1.0
|
||||
retrieval_agent: firecrawl
|
||||
description: Role title from institutional page
|
||||
- value:
|
||||
|
|
@ -116,18 +127,20 @@ classes:
|
|||
person_claim_value: Taco Dibbits has been General Director since 2016...
|
||||
source_url: https://www.rijksmuseum.nl/en/about-us/organisation
|
||||
retrieved_on: '2025-01-15T10:30:00Z'
|
||||
person_xpath: /html/body/main/section[2]/div[1]/div[2]
|
||||
has_or_had_provenance_path:
|
||||
expression: /html/body/main/section[2]/div[1]/div[2]
|
||||
match_score: 0.92
|
||||
matched_text: Taco Dibbits has been General Director since 2016...
|
||||
source_document: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html
|
||||
person_html_file: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html
|
||||
person_xpath_match_score: 0.92
|
||||
retrieval_agent: firecrawl
|
||||
person_claim_notes: Biography truncated from longer text on page
|
||||
person_claim_note: Biography truncated from longer text on page
|
||||
description: Biography text with partial match score
|
||||
- value:
|
||||
person_claim_type: linkedin_url
|
||||
person_claim_value: https://www.linkedin.com/in/taco-dibbits
|
||||
source_url: https://www.linkedin.com/in/taco-dibbits
|
||||
retrieved_on: '2025-01-15T11:00:00Z'
|
||||
person_xpath: null
|
||||
retrieval_agent: exa_crawling_exa
|
||||
person_claim_notes: Profile data stored in person/entity/taco-dibbits_20250115.json
|
||||
description: LinkedIn claim - XPath null for API extraction
|
||||
person_claim_note: Profile data stored in person/entity/taco-dibbits_20250115.json. No XPath for API extraction.
|
||||
description: LinkedIn claim - No XPath for API extraction
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ imports:
|
|||
- ./CustodianObservation
|
||||
- ./ReconstructionActivity
|
||||
- ../enums/ResearchCenterTypeEnum
|
||||
- ../slots/accepts_or_accepted_visiting_scholar
|
||||
- ../slots/accepts_or_accepted
|
||||
- ./VisitingScholar
|
||||
- ../slots/has_or_had_affiliated_university
|
||||
- ../slots/has_or_had_custodian_type
|
||||
- ../slots/fellows_count
|
||||
|
|
@ -75,7 +76,7 @@ classes:
|
|||
- hc:ConservationLab
|
||||
- hc:EducationCenter
|
||||
slots:
|
||||
- accepts_or_accepted_visiting_scholar
|
||||
- accepts_or_accepted
|
||||
- has_or_had_affiliated_university
|
||||
- has_or_had_custodian_type
|
||||
- fellows_count
|
||||
|
|
@ -173,11 +174,17 @@ classes:
|
|||
examples:
|
||||
- value: true
|
||||
description: Has research library
|
||||
accepts_or_accepted_visiting_scholar:
|
||||
range: boolean
|
||||
accepts_or_accepted:
|
||||
range: VisitingScholar
|
||||
inlined: true
|
||||
multivalued: true
|
||||
description: Visiting scholar programs that this research center accepts.
|
||||
examples:
|
||||
- value: true
|
||||
description: Accepts visitors
|
||||
- value:
|
||||
program_type: "fellowship"
|
||||
duration: "3-6 months"
|
||||
stipend_available: true
|
||||
description: Fellowship program
|
||||
major_research_project:
|
||||
range: string
|
||||
multivalued: true
|
||||
|
|
@ -230,7 +237,13 @@ classes:
|
|||
has_publication_series: true
|
||||
publication_series_name: Rijksmuseum Studies in Art
|
||||
has_research_library: true
|
||||
accepts_or_accepted_visiting_scholar: true
|
||||
accepts_or_accepted:
|
||||
- program_type: "fellowship"
|
||||
duration: "3-12 months"
|
||||
eligibility:
|
||||
- "PhD candidates"
|
||||
- "Post-doctoral researchers"
|
||||
stipend_available: true
|
||||
major_research_project:
|
||||
- Rembrandt Database
|
||||
- Operation Night Watch
|
||||
|
|
@ -252,6 +265,10 @@ classes:
|
|||
- TU Delft
|
||||
has_fellows_program: true
|
||||
fellows_count: 4
|
||||
accepts_or_accepted_visiting_scholar: true
|
||||
accepts_or_accepted:
|
||||
- program_type: "short_term_visit"
|
||||
duration: "1-4 weeks"
|
||||
eligibility:
|
||||
- "Academic researchers"
|
||||
staff_count: 8
|
||||
description: Digital humanities research lab
|
||||
|
|
|
|||
|
|
@ -43,7 +43,8 @@ imports:
|
|||
- ../slots/specificity_annotation
|
||||
- ../slots/standards_applied
|
||||
- ../slots/has_or_had_storage_condition
|
||||
- ../slots/storage_description
|
||||
- ../slots/has_or_had_description # was: storage_description - migrated per Rule 53
|
||||
- ./Description
|
||||
- ../slots/storage_id
|
||||
- ../slots/storage_name
|
||||
- ../slots/has_or_had_type
|
||||
|
|
@ -120,7 +121,7 @@ classes:
|
|||
- specificity_annotation
|
||||
- standards_applied
|
||||
- has_or_had_storage_condition
|
||||
- storage_description
|
||||
- has_or_had_description # was: storage_description - migrated per Rule 53
|
||||
- storage_id
|
||||
- storage_location
|
||||
- storage_name
|
||||
|
|
@ -157,11 +158,20 @@ classes:
|
|||
description: Cold storage for film and photographic materials
|
||||
- value: ART_STORAGE
|
||||
description: Climate-controlled art storage
|
||||
storage_description:
|
||||
range: string
|
||||
has_or_had_description: # was: storage_description - migrated per Rule 53
|
||||
description: |
|
||||
Description of this storage facility.
|
||||
MIGRATED from storage_description per slot_fixes.yaml (Rule 53).
|
||||
Uses Description class with text and language support.
|
||||
range: Description
|
||||
inlined: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: 'Climate-controlled archive depot housing overflow document collections. Equipped with mobile shelving system
|
||||
(Compactus). Staff access only. Fire suppression: inert gas system.'
|
||||
- value: |
|
||||
description_text: 'Climate-controlled archive depot housing overflow document collections. Equipped with mobile shelving system (Compactus). Staff access only. Fire suppression: inert gas system.'
|
||||
description_type: storage
|
||||
language: en
|
||||
description: Storage description using Description class
|
||||
storage_location:
|
||||
range: AuxiliaryPlace
|
||||
required: false
|
||||
|
|
@ -268,13 +278,10 @@ classes:
|
|||
storage_id: https://nde.nl/ontology/hc/storage/rijksmuseum-depot-amersfoort
|
||||
storage_name: Depot Amersfoort
|
||||
has_or_had_type: ART_STORAGE
|
||||
storage_description: 'Off-site storage depot for Rijksmuseum overflow collections.
|
||||
|
||||
Climate-controlled facility housing paintings, sculptures,
|
||||
|
||||
and decorative arts not currently on display.
|
||||
|
||||
'
|
||||
has_or_had_description:
|
||||
- description_text: 'Off-site storage depot for Rijksmuseum overflow collections. Climate-controlled facility housing paintings, sculptures, and decorative arts not currently on display.'
|
||||
description_type: storage
|
||||
language: en
|
||||
storage_location: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort
|
||||
capacity_linear_meters: 8000.0
|
||||
current_utilization_percent: 78.5
|
||||
|
|
@ -287,11 +294,10 @@ classes:
|
|||
storage_id: https://nde.nl/ontology/hc/storage/nationaal-archief-depot-b
|
||||
storage_name: Depot B - Cold Storage
|
||||
has_or_had_type: COLD_STORAGE
|
||||
storage_description: 'Refrigerated vault for film negatives, photographic materials,
|
||||
|
||||
and temperature-sensitive documents. Maintained at 4°C, 35% RH.
|
||||
|
||||
'
|
||||
has_or_had_description:
|
||||
- description_text: 'Refrigerated vault for film negatives, photographic materials, and temperature-sensitive documents. Maintained at 4°C, 35% RH.'
|
||||
description_type: storage
|
||||
language: en
|
||||
capacity_description: 1,200 linear meters of cold storage shelving
|
||||
standards_applied:
|
||||
- IMAGE_PERMANENCE_INSTITUTE
|
||||
|
|
|
|||
|
|
@ -39,7 +39,8 @@ imports:
|
|||
- ../slots/specificity_annotation
|
||||
- ../slots/stores_object
|
||||
- ../slots/template_specificity
|
||||
- ../slots/unit_description
|
||||
- ../slots/has_or_had_description # was: unit_description - migrated per Rule 53
|
||||
- ./Description
|
||||
# REMOVED - migrated to has_or_had_identifier (2026-01-14, Rule 53)
|
||||
# - ../slots/unit_id
|
||||
# - ../slots/unit_identifier
|
||||
|
|
@ -102,7 +103,7 @@ classes:
|
|||
- specificity_annotation
|
||||
- stores_object
|
||||
- template_specificity
|
||||
- unit_description
|
||||
- has_or_had_description # was: unit_description - migrated per Rule 53
|
||||
# REMOVED - migrated to has_or_had_identifier (2026-01-14, Rule 53)
|
||||
# - unit_id
|
||||
# - unit_identifier
|
||||
|
|
@ -134,8 +135,14 @@ classes:
|
|||
unit_type:
|
||||
range: StorageUnitTypeEnum
|
||||
required: true
|
||||
unit_description:
|
||||
range: string
|
||||
has_or_had_description: # was: unit_description - migrated per Rule 53
|
||||
description: |
|
||||
Description of this storage unit.
|
||||
MIGRATED from unit_description per slot_fixes.yaml (Rule 53).
|
||||
Uses Description class with text and language support.
|
||||
range: Description
|
||||
inlined: true
|
||||
multivalued: true
|
||||
row_number:
|
||||
range: string
|
||||
examples:
|
||||
|
|
@ -215,8 +222,10 @@ classes:
|
|||
unit_identifier: NA-2024-BOX-00145
|
||||
unit_name: Archive Box 145 - WWII Ministry Records
|
||||
unit_type: ARCHIVE_BOX
|
||||
unit_description: 'Acid-free archive box containing Ministry of Defense
|
||||
correspondence from 1940-1945. Handle with care.'
|
||||
has_or_had_description:
|
||||
- description_text: 'Acid-free archive box containing Ministry of Defense correspondence from 1940-1945. Handle with care.'
|
||||
description_type: unit
|
||||
language: en
|
||||
row_number: '12'
|
||||
has_or_had_identifier:
|
||||
- value: '3'
|
||||
|
|
@ -230,8 +239,10 @@ classes:
|
|||
unit_identifier: FF-MAPS-042
|
||||
unit_name: Flat File Drawer 42 - Netherlands Maps
|
||||
unit_type: FLAT_FILE_DRAWER
|
||||
unit_description: 'Flat file drawer containing oversized maps of the
|
||||
Netherlands, 1850-1920. Climate-controlled environment.'
|
||||
has_or_had_description:
|
||||
- description_text: 'Flat file drawer containing oversized maps of the Netherlands, 1850-1920. Climate-controlled environment.'
|
||||
description_type: unit
|
||||
language: en
|
||||
drawer_number: 42
|
||||
capacity_items: 50
|
||||
current_item_count: 38
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ imports:
|
|||
- linkml:types
|
||||
- ../slots/source_url
|
||||
- ../slots/retrieved_on
|
||||
- ../slots/xpath
|
||||
- ../slots/has_or_had_provenance_path
|
||||
- ../slots/html_file
|
||||
- ../slots/claim_id
|
||||
- ../slots/claim_type
|
||||
|
|
@ -23,8 +23,6 @@ imports:
|
|||
- ../slots/extraction_timestamp
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ../slots/xpath_match_score
|
||||
- ../slots/xpath_matched_text
|
||||
- ../slots/claim_extraction_method
|
||||
- ../slots/pipeline_stage
|
||||
- ../slots/claim_note
|
||||
|
|
@ -32,13 +30,14 @@ imports:
|
|||
- ../enums/ExtractionPipelineStageEnum
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ./XPath
|
||||
default_prefix: hc
|
||||
classes:
|
||||
WebClaim:
|
||||
class_uri: prov:Entity
|
||||
description: "A single verifiable claim extracted from a web page.\n\n**CORE PRINCIPLE: XPATH OR REMOVE**\n\nEvery claim\
|
||||
\ extracted from a webpage MUST have:\n1. `xpath` - pointing to exact element in archived HTML\n2. `html_file` - path\
|
||||
\ to the archived HTML (Playwright-rendered, NOT WARC)\n3. `xpath_match_score` - quality of the match\n\nClaims without\
|
||||
\ extracted from a webpage MUST have:\n1. `has_or_had_provenance_path` - XPath object pointing to exact element in archived HTML\n2. `html_file` - path\
|
||||
\ to the archived HTML (Playwright-rendered, NOT WARC)\n\nThe XPath object contains:\n- `expression` - the XPath string\n- `match_score` - quality of match (0.0-1.0)\n- `matched_text` - actual text found (for verification)\n\nClaims without\
|
||||
\ these fields are FABRICATED and must be REMOVED.\n\n**ARCHIVE FORMAT: PLAYWRIGHT-RENDERED HTML**\n\nWe use Playwright\
|
||||
\ (headless browser) to:\n1. Navigate to the target URL\n2. Wait for JavaScript to fully render\n3. Save the complete\
|
||||
\ DOM as an HTML file\n\nThis differs from WARC archives which capture raw HTTP responses.\nPlaywright rendering captures\
|
||||
|
|
@ -58,10 +57,10 @@ classes:
|
|||
\ This saves: web/{entry_number}/{domain}/rendered.html\n\n2. Add XPath provenance to claims:\n `python scripts/add_xpath_provenance.py`\n\
|
||||
\n3. Script REMOVES claims that cannot be verified\n (stores in `removed_unverified_claims` for audit)\n\n**EXAMPLES**:\n\
|
||||
\nCORRECT (Verifiable):\n```yaml\n- claim_type: full_name\n claim_value: Historische Vereniging Nijeveen\n source_url:\
|
||||
\ https://historischeverenigingnijeveen.nl/\n retrieved_on: \"2025-11-29T12:28:00Z\"\n xpath: /html[1]/body[1]/div[6]/div[1]/h1[1]\n\
|
||||
\ html_file: web/0021/historischeverenigingnijeveen.nl/rendered.html\n xpath_match_score: 1.0\n pipeline_stage: layout_analysis\n\
|
||||
\ https://historischeverenigingnijeveen.nl/\n retrieved_on: \"2025-11-29T12:28:00Z\"\n has_or_had_provenance_path:\n expression: /html[1]/body[1]/div[6]/div[1]/h1[1]\n match_score: 1.0\n\
|
||||
\ html_file: web/0021/historischeverenigingnijeveen.nl/rendered.html\n pipeline_stage: layout_analysis\n\
|
||||
```\n\nWRONG (Fabricated - Must Be Removed):\n```yaml\n- claim_type: full_name\n claim_value: Historische Vereniging\
|
||||
\ Nijeveen\n confidence: 0.95 # ← NO! This is meaningless without XPath\n```\n"
|
||||
\ Nijeveen\n confidence: 0.95 # ← NO! This is meaningless without XPath\n```\n\n**MIGRATION NOTE (2026-01-15)**:\nConsolidated xpath, xpath_match_score, xpath_matched_text\ninto has_or_had_provenance_path with XPath class.\n"
|
||||
exact_mappings:
|
||||
- prov:Entity
|
||||
close_mappings:
|
||||
|
|
@ -80,9 +79,7 @@ classes:
|
|||
- source_url
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
- xpath
|
||||
- xpath_match_score
|
||||
- xpath_matched_text
|
||||
- has_or_had_provenance_path
|
||||
slot_usage:
|
||||
claim_type:
|
||||
required: true
|
||||
|
|
@ -92,26 +89,30 @@ classes:
|
|||
required: true
|
||||
retrieved_on:
|
||||
required: true
|
||||
xpath:
|
||||
has_or_had_provenance_path:
|
||||
required: true
|
||||
range: XPath
|
||||
inlined: true
|
||||
description: >-
|
||||
XPath provenance for this claim - pointing to exact element in archived HTML.
|
||||
Contains expression, matched_text, and match_score.
|
||||
html_file:
|
||||
required: true
|
||||
xpath_match_score:
|
||||
required: true
|
||||
rules:
|
||||
- preconditions:
|
||||
slot_conditions:
|
||||
xpath:
|
||||
has_or_had_provenance_path:
|
||||
value_presence: ABSENT
|
||||
postconditions:
|
||||
description: Claims without XPath must be removed as unverifiable
|
||||
description: Claims without XPath provenance must be removed as unverifiable
|
||||
comments:
|
||||
- WebClaim requires XPath provenance - claims without it are fabricated
|
||||
- Match score is COMPUTED from actual text comparison, not estimated
|
||||
- WebClaim requires XPath provenance via has_or_had_provenance_path - claims without it are fabricated
|
||||
- XPath class contains expression, matched_text, and match_score in one structure
|
||||
- Archived HTML files are Playwright-rendered (NOT WARC format)
|
||||
- Use scripts/fetch_website_playwright.py to archive websites
|
||||
- Use scripts/add_xpath_provenance.py to add XPath to existing claims
|
||||
- 'Follows 4-stage GLAM-NER pipeline: recognition → layout → resolution → linking'
|
||||
- 'MIGRATED 2026-01-15: xpath/xpath_match_score/xpath_matched_text → has_or_had_provenance_path (XPath class)'
|
||||
see_also:
|
||||
- rules/WEB_OBSERVATION_PROVENANCE_RULES.md
|
||||
- scripts/fetch_website_playwright.py
|
||||
|
|
@ -123,9 +124,11 @@ classes:
|
|||
claim_value: Historische Vereniging Nijeveen
|
||||
source_url: https://historischeverenigingnijeveen.nl/
|
||||
retrieved_on: '2025-11-29T12:28:00Z'
|
||||
xpath: /html[1]/body[1]/div[6]/div[1]/h1[1]
|
||||
has_or_had_provenance_path:
|
||||
expression: /html[1]/body[1]/div[6]/div[1]/h1[1]
|
||||
match_score: 1.0
|
||||
source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
html_file: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
xpath_match_score: 1.0
|
||||
pipeline_stage: layout_analysis
|
||||
description: Exact match claim for organization name
|
||||
- value:
|
||||
|
|
@ -133,9 +136,11 @@ classes:
|
|||
claim_value: '6253'
|
||||
source_url: https://historischeverenigingnijeveen.nl/nl/hvn
|
||||
retrieved_on: '2025-11-29T12:28:00Z'
|
||||
xpath: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[1]
|
||||
has_or_had_provenance_path:
|
||||
expression: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[1]
|
||||
match_score: 1.0
|
||||
source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
html_file: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
xpath_match_score: 1.0
|
||||
pipeline_stage: layout_analysis
|
||||
description: Collection count claim from image bank statistics
|
||||
- value:
|
||||
|
|
@ -143,9 +148,11 @@ classes:
|
|||
claim_value: https://www.facebook.com/HistorischeVerenigingNijeveen/
|
||||
source_url: https://historischeverenigingnijeveen.nl/
|
||||
retrieved_on: '2025-11-29T12:28:00Z'
|
||||
xpath: /html[1]/body[1]/footer[1]/div[1]/a[3]
|
||||
has_or_had_provenance_path:
|
||||
expression: /html[1]/body[1]/footer[1]/div[1]/a[3]
|
||||
match_score: 1.0
|
||||
source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
html_file: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
xpath_match_score: 1.0
|
||||
pipeline_stage: entity_linking
|
||||
description: Social media link claim - entity linking stage
|
||||
- value:
|
||||
|
|
@ -153,9 +160,11 @@ classes:
|
|||
claim_value: https://www.historischeverenigingnijeveen.nl/
|
||||
source_url: https://historischeverenigingnijeveen.nl/nl/hvn
|
||||
retrieved_on: '2025-11-28T12:00:00Z'
|
||||
xpath: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]
|
||||
has_or_had_provenance_path:
|
||||
expression: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]
|
||||
matched_text: De Historische Vereniging Nijeveen is ook te vinden op Facebook
|
||||
match_score: 0.561
|
||||
source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
html_file: web/0021/historischeverenigingnijeveen.nl/rendered.html
|
||||
xpath_match_score: 0.561
|
||||
xpath_matched_text: De Historische Vereniging Nijeveen is ook te vinden op Facebook
|
||||
pipeline_stage: layout_analysis
|
||||
description: Substring match - URL found within longer text
|
||||
|
|
|
|||
|
|
@ -1364,18 +1364,51 @@ fixes:
|
|||
type: slot
|
||||
- label: ExternalWork
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2026-01-15'
|
||||
notes: |
|
||||
Migration completed for accepts_or_accepted_external_work slot.
|
||||
Reused existing: accepts_or_accepted slot (generic slot for acceptance policies)
|
||||
Consuming classes updated: ConservationLab.yaml
|
||||
- Replaced import with ../slots/accepts_or_accepted and ./ExternalWork
|
||||
- Updated slots list and slot_usage (range: ExternalWork, inlined: true, multivalued: true)
|
||||
- Updated 2 examples to use ExternalWork structure
|
||||
Archived slot: modules/slots/archive/accepts_or_accepted_external_work_archived_20260115.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/accepts_or_accepted_payment_method
|
||||
revision:
|
||||
- label: accepts_or_accepted
|
||||
type: slot
|
||||
- label: PaymentMethod
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2026-01-15'
|
||||
notes: |
|
||||
Migration completed for accepts_or_accepted_payment_method slot.
|
||||
Reused existing: accepts_or_accepted slot (generic slot for acceptance policies)
|
||||
Consuming classes updated: GiftShop.yaml
|
||||
- Replaced import with ../slots/accepts_or_accepted and ./PaymentMethod
|
||||
- Updated slots list and slot_usage (range: PaymentMethod, inlined: true, multivalued: true)
|
||||
- Updated 3 examples to use PaymentMethod structure
|
||||
Archived slot: modules/slots/archive/accepts_or_accepted_payment_method_archived_20260115.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/accepts_or_accepted_visiting_scholar
|
||||
revision:
|
||||
- label: accepts_or_accepted
|
||||
type: slot
|
||||
- label: VisitingScholar
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2026-01-15'
|
||||
notes: |
|
||||
Migration completed for accepts_or_accepted_visiting_scholar slot.
|
||||
Reused existing: accepts_or_accepted slot (generic slot for acceptance policies)
|
||||
Consuming classes updated: ResearchCenter.yaml
|
||||
- Replaced import with ../slots/accepts_or_accepted and ./VisitingScholar
|
||||
- Updated slots list and slot_usage (range: VisitingScholar, inlined: true, multivalued: true)
|
||||
- Updated 2 examples to use VisitingScholar structure
|
||||
Archived slot: modules/slots/archive/accepts_or_accepted_visiting_scholar_archived_20260115.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/zone_name
|
||||
revision:
|
||||
- label: has_or_had_label
|
||||
|
|
@ -1481,12 +1514,26 @@ fixes:
|
|||
type: slot
|
||||
- label: TextSegment
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: >-
|
||||
Consolidated into has_or_had_provenance_path slot with XPath class.
|
||||
XPath class has matched_text attribute. xpath_matched_text slot archived
|
||||
to archive/xpath_matched_text_archived_20260115.yaml.
|
||||
Updated: WebClaim.yaml, PersonWebClaim.yaml, InvalidWebClaim.yaml, MissionStatement.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/xpath_match_score
|
||||
revision:
|
||||
- label: has_or_had_score
|
||||
type: slot
|
||||
- label: XPathScore
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: >-
|
||||
Consolidated into has_or_had_provenance_path slot with XPath class.
|
||||
XPath class has match_score attribute. xpath_match_score slot archived
|
||||
to archive/xpath_match_score_archived_20260115.yaml.
|
||||
Updated: WebClaim.yaml, PersonWebClaim.yaml, InvalidWebClaim.yaml, MissionStatement.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/xpath
|
||||
revision:
|
||||
- label: has_or_had_provenance
|
||||
|
|
@ -1497,6 +1544,14 @@ fixes:
|
|||
type: slot
|
||||
- label: XPath
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
notes: >-
|
||||
Migrated to has_or_had_provenance_path slot with XPath class range.
|
||||
XPath class consolidates expression, match_score, matched_text, source_document.
|
||||
xpath slot archived to archive/xpath_archived_20260115.yaml.
|
||||
person_xpath and person_xpath_match_score slots also archived.
|
||||
Updated: WebClaim.yaml, PersonWebClaim.yaml, InvalidWebClaim.yaml, MissionStatement.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/writing_system
|
||||
revision:
|
||||
- label: has_or_had_writing_system
|
||||
|
|
@ -2420,6 +2475,11 @@ fixes:
|
|||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-15"
|
||||
session: "description-slot-migration"
|
||||
notes: "Migrated StorageUnit.yaml: unit_description → has_or_had_description + Description class. Archived slot file."
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_affiliation
|
||||
revision:
|
||||
- label: is_or_was_affiliated_with
|
||||
|
|
@ -2846,6 +2906,11 @@ fixes:
|
|||
type: slot
|
||||
- label: TimeSpan
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
timestamp: '2026-01-15T12:00:00Z'
|
||||
session: transfer_migration
|
||||
notes: Migrated in CustodianArchive.yaml. Bespoke slot archived.
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/transfer_policy
|
||||
revision:
|
||||
- label: is_or_was_transferred
|
||||
|
|
@ -2856,6 +2921,11 @@ fixes:
|
|||
type: slot
|
||||
- label: TransferPolicy
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
timestamp: '2026-01-15T12:00:00Z'
|
||||
session: transfer_migration
|
||||
notes: Migrated in CurrentArchive.yaml using has_or_had_policy directly (archive TYPE, not instance). Bespoke slot archived.
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/transfer_location_text
|
||||
revision:
|
||||
- label: is_or_was_transferred
|
||||
|
|
@ -2870,6 +2940,11 @@ fixes:
|
|||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
timestamp: '2026-01-15T12:00:00Z'
|
||||
session: transfer_migration
|
||||
notes: Migrated in ProvenanceEvent.yaml using event_location (CustodianPlace.place_name holds text). Bespoke slot archived.
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/transfer_location
|
||||
revision:
|
||||
- label: is_or_was_transferred
|
||||
|
|
@ -2884,6 +2959,11 @@ fixes:
|
|||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
timestamp: '2026-01-15T12:00:00Z'
|
||||
session: transfer_migration
|
||||
notes: Migrated in ProvenanceEvent.yaml using event_location. Bespoke slot archived.
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/transcript_format
|
||||
revision:
|
||||
- label: has_or_had_format
|
||||
|
|
@ -4109,6 +4189,11 @@ fixes:
|
|||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-15"
|
||||
session: "description-slot-migration"
|
||||
notes: "Migrated FindingAid.yaml (SubGuideReference class): sub_guide_description → has_or_had_description + Description class. Archived slot file."
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/student_service
|
||||
revision:
|
||||
- label: has_or_had_service
|
||||
|
|
@ -4167,6 +4252,11 @@ fixes:
|
|||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-15"
|
||||
session: "description-slot-migration"
|
||||
notes: "Already migrated in StorageType.yaml. Archived slot file."
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/storage_type_code
|
||||
revision:
|
||||
- label: has_or_had_code
|
||||
|
|
@ -4209,4 +4299,59 @@ fixes:
|
|||
- label: has_or_had_description
|
||||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-15"
|
||||
session: "description-slot-migration"
|
||||
notes: "Migrated Storage.yaml: storage_description → has_or_had_description + Description class. Archived slot file."
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/parent_custodian
|
||||
revision:
|
||||
- label: is_or_was_suborganization_of
|
||||
type: slot
|
||||
context: hierarchy
|
||||
- label: CustodianLegalStatus
|
||||
type: class
|
||||
context: hierarchy
|
||||
- label: has_or_had_associated_custodian
|
||||
type: slot
|
||||
context: event_association
|
||||
- label: Custodian
|
||||
type: class
|
||||
context: event_association
|
||||
processed:
|
||||
status: true
|
||||
date: '2025-01-15'
|
||||
notes: |
|
||||
Migration completed for parent_custodian slot.
|
||||
DUAL SEMANTICS - different replacements based on context (Rule 39):
|
||||
|
||||
1. HIERARCHY (CustodianLegalStatus.yaml):
|
||||
parent_custodian → is_or_was_suborganization_of (RiC-O pattern)
|
||||
|
||||
2. EVENT ASSOCIATION (OrganizationalChangeEvent.yaml):
|
||||
parent_custodian → has_or_had_associated_custodian (PROV-O pattern)
|
||||
|
||||
Files migrated:
|
||||
- CustodianLegalStatus.yaml → is_or_was_suborganization_of
|
||||
- OrganizationalChangeEvent.yaml → has_or_had_associated_custodian
|
||||
|
||||
Archived: modules/slots/archive/parent_custodian_archived_20250115.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/parent_collection
|
||||
revision:
|
||||
- label: is_or_was_sub_collection_of
|
||||
type: slot
|
||||
- label: Collection
|
||||
type: class
|
||||
processed:
|
||||
status: true
|
||||
date: '2025-01-15'
|
||||
notes: |
|
||||
Migration completed for parent_collection slot.
|
||||
|
||||
parent_collection → is_or_was_sub_collection_of (RiC-O pattern)
|
||||
|
||||
Files migrated:
|
||||
- Collection.yaml (parent_collection → is_or_was_sub_collection_of)
|
||||
|
||||
Archived: modules/slots/archive/parent_collection_archived_20250115.yaml
|
||||
Loading…
Reference in a new issue