feat(schema): Migrate temporal slots and introduce new pattern classes
Major slot migrations following slot_fixes.yaml revisions: - TimeSpan: begin_of_the_begin, begin_of_the_end, end_of_the_begin, end_of_the_end - Quantity: has_or_had_measurement_unit with MeasureUnit class - Description: has_or_had_description with Description class - URL, WikiData, Timestamp, Location, Provenance pattern classes New slots for RiC-O compliance: - Temporal: has_or_had_time_interval, calendar_system - Transfer: is_or_was_transferred, has_or_had_policy - Location: starts/ends_or_started/ended_at_location - Provenance: has_or_had_provenance_path, is_or_was_webarchived_at Archive deprecated slots per Rule 53 workflow.
This commit is contained in:
parent
9f9c69f7b8
commit
53c6dbc2d9
203 changed files with 19296 additions and 4504 deletions
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"generated": "2026-01-14T16:04:58.914Z",
|
||||
"generated": "2026-01-14T18:57:52.851Z",
|
||||
"schemaRoot": "/schemas/20251121/linkml",
|
||||
"totalFiles": 2888,
|
||||
"totalFiles": 2957,
|
||||
"categoryCounts": {
|
||||
"main": 4,
|
||||
"class": 689,
|
||||
"enum": 149,
|
||||
"slot": 2042,
|
||||
"class": 718,
|
||||
"enum": 151,
|
||||
"slot": 2080,
|
||||
"module": 4
|
||||
},
|
||||
"categories": [
|
||||
|
|
@ -125,6 +125,16 @@
|
|||
"path": "modules/classes/AllocationAgency.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Alpha2Code",
|
||||
"path": "modules/classes/Alpha2Code.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Alpha3Code",
|
||||
"path": "modules/classes/Alpha3Code.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "AlternativeName",
|
||||
"path": "modules/classes/AlternativeName.yaml",
|
||||
|
|
@ -260,6 +270,11 @@
|
|||
"path": "modules/classes/ArchivesRegionalesRecordSetTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Area",
|
||||
"path": "modules/classes/Area.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ArtArchive",
|
||||
"path": "modules/classes/ArtArchive.yaml",
|
||||
|
|
@ -730,6 +745,21 @@
|
|||
"path": "modules/classes/ContributingAgency.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ConversionRate",
|
||||
"path": "modules/classes/ConversionRate.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ConversionRateType",
|
||||
"path": "modules/classes/ConversionRateType.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ConversionRateTypes",
|
||||
"path": "modules/classes/ConversionRateTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "CoordinateProvenance",
|
||||
"path": "modules/classes/CoordinateProvenance.yaml",
|
||||
|
|
@ -765,6 +795,11 @@
|
|||
"path": "modules/classes/CurationActivity.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Currency",
|
||||
"path": "modules/classes/Currency.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "CurrentArchive",
|
||||
"path": "modules/classes/CurrentArchive.yaml",
|
||||
|
|
@ -935,6 +970,11 @@
|
|||
"path": "modules/classes/DepositArchiveRecordSetTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Description",
|
||||
"path": "modules/classes/Description.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "DetectedEntity",
|
||||
"path": "modules/classes/DetectedEntity.yaml",
|
||||
|
|
@ -1160,6 +1200,11 @@
|
|||
"path": "modules/classes/Expenses.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ExternalWork",
|
||||
"path": "modules/classes/ExternalWork.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ExtractionMetadata",
|
||||
"path": "modules/classes/ExtractionMetadata.yaml",
|
||||
|
|
@ -1450,6 +1495,11 @@
|
|||
"path": "modules/classes/HouseArchiveRecordSetTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Hypothesis",
|
||||
"path": "modules/classes/Hypothesis.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "IconographicArchives",
|
||||
"path": "modules/classes/IconographicArchives.yaml",
|
||||
|
|
@ -1720,6 +1770,11 @@
|
|||
"path": "modules/classes/LocalHistoryArchiveRecordSetTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Location",
|
||||
"path": "modules/classes/Location.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "LocationLibrary",
|
||||
"path": "modules/classes/LocationLibrary.yaml",
|
||||
|
|
@ -1760,6 +1815,11 @@
|
|||
"path": "modules/classes/MatchingSource.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "MeasureUnit",
|
||||
"path": "modules/classes/MeasureUnit.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "MediaAppearanceEntry",
|
||||
"path": "modules/classes/MediaAppearanceEntry.yaml",
|
||||
|
|
@ -1795,6 +1855,11 @@
|
|||
"path": "modules/classes/MergeNote.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Methodology",
|
||||
"path": "modules/classes/Methodology.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "METSAPI",
|
||||
"path": "modules/classes/METSAPI.yaml",
|
||||
|
|
@ -2200,6 +2265,11 @@
|
|||
"path": "modules/classes/PatternClassification.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "PaymentMethod",
|
||||
"path": "modules/classes/PaymentMethod.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "PerformingArtsArchive",
|
||||
"path": "modules/classes/PerformingArtsArchive.yaml",
|
||||
|
|
@ -2295,6 +2365,11 @@
|
|||
"path": "modules/classes/PhotoMetadata.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Place",
|
||||
"path": "modules/classes/Place.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "PlaceFeature",
|
||||
"path": "modules/classes/PlaceFeature.yaml",
|
||||
|
|
@ -2370,6 +2445,11 @@
|
|||
"path": "modules/classes/Project.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Provenance",
|
||||
"path": "modules/classes/Provenance.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ProvenanceBlock",
|
||||
"path": "modules/classes/ProvenanceBlock.yaml",
|
||||
|
|
@ -2695,6 +2775,21 @@
|
|||
"path": "modules/classes/ScientificArchiveRecordSetTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Scope",
|
||||
"path": "modules/classes/Scope.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ScopeType",
|
||||
"path": "modules/classes/ScopeType.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ScopeTypes",
|
||||
"path": "modules/classes/ScopeTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "SearchAPI",
|
||||
"path": "modules/classes/SearchAPI.yaml",
|
||||
|
|
@ -3060,6 +3155,11 @@
|
|||
"path": "modules/classes/TimeEntryType.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "TimeInterval",
|
||||
"path": "modules/classes/TimeInterval.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "TimeSlot",
|
||||
"path": "modules/classes/TimeSlot.yaml",
|
||||
|
|
@ -3075,6 +3175,11 @@
|
|||
"path": "modules/classes/TimespanBlock.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Timestamp",
|
||||
"path": "modules/classes/Timestamp.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "TradeRegister",
|
||||
"path": "modules/classes/TradeRegister.yaml",
|
||||
|
|
@ -3095,6 +3200,16 @@
|
|||
"path": "modules/classes/TradeUnionArchiveRecordSetTypes.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "TransferEvent",
|
||||
"path": "modules/classes/TransferEvent.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "TransferPolicy",
|
||||
"path": "modules/classes/TransferPolicy.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "TransitionType",
|
||||
"path": "modules/classes/TransitionType.yaml",
|
||||
|
|
@ -3145,6 +3260,16 @@
|
|||
"path": "modules/classes/UnspecifiedType.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "UpdateFrequency",
|
||||
"path": "modules/classes/UpdateFrequency.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "URL",
|
||||
"path": "modules/classes/URL.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "ValidationMetadata",
|
||||
"path": "modules/classes/ValidationMetadata.yaml",
|
||||
|
|
@ -3230,6 +3355,11 @@
|
|||
"path": "modules/classes/VideoTranscript.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "VisitingScholar",
|
||||
"path": "modules/classes/VisitingScholar.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "Warehouse",
|
||||
"path": "modules/classes/Warehouse.yaml",
|
||||
|
|
@ -3365,6 +3495,16 @@
|
|||
"path": "modules/classes/WikidataEntity.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "WikiDataEntry",
|
||||
"path": "modules/classes/WikiDataEntry.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "WikiDataIdentifier",
|
||||
"path": "modules/classes/WikiDataIdentifier.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "WikidataIdentifiers",
|
||||
"path": "modules/classes/WikidataIdentifiers.yaml",
|
||||
|
|
@ -3445,6 +3585,11 @@
|
|||
"path": "modules/classes/WorldHeritageSite.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "XPath",
|
||||
"path": "modules/classes/XPath.yaml",
|
||||
"category": "class"
|
||||
},
|
||||
{
|
||||
"name": "YoutubeChannel",
|
||||
"path": "modules/classes/YoutubeChannel.yaml",
|
||||
|
|
@ -3896,6 +4041,16 @@
|
|||
"path": "modules/enums/LocationResolutionMethodEnum.yaml",
|
||||
"category": "enum"
|
||||
},
|
||||
{
|
||||
"name": "MeasureUnitEnum",
|
||||
"path": "modules/enums/MeasureUnitEnum.yaml",
|
||||
"category": "enum"
|
||||
},
|
||||
{
|
||||
"name": "MethodologyTypeEnum",
|
||||
"path": "modules/enums/MethodologyTypeEnum.yaml",
|
||||
"category": "enum"
|
||||
},
|
||||
{
|
||||
"name": "METSIdentifierTypeEnum",
|
||||
"path": "modules/enums/METSIdentifierTypeEnum.yaml",
|
||||
|
|
@ -4242,6 +4397,11 @@
|
|||
"name": "slot",
|
||||
"displayName": "Slots",
|
||||
"files": [
|
||||
{
|
||||
"name": "accepts_or_accepted",
|
||||
"path": "modules/slots/accepts_or_accepted.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "accepts_or_accepted_external_work",
|
||||
"path": "modules/slots/accepts_or_accepted_external_work.yaml",
|
||||
|
|
@ -4278,13 +4438,8 @@
|
|||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "annual_participants",
|
||||
"path": "modules/slots/annual_participants.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "applies_to_call",
|
||||
"path": "modules/slots/applies_to_call.yaml",
|
||||
"name": "applies_or_applied_to_call",
|
||||
"path": "modules/slots/applies_or_applied_to_call.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
|
|
@ -4293,18 +4448,8 @@
|
|||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "area_hectares",
|
||||
"path": "modules/slots/area_hectares.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "arrangement_notes",
|
||||
"path": "modules/slots/arrangement_notes.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "available_caption_languages",
|
||||
"path": "modules/slots/available_caption_languages.yaml",
|
||||
"name": "asserts_or_asserted",
|
||||
"path": "modules/slots/asserts_or_asserted.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
|
|
@ -4322,11 +4467,6 @@
|
|||
"path": "modules/slots/begin_of_the_end.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "beneficiary_group",
|
||||
"path": "modules/slots/beneficiary_group.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "benefit",
|
||||
"path": "modules/slots/benefit.yaml",
|
||||
|
|
@ -4357,21 +4497,6 @@
|
|||
"path": "modules/slots/bounding_box.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "branch_head",
|
||||
"path": "modules/slots/branch_head.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "budget_currency",
|
||||
"path": "modules/slots/budget_currency.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "building_floor_area_sqm",
|
||||
"path": "modules/slots/building_floor_area_sqm.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "business_criticality",
|
||||
"path": "modules/slots/business_criticality.yaml",
|
||||
|
|
@ -4387,6 +4512,11 @@
|
|||
"path": "modules/slots/cached_token.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "calendar_system",
|
||||
"path": "modules/slots/calendar_system.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "call_description",
|
||||
"path": "modules/slots/call_description.yaml",
|
||||
|
|
@ -5842,6 +5972,16 @@
|
|||
"path": "modules/slots/description_section.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "description_text",
|
||||
"path": "modules/slots/description_text.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "description_type",
|
||||
"path": "modules/slots/description_type.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "detection_count",
|
||||
"path": "modules/slots/detection_count.yaml",
|
||||
|
|
@ -6292,6 +6432,11 @@
|
|||
"path": "modules/slots/endowment_draw.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "ends_or_ended_at_location",
|
||||
"path": "modules/slots/ends_or_ended_at_location.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "engagement_rate",
|
||||
"path": "modules/slots/engagement_rate.yaml",
|
||||
|
|
@ -7557,11 +7702,6 @@
|
|||
"path": "modules/slots/has_archive_subtype.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_area_in_hectare",
|
||||
"path": "modules/slots/has_area_in_hectare.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_arrangement",
|
||||
"path": "modules/slots/has_arrangement.yaml",
|
||||
|
|
@ -8092,6 +8232,11 @@
|
|||
"path": "modules/slots/has_or_had_archive_scope.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_area",
|
||||
"path": "modules/slots/has_or_had_area.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_area_served",
|
||||
"path": "modules/slots/has_or_had_area_served.yaml",
|
||||
|
|
@ -8157,6 +8302,11 @@
|
|||
"path": "modules/slots/has_or_had_based_on_observation.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_beneficiary",
|
||||
"path": "modules/slots/has_or_had_beneficiary.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_category_assessment",
|
||||
"path": "modules/slots/has_or_had_category_assessment.yaml",
|
||||
|
|
@ -8167,6 +8317,11 @@
|
|||
"path": "modules/slots/has_or_had_chapter.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_code",
|
||||
"path": "modules/slots/has_or_had_code.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_collection",
|
||||
"path": "modules/slots/has_or_had_collection.yaml",
|
||||
|
|
@ -8177,6 +8332,11 @@
|
|||
"path": "modules/slots/has_or_had_collection_narrower_type.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_comment",
|
||||
"path": "modules/slots/has_or_had_comment.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_comment_reply",
|
||||
"path": "modules/slots/has_or_had_comment_reply.yaml",
|
||||
|
|
@ -8197,11 +8357,21 @@
|
|||
"path": "modules/slots/has_or_had_conservation_record.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_conversion_rate",
|
||||
"path": "modules/slots/has_or_had_conversion_rate.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_curation_activity",
|
||||
"path": "modules/slots/has_or_had_curation_activity.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_currency",
|
||||
"path": "modules/slots/has_or_had_currency.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_custodian",
|
||||
"path": "modules/slots/has_or_had_custodian.yaml",
|
||||
|
|
@ -8342,6 +8512,11 @@
|
|||
"path": "modules/slots/has_or_had_external_resource.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_facility",
|
||||
"path": "modules/slots/has_or_had_facility.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_featured_item",
|
||||
"path": "modules/slots/has_or_had_featured_item.yaml",
|
||||
|
|
@ -8362,6 +8537,16 @@
|
|||
"path": "modules/slots/has_or_had_fond.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_format",
|
||||
"path": "modules/slots/has_or_had_format.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_frequency",
|
||||
"path": "modules/slots/has_or_had_frequency.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_function",
|
||||
"path": "modules/slots/has_or_had_function.yaml",
|
||||
|
|
@ -8372,6 +8557,11 @@
|
|||
"path": "modules/slots/has_or_had_generate.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_head",
|
||||
"path": "modules/slots/has_or_had_head.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_holds_record_set_type",
|
||||
"path": "modules/slots/has_or_had_holds_record_set_type.yaml",
|
||||
|
|
@ -8467,6 +8657,11 @@
|
|||
"path": "modules/slots/has_or_had_manages_collection.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_measurement_unit",
|
||||
"path": "modules/slots/has_or_had_measurement_unit.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_member",
|
||||
"path": "modules/slots/has_or_had_member.yaml",
|
||||
|
|
@ -8482,6 +8677,11 @@
|
|||
"path": "modules/slots/has_or_had_membership.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_methodology",
|
||||
"path": "modules/slots/has_or_had_methodology.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_music_segment",
|
||||
"path": "modules/slots/has_or_had_music_segment.yaml",
|
||||
|
|
@ -8502,6 +8702,11 @@
|
|||
"path": "modules/slots/has_or_had_open_access_endpoint.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_opening_hour",
|
||||
"path": "modules/slots/has_or_had_opening_hour.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_operate",
|
||||
"path": "modules/slots/has_or_had_operate.yaml",
|
||||
|
|
@ -8552,6 +8757,11 @@
|
|||
"path": "modules/slots/has_or_had_place_of_birth.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_policy",
|
||||
"path": "modules/slots/has_or_had_policy.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_portal_data_source",
|
||||
"path": "modules/slots/has_or_had_portal_data_source.yaml",
|
||||
|
|
@ -8582,6 +8792,11 @@
|
|||
"path": "modules/slots/has_or_had_product_category.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_program",
|
||||
"path": "modules/slots/has_or_had_program.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_project",
|
||||
"path": "modules/slots/has_or_had_project.yaml",
|
||||
|
|
@ -8597,11 +8812,21 @@
|
|||
"path": "modules/slots/has_or_had_provenance_event.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_provenance_path",
|
||||
"path": "modules/slots/has_or_had_provenance_path.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_quantity",
|
||||
"path": "modules/slots/has_or_had_quantity.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_rationale",
|
||||
"path": "modules/slots/has_or_had_rationale.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_registered_dataset",
|
||||
"path": "modules/slots/has_or_had_registered_dataset.yaml",
|
||||
|
|
@ -8652,6 +8877,11 @@
|
|||
"path": "modules/slots/has_or_had_research_attempt.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_restriction",
|
||||
"path": "modules/slots/has_or_had_restriction.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_resulting_unit",
|
||||
"path": "modules/slots/has_or_had_resulting_unit.yaml",
|
||||
|
|
@ -8667,6 +8897,16 @@
|
|||
"path": "modules/slots/has_or_had_scene_segment.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_scope",
|
||||
"path": "modules/slots/has_or_had_scope.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_score",
|
||||
"path": "modules/slots/has_or_had_score.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_secondary_label",
|
||||
"path": "modules/slots/has_or_had_secondary_label.yaml",
|
||||
|
|
@ -8682,6 +8922,11 @@
|
|||
"path": "modules/slots/has_or_had_section_link.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_security_level",
|
||||
"path": "modules/slots/has_or_had_security_level.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_segment",
|
||||
"path": "modules/slots/has_or_had_segment.yaml",
|
||||
|
|
@ -8692,6 +8937,11 @@
|
|||
"path": "modules/slots/has_or_had_series.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_service",
|
||||
"path": "modules/slots/has_or_had_service.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_service_area",
|
||||
"path": "modules/slots/has_or_had_service_area.yaml",
|
||||
|
|
@ -8782,6 +9032,11 @@
|
|||
"path": "modules/slots/has_or_had_suborganization.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_text",
|
||||
"path": "modules/slots/has_or_had_text.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_text_region",
|
||||
"path": "modules/slots/has_or_had_text_region.yaml",
|
||||
|
|
@ -8797,6 +9052,11 @@
|
|||
"path": "modules/slots/has_or_had_thematic_route.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_time_interval",
|
||||
"path": "modules/slots/has_or_had_time_interval.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_tracked_in_cm",
|
||||
"path": "modules/slots/has_or_had_tracked_in_cm.yaml",
|
||||
|
|
@ -8812,6 +9072,16 @@
|
|||
"path": "modules/slots/has_or_had_type.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_unit",
|
||||
"path": "modules/slots/has_or_had_unit.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_url",
|
||||
"path": "modules/slots/has_or_had_url.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_used_source",
|
||||
"path": "modules/slots/has_or_had_used_source.yaml",
|
||||
|
|
@ -8822,6 +9092,11 @@
|
|||
"path": "modules/slots/has_or_had_web_claim.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_or_had_writing_system",
|
||||
"path": "modules/slots/has_or_had_writing_system.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "has_outdoor_seating",
|
||||
"path": "modules/slots/has_outdoor_seating.yaml",
|
||||
|
|
@ -9562,11 +9837,41 @@
|
|||
"path": "modules/slots/is_or_was_created_through.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_derived_from",
|
||||
"path": "modules/slots/is_or_was_derived_from.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_encompassed_by",
|
||||
"path": "modules/slots/is_or_was_encompassed_by.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_equivalent_to",
|
||||
"path": "modules/slots/is_or_was_equivalent_to.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_generated_by",
|
||||
"path": "modules/slots/is_or_was_generated_by.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_instance_of",
|
||||
"path": "modules/slots/is_or_was_instance_of.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_located_within",
|
||||
"path": "modules/slots/is_or_was_located_within.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_managed_by",
|
||||
"path": "modules/slots/is_or_was_managed_by.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_member_of",
|
||||
"path": "modules/slots/is_or_was_member_of.yaml",
|
||||
|
|
@ -9592,6 +9897,11 @@
|
|||
"path": "modules/slots/is_or_was_required.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_revision_of",
|
||||
"path": "modules/slots/is_or_was_revision_of.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_sub_collection_of",
|
||||
"path": "modules/slots/is_or_was_sub_collection_of.yaml",
|
||||
|
|
@ -9607,6 +9917,16 @@
|
|||
"path": "modules/slots/is_or_was_succeeded_by.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_transferred",
|
||||
"path": "modules/slots/is_or_was_transferred.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_or_was_webarchived_at",
|
||||
"path": "modules/slots/is_or_was_webarchived_at.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "is_overlapping",
|
||||
"path": "modules/slots/is_overlapping.yaml",
|
||||
|
|
@ -10217,6 +10537,11 @@
|
|||
"path": "modules/slots/location_browse_score.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "location_name",
|
||||
"path": "modules/slots/location_name.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "logo_bbox",
|
||||
"path": "modules/slots/logo_bbox.yaml",
|
||||
|
|
@ -11507,6 +11832,11 @@
|
|||
"path": "modules/slots/policy_review_date.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "policy_text",
|
||||
"path": "modules/slots/policy_text.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "portal_description",
|
||||
"path": "modules/slots/portal_description.yaml",
|
||||
|
|
@ -11987,6 +12317,11 @@
|
|||
"path": "modules/slots/provides_access_to.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "provides_or_provided_provenance_to",
|
||||
"path": "modules/slots/provides_or_provided_provenance_to.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "public_access",
|
||||
"path": "modules/slots/public_access.yaml",
|
||||
|
|
@ -13347,6 +13682,11 @@
|
|||
"path": "modules/slots/started_at_time.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "starts_or_started_at_location",
|
||||
"path": "modules/slots/starts_or_started_at_location.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "statement_currency",
|
||||
"path": "modules/slots/statement_currency.yaml",
|
||||
|
|
@ -13777,6 +14117,16 @@
|
|||
"path": "modules/slots/time_of_destruction.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "timestamp_precision",
|
||||
"path": "modules/slots/timestamp_precision.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "timestamp_value",
|
||||
"path": "modules/slots/timestamp_value.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"path": "modules/slots/title.yaml",
|
||||
|
|
@ -14057,16 +14407,6 @@
|
|||
"path": "modules/slots/uniform_title.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "unique_face_count",
|
||||
"path": "modules/slots/unique_face_count.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "unique_object_count",
|
||||
"path": "modules/slots/unique_object_count.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "unit_affiliation",
|
||||
"path": "modules/slots/unit_affiliation.yaml",
|
||||
|
|
@ -14097,11 +14437,6 @@
|
|||
"path": "modules/slots/unit_type.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "update_frequency",
|
||||
"path": "modules/slots/update_frequency.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "updated_at",
|
||||
"path": "modules/slots/updated_at.yaml",
|
||||
|
|
@ -14112,6 +14447,16 @@
|
|||
"path": "modules/slots/url.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "url_type",
|
||||
"path": "modules/slots/url_type.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "url_value",
|
||||
"path": "modules/slots/url_value.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "used",
|
||||
"path": "modules/slots/used.yaml",
|
||||
|
|
@ -14222,26 +14567,11 @@
|
|||
"path": "modules/slots/video_id.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "view_count",
|
||||
"path": "modules/slots/view_count.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "visiting_hour",
|
||||
"path": "modules/slots/visiting_hour.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "visitor_conversion_rate",
|
||||
"path": "modules/slots/visitor_conversion_rate.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "visitor_count",
|
||||
"path": "modules/slots/visitor_count.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "visitor_facility",
|
||||
"path": "modules/slots/visitor_facility.yaml",
|
||||
|
|
@ -14347,6 +14677,11 @@
|
|||
"path": "modules/slots/wikidata_class.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "wikidata_description",
|
||||
"path": "modules/slots/wikidata_description.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "wikidata_entity",
|
||||
"path": "modules/slots/wikidata_entity.yaml",
|
||||
|
|
@ -14372,6 +14707,11 @@
|
|||
"path": "modules/slots/wikidata_id.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "wikidata_label",
|
||||
"path": "modules/slots/wikidata_label.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "wikidata_mapping",
|
||||
"path": "modules/slots/wikidata_mapping.yaml",
|
||||
|
|
@ -14382,6 +14722,11 @@
|
|||
"path": "modules/slots/wikidata_mapping_rationale.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "wikidata_qid",
|
||||
"path": "modules/slots/wikidata_qid.yaml",
|
||||
"category": "slot"
|
||||
},
|
||||
{
|
||||
"name": "within_auxiliary_place",
|
||||
"path": "modules/slots/within_auxiliary_place.yaml",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
# Alpha2Code - ISO 3166-1 alpha-2 country code
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: alpha_2
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Alpha2Code
|
||||
name: Alpha2Code
|
||||
title: ISO 3166-1 Alpha-2 Country Code
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_code
|
||||
|
||||
classes:
|
||||
Alpha2Code:
|
||||
class_uri: skos:Concept
|
||||
description: |
|
||||
ISO 3166-1 alpha-2 country code (two-letter code).
|
||||
|
||||
**DEFINITION**:
|
||||
|
||||
A two-letter country code as defined by ISO 3166-1 alpha-2 standard.
|
||||
Used for representing countries and dependent territories.
|
||||
|
||||
**EXAMPLES**:
|
||||
- NL = Netherlands
|
||||
- BE = Belgium
|
||||
- DE = Germany
|
||||
- US = United States
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- SKOS Concept: Codes are concepts in ISO 3166-1 vocabulary
|
||||
- Schema.org: addressCountry can use alpha-2 codes
|
||||
|
||||
slots:
|
||||
- has_or_had_code
|
||||
|
||||
slot_usage:
|
||||
has_or_had_code:
|
||||
pattern: "^[A-Z]{2}$"
|
||||
required: true
|
||||
description: Two-letter ISO 3166-1 alpha-2 country code
|
||||
examples:
|
||||
- value: "NL"
|
||||
description: Netherlands
|
||||
- value: "BE"
|
||||
description: Belgium
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.30"
|
||||
specificity_rationale: "Low specificity - standard country codes used broadly."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_code: "NL"
|
||||
description: Netherlands country code
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
# Alpha3Code - ISO 3166-1 alpha-3 country code
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: alpha_3
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Alpha3Code
|
||||
name: Alpha3Code
|
||||
title: ISO 3166-1 Alpha-3 Country Code
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_code
|
||||
|
||||
classes:
|
||||
Alpha3Code:
|
||||
class_uri: skos:Concept
|
||||
description: |
|
||||
ISO 3166-1 alpha-3 country code (three-letter code).
|
||||
|
||||
**DEFINITION**:
|
||||
|
||||
A three-letter country code as defined by ISO 3166-1 alpha-3 standard.
|
||||
Used for representing countries and dependent territories with more
|
||||
recognizable abbreviations.
|
||||
|
||||
**EXAMPLES**:
|
||||
- NLD = Netherlands
|
||||
- BEL = Belgium
|
||||
- DEU = Germany
|
||||
- USA = United States
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- SKOS Concept: Codes are concepts in ISO 3166-1 vocabulary
|
||||
|
||||
slots:
|
||||
- has_or_had_code
|
||||
|
||||
slot_usage:
|
||||
has_or_had_code:
|
||||
pattern: "^[A-Z]{3}$"
|
||||
required: true
|
||||
description: Three-letter ISO 3166-1 alpha-3 country code
|
||||
examples:
|
||||
- value: "NLD"
|
||||
description: Netherlands
|
||||
- value: "BEL"
|
||||
description: Belgium
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.30"
|
||||
specificity_rationale: "Low specificity - standard country codes used broadly."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
has_or_had_code: "NLD"
|
||||
description: Netherlands country code
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
# ConversionRate - Structured conversion rate measurement
|
||||
# Created per slot_fixes.yaml migration for: visitor_conversion_rate
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# REVISION FROM slot_fixes.yaml (lines 1646-1669):
|
||||
# - label: has_or_had_conversion_rate (slot)
|
||||
# - label: ConversionRate (class) ← THIS FILE
|
||||
# - link_branch 1: has_or_had_type → ConversionRateType → ConversionRateTypes
|
||||
# - link_branch 2: temporal_extent → TimeSpan
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ConversionRate
|
||||
name: ConversionRate
|
||||
title: ConversionRate
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./ConversionRateType
|
||||
- ./ConversionRateTypes
|
||||
- ./TimeSpan
|
||||
- ../slots/has_or_had_type
|
||||
- ../slots/temporal_extent
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
ConversionRate:
|
||||
description: >-
|
||||
Structured representation of a conversion rate metric for heritage institutions.
|
||||
|
||||
**WHY A DEDICATED CLASS?**
|
||||
|
||||
Conversion rates are more than simple floats - they need:
|
||||
- **Type**: What kind of conversion (visitor-to-purchase, visitor-to-member)
|
||||
- **Value**: The actual percentage (0.35 = 35%)
|
||||
- **Time Period**: When this rate was measured
|
||||
- **Context**: Comparison benchmarks, notes
|
||||
|
||||
**SLOT_FIXES.YAML REVISION** (lines 1646-1669):
|
||||
- Branch 1: has_or_had_type → ConversionRateType/ConversionRateTypes
|
||||
- Branch 2: temporal_extent → TimeSpan (measurement period)
|
||||
|
||||
**USE CASES**:
|
||||
- Gift shop performance: 35% visitor-to-purchase conversion
|
||||
- Membership drives: 5% visitor-to-member conversion
|
||||
- Digital engagement: 3% website-to-visit conversion
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: schema:QuantitativeValue (numeric measurement)
|
||||
- Uses schema:interactionStatistic for behavioral metrics
|
||||
|
||||
class_uri: schema:QuantitativeValue
|
||||
|
||||
exact_mappings:
|
||||
- schema:QuantitativeValue
|
||||
|
||||
close_mappings:
|
||||
- schema:interactionStatistic
|
||||
|
||||
slots:
|
||||
- has_or_had_type
|
||||
- temporal_extent
|
||||
|
||||
attributes:
|
||||
rate_value:
|
||||
range: float
|
||||
required: true
|
||||
description: >-
|
||||
The conversion rate as a decimal (0.35 = 35%).
|
||||
Always expressed as proportion between 0.0 and 1.0.
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
|
||||
rate_percentage:
|
||||
range: float
|
||||
description: >-
|
||||
The conversion rate as a percentage (35 = 35%).
|
||||
Calculated field: rate_value × 100.
|
||||
minimum_value: 0.0
|
||||
maximum_value: 100.0
|
||||
|
||||
sample_size:
|
||||
range: integer
|
||||
description: >-
|
||||
The number of observations in the denominator (total visitors, emails sent, etc.).
|
||||
Required for statistical significance assessment.
|
||||
|
||||
converted_count:
|
||||
range: integer
|
||||
description: >-
|
||||
The number of successful conversions (numerator).
|
||||
Required for statistical significance assessment.
|
||||
|
||||
measurement_period_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the measurement period.
|
||||
Examples: "Q1 2025", "Calendar Year 2024", "Exhibition period"
|
||||
|
||||
benchmark_comparison:
|
||||
range: string
|
||||
description: >-
|
||||
How this rate compares to industry benchmarks.
|
||||
Examples: "Above average", "Top quartile", "Below benchmark"
|
||||
|
||||
notes:
|
||||
range: string
|
||||
description: >-
|
||||
Additional context about this conversion rate measurement.
|
||||
Examples: Special circumstances, data collection methodology.
|
||||
|
||||
slot_usage:
|
||||
has_or_had_type:
|
||||
range: ConversionRateType
|
||||
inlined: true
|
||||
description: >-
|
||||
The type of conversion being measured.
|
||||
Use concrete types from ConversionRateTypes (VisitorToPurchaseConversion, etc.)
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Purchase"
|
||||
source_population: "museum visitors"
|
||||
target_action: "made gift shop purchase"
|
||||
description: Visitor to purchase conversion type
|
||||
|
||||
temporal_extent:
|
||||
range: TimeSpan
|
||||
inlined: true
|
||||
description: >-
|
||||
The time period during which this conversion rate was measured.
|
||||
Use begin/end dates to specify the measurement window.
|
||||
examples:
|
||||
- value: |
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01"
|
||||
end_of_the_end: "2024-12-31"
|
||||
description: Calendar year 2024 measurement period
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Conversion rates applicable to all custodian types with retail or engagement.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians tracking performance metrics.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
ConversionRate:
|
||||
rate_value: 0.35
|
||||
rate_percentage: 35.0
|
||||
sample_size: 500000
|
||||
converted_count: 175000
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Purchase"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01"
|
||||
end_of_the_end: "2024-12-31"
|
||||
measurement_period_description: "Calendar Year 2024"
|
||||
benchmark_comparison: "Above average (industry avg 15-25%)"
|
||||
description: Gift shop 35% visitor-to-purchase conversion rate.
|
||||
|
||||
- value: |
|
||||
ConversionRate:
|
||||
rate_value: 0.05
|
||||
rate_percentage: 5.0
|
||||
sample_size: 100000
|
||||
converted_count: 5000
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Member"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-06-01"
|
||||
end_of_the_end: "2024-08-31"
|
||||
measurement_period_description: "Summer membership drive"
|
||||
benchmark_comparison: "Strong (industry avg 1-3%)"
|
||||
description: Summer membership campaign with 5% conversion.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces simple float visitor_conversion_rate slot
|
||||
- Supports multiple conversion types with industry benchmarks
|
||||
- Temporal extent enables trend analysis over time
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
# ConversionRateType - Abstract base class for conversion rate types
|
||||
# Created per slot_fixes.yaml migration for: visitor_conversion_rate
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# NAMING CONVENTION (Rule 0b):
|
||||
# - ConversionRateType.yaml = Abstract base class (this file)
|
||||
# - ConversionRateTypes.yaml = Concrete subclasses
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ConversionRateType
|
||||
name: ConversionRateType
|
||||
title: ConversionRateType
|
||||
|
||||
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#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
ConversionRateType:
|
||||
abstract: true
|
||||
description: >-
|
||||
Abstract base class for types of conversion rates measured in heritage contexts.
|
||||
|
||||
**TYPE TAXONOMY**:
|
||||
|
||||
Conversion rates measure the percentage of one group that performs a specific action:
|
||||
- **Visitor to Purchase**: Museum visitors who buy from gift shop
|
||||
- **Visitor to Member**: Visitors who become members
|
||||
- **Online to Visit**: Website visitors who visit physically
|
||||
- **Email to Click**: Email recipients who click links
|
||||
- **Social to Follower**: Social media viewers who follow
|
||||
|
||||
**NAMING CONVENTION** (Rule 0b):
|
||||
- This file: Abstract `ConversionRateType` base class
|
||||
- ConversionRateTypes.yaml: Concrete subclasses
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: skos:Concept (type taxonomy concept)
|
||||
- Part of SKOS-based classification scheme
|
||||
|
||||
class_uri: skos:Concept
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
attributes:
|
||||
type_id:
|
||||
range: uriorcurie
|
||||
identifier: true
|
||||
description: Unique identifier for this conversion rate type.
|
||||
|
||||
type_label:
|
||||
range: string
|
||||
required: true
|
||||
description: Human-readable label for this conversion rate type.
|
||||
|
||||
type_description:
|
||||
range: string
|
||||
description: Detailed description of what this conversion rate measures.
|
||||
|
||||
source_population:
|
||||
range: string
|
||||
description: >-
|
||||
The group being measured (denominator).
|
||||
Examples: "museum visitors", "website visitors", "email recipients"
|
||||
|
||||
target_action:
|
||||
range: string
|
||||
description: >-
|
||||
The action being measured (numerator).
|
||||
Examples: "made purchase", "became member", "clicked link"
|
||||
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
description: Low end of industry benchmark for this conversion type.
|
||||
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
description: High end of industry benchmark for this conversion type.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Conversion rate types applicable to all custodian types with retail or engagement metrics.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians tracking performance metrics.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Abstract base class - see ConversionRateTypes.yaml for concrete types
|
||||
- Used with ConversionRate class for structured metrics
|
||||
|
|
@ -0,0 +1,218 @@
|
|||
# ConversionRateTypes - Concrete subclasses of ConversionRateType
|
||||
# Created per slot_fixes.yaml migration for: visitor_conversion_rate
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# NAMING CONVENTION (Rule 0b):
|
||||
# - ConversionRateType.yaml = Abstract base class
|
||||
# - ConversionRateTypes.yaml = Concrete subclasses (this file)
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ConversionRateTypes
|
||||
name: ConversionRateTypes
|
||||
title: ConversionRateTypes
|
||||
|
||||
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#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./ConversionRateType
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
VisitorToPurchaseConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring museum/archive visitors who make a gift shop purchase.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 15-25%
|
||||
- High performers: 30-40%
|
||||
- Blockbuster exhibitions: 40-60%
|
||||
|
||||
**CALCULATION**: (Purchasers / Total Visitors) × 100
|
||||
|
||||
class_uri: hc:VisitorToPurchaseConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Visitor to Purchase)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(museum/venue visitors)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(made gift shop purchase)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.15)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.40)"
|
||||
|
||||
VisitorToMemberConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring visitors who become members/supporters.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 1-3%
|
||||
- Strong programs: 5-8%
|
||||
|
||||
**CALCULATION**: (New Members / Total Visitors) × 100
|
||||
|
||||
class_uri: hc:VisitorToMemberConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Visitor to Member)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(museum/venue visitors)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(became member/supporter)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.01)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.08)"
|
||||
|
||||
OnlineToPhysicalConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring website visitors who subsequently visit physically.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 0.5-2%
|
||||
- Strong digital presence: 3-5%
|
||||
|
||||
**CALCULATION**: (Physical Visits from Web / Website Visitors) × 100
|
||||
|
||||
class_uri: hc:OnlineToPhysicalConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Online to Physical Visit)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(website visitors)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(visited venue physically)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.005)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.05)"
|
||||
|
||||
EmailToClickConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring email recipients who click through.
|
||||
|
||||
**INDUSTRY BENCHMARKS** (Museum sector):
|
||||
- Average: 2-4%
|
||||
- Well-targeted: 5-10%
|
||||
|
||||
**CALCULATION**: (Clicks / Emails Delivered) × 100
|
||||
|
||||
class_uri: hc:EmailToClickConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Email to Click)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(email recipients)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(clicked link in email)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.02)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.10)"
|
||||
|
||||
SocialToFollowerConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring social media viewers who become followers.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 1-3%
|
||||
- Viral content: 5-15%
|
||||
|
||||
**CALCULATION**: (New Followers / Content Views) × 100
|
||||
|
||||
class_uri: hc:SocialToFollowerConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Social to Follower)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(social media content viewers)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(became follower)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.01)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.15)"
|
||||
|
||||
TicketToReturnConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Conversion rate measuring ticket buyers who return for another visit.
|
||||
|
||||
**INDUSTRY BENCHMARKS**:
|
||||
- Average: 20-30%
|
||||
- Strong loyalty programs: 40-60%
|
||||
|
||||
**CALCULATION**: (Return Visitors / Total Ticket Buyers) × 100
|
||||
|
||||
class_uri: hc:TicketToReturnConversion
|
||||
|
||||
attributes:
|
||||
type_label:
|
||||
range: string
|
||||
ifabsent: "string(Ticket to Return Visit)"
|
||||
source_population:
|
||||
range: string
|
||||
ifabsent: "string(ticket buyers)"
|
||||
target_action:
|
||||
range: string
|
||||
ifabsent: "string(made return visit within 12 months)"
|
||||
industry_benchmark_low:
|
||||
range: float
|
||||
ifabsent: "float(0.20)"
|
||||
industry_benchmark_high:
|
||||
range: float
|
||||
ifabsent: "float(0.60)"
|
||||
|
||||
OtherConversion:
|
||||
is_a: ConversionRateType
|
||||
description: >-
|
||||
Custom or other conversion rate type not covered by standard types.
|
||||
Use this when tracking novel metrics or institution-specific conversions.
|
||||
|
||||
class_uri: hc:OtherConversion
|
||||
|
||||
attributes:
|
||||
custom_type_name:
|
||||
range: string
|
||||
description: Name of the custom conversion type.
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
# Description class
|
||||
# Generic class for typed descriptions with language support
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml authoritative)
|
||||
# Migration: Supports has_or_had_description slot (replaces binding_description, branch_description, etc.)
|
||||
#
|
||||
# This class supports 11 slot migrations per slot_fixes.yaml:
|
||||
# - binding_description
|
||||
# - branch_description
|
||||
# - branch_office_description
|
||||
# - budget_description
|
||||
# - zone_description
|
||||
# - warehouse_description
|
||||
# - unit_description
|
||||
# - type_description
|
||||
# - treatment_description (partial)
|
||||
# - transfer_location_text (partial)
|
||||
# - transfer_location (partial)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Description
|
||||
name: description_class
|
||||
title: Description Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/description_text
|
||||
- ../slots/description_type
|
||||
- ../slots/language
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
Description:
|
||||
class_uri: dcterms:description
|
||||
description: |
|
||||
A typed description with optional language tagging and type metadata.
|
||||
|
||||
**Purpose**:
|
||||
Description provides a reusable class for representing textual descriptions
|
||||
across the heritage custodian schema. Supports typed descriptions (binding,
|
||||
branch, budget, zone, etc.) with language tagging.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `dcterms:description` - Dublin Core description
|
||||
- **Close**: `skos:definition` - formal definition
|
||||
- **Related**: `schema:description` - Schema.org description
|
||||
|
||||
**Use Cases**:
|
||||
- Binding descriptions for physical carriers
|
||||
- Branch/office descriptions for organizational units
|
||||
- Budget descriptions for financial records
|
||||
- Zone/warehouse descriptions for storage facilities
|
||||
- Type descriptions for classification explanations
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `binding_description` (string)
|
||||
- `branch_description` (string)
|
||||
- `branch_office_description` (string)
|
||||
- `budget_description` (string)
|
||||
- `zone_description` (string)
|
||||
- `warehouse_description` (string)
|
||||
- `unit_description` (string)
|
||||
- `type_description` (string)
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:description
|
||||
|
||||
close_mappings:
|
||||
- skos:definition
|
||||
- rdfs:comment
|
||||
|
||||
related_mappings:
|
||||
- schema:description
|
||||
|
||||
slots:
|
||||
- description_text
|
||||
- description_type
|
||||
- language
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
description_text:
|
||||
description: |
|
||||
The textual content of the description.
|
||||
range: string
|
||||
required: true
|
||||
description_type:
|
||||
description: |
|
||||
The type of description (binding, branch, budget, zone, warehouse, unit, type, general).
|
||||
This allows distinguishing different kinds of descriptions when multiple
|
||||
apply to the same entity.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: binding
|
||||
description: Physical binding description
|
||||
- value: branch
|
||||
description: Organizational branch description
|
||||
- value: budget
|
||||
description: Budget category description
|
||||
- value: zone
|
||||
description: Storage zone description
|
||||
language:
|
||||
description: |
|
||||
ISO 639-1 two-letter language code for this description.
|
||||
Examples: "en", "nl", "de", "fr"
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^[a-z]{2}$"
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Generic description class applicable to all custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Very broadly applicable generic class for textual descriptions.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
description_text: "Climate-controlled storage zone with dedicated HVAC for archival materials. Maintains 65°F and 35% RH."
|
||||
description_type: zone
|
||||
language: en
|
||||
description: "Zone description for archival storage facility"
|
||||
- value: |
|
||||
description_text: "Quarter leather binding with marbled boards, spine with five raised bands and gilt titling."
|
||||
description_type: binding
|
||||
language: en
|
||||
description: "Binding description for a rare book"
|
||||
- value: |
|
||||
description_text: "Regional branch serving Noord-Holland province with specialized genealogy and notarial collections."
|
||||
description_type: branch
|
||||
language: en
|
||||
description: "Branch description for organizational unit"
|
||||
|
|
@ -44,38 +44,46 @@ imports:
|
|||
classes:
|
||||
EnvironmentalZone:
|
||||
class_uri: hc:EnvironmentalZone
|
||||
description: "A climate-controlled area within a storage facility with specific\nenvironmental parameters (temperature,\
|
||||
\ relative humidity, light levels,\nair quality).\n\n**DEFINITION**:\n\nAn EnvironmentalZone represents a physically\
|
||||
\ distinct area within a\nstorage facility that maintains specific environmental conditions.\nDifferent collection types\
|
||||
\ require different zones based on their\nmaterial composition and preservation requirements.\n\nExamples include:\n\
|
||||
- Climate-controlled archive rooms (18°C, 50% RH)\n- Cold storage vaults for film (-5°C to +4°C)\n- Photographic materials\
|
||||
\ storage (15°C, 35% RH)\n- Textile storage (stable RH, low light)\n- General collection storage (ambient controlled)\n\
|
||||
\n**Wikidata Alignment**:\n- Q1759899 (climate control)\n\n**HC Ontology Extension (hc-storage.ttl)**:\n\nPrimary class:\
|
||||
\ `hc:EnvironmentalZone` (subclass of `crm:E27_Site`)\n\nThe HC ontology provides environmental preset instances:\n\
|
||||
- `hc:StandardArchiveEnvironment` - 18°C, 50% RH, 50 lux\n- `hc:PhotographicMaterialsEnvironment` - 15°C, 35% RH\n-\
|
||||
\ `hc:ColdStorageEnvironment` - -5°C, 30% RH\n- `hc:TextileStorageEnvironment` - 18°C, 50% RH, 15000 lux-hours/year\n\
|
||||
\nKey HC properties for zones:\n- `hc:hasStorageSection` - Links zone to storage units\n- `hc:hasEnvironmentalRequirement`\
|
||||
\ - Links to climate specs\n- `hc:meetsRequirement` - Indicates compliance\n- `hc:hasEnvironmentalObservation` - Links\
|
||||
\ to sensor readings\n- `hc:monitoredByPlatform` - Links to sensor systems\n\n**SOSA/SSN Integration**:\n\nEnvironmental\
|
||||
\ zones can be monitored using sensor networks:\n- Zone is a `sosa:FeatureOfInterest`\n- Observations are `hc:StorageEnvironmentObservation`\n\
|
||||
- Sensors are hosted on `hc:EnvironmentalSensorPlatform`\n\nSee: `frontend/public/ontology/hc-storage.ttl`\n\n**CIDOC-CRM\
|
||||
\ Alignment (v7.1.3)**:\n\nBase class: `crm:E27_Site` - Zones are physical locations.\n\nHierarchy:\n```\nStorageFacility\
|
||||
\ (hc:StorageFacility)\n └── P59 has_section → EnvironmentalZone (hc:EnvironmentalZone)\n ├── hc:hasEnvironmentalRequirement\
|
||||
\ → EnvironmentalRequirement\n ├── hc:hasEnvironmentalObservation → StorageEnvironmentObservation[]\n \
|
||||
\ └── P59 has_section → StorageUnit[]\n```\n\n**RELATIONSHIP TO OTHER CLASSES**:\n\n```\nStorage (facility)\n │\n \
|
||||
\ └── has_section → EnvironmentalZone[] (THIS CLASS)\n │\n ├── has_or_had_type (EnvironmentalZoneType - class\
|
||||
\ hierarchy)\n ├── environmental_requirement → StorageConditionPolicy\n ├── observations → StorageCondition[]\n\
|
||||
\ ├── monitoring_platform (sensor system info)\n │\n └── has_section → StorageUnit[]\n \
|
||||
\ └── stores_objects → HeritageObject[]\n```\n\n**ENVIRONMENTAL STANDARDS REFERENCE**:\n\n| Material Type | Temperature\
|
||||
\ | RH | Light | Standard |\n|---------------|------------|-----|-------|----------|\n| Paper/archives | 16-20°C | 45-55%\
|
||||
\ | <50 lux | ISO 11799 |\n| Photographs | 10-18°C | 30-40% | <50 lux | ISO 18934 |\n| Film (B&W) | -5°C | 30% | dark\
|
||||
\ | ISO 18911 |\n| Film (color) | -20°C | 30% | dark | ISO 18911 |\n| Textiles | 15-20°C | 45-55% | <50 lux | varies\
|
||||
\ |\n| Metals | 15-25°C | <35% | varies | varies |\n\n**USE CASES**:\n\n1. **Standard Archive Zone**:\n - zone_type:\
|
||||
\ ARCHIVE_STANDARD\n - target_temperature: 18°C\n - target_humidity: 50%\n - max_light: 50 lux\n - environmental_requirement:\
|
||||
\ hc:StandardArchiveEnvironment\n \n2. **Cold Storage Vault**:\n - zone_type: COLD_STORAGE\n - target_temperature:\
|
||||
\ -5°C\n - target_humidity: 30%\n - environmental_requirement: hc:ColdStorageEnvironment\n \n3. **Photographic\
|
||||
\ Materials Zone**:\n - zone_type: PHOTOGRAPHIC\n - target_temperature: 15°C\n - target_humidity: 35%\n - max_light:\
|
||||
\ 50 lux\n"
|
||||
description: >-
|
||||
A climate-controlled area within a storage facility with specific
|
||||
environmental parameters (temperature, relative humidity, light levels,
|
||||
air quality).
|
||||
|
||||
DEFINITION:
|
||||
An EnvironmentalZone represents a physically distinct area within a
|
||||
storage facility that maintains specific environmental conditions.
|
||||
Different collection types require different zones based on their
|
||||
material composition and preservation requirements.
|
||||
|
||||
Examples include climate-controlled archive rooms (18C, 50% RH),
|
||||
cold storage vaults for film (-5C to +4C), photographic materials
|
||||
storage (15C, 35% RH), textile storage (stable RH, low light),
|
||||
and general collection storage (ambient controlled).
|
||||
|
||||
Wikidata Alignment: Q1759899 (climate control).
|
||||
|
||||
HC Ontology Extension (hc-storage.ttl):
|
||||
Primary class hc:EnvironmentalZone (subclass of crm:E27_Site).
|
||||
Provides environmental preset instances including
|
||||
hc:StandardArchiveEnvironment (18C, 50% RH, 50 lux),
|
||||
hc:PhotographicMaterialsEnvironment (15C, 35% RH),
|
||||
hc:ColdStorageEnvironment (-5C, 30% RH),
|
||||
hc:TextileStorageEnvironment (18C, 50% RH, 15000 lux-hours/year).
|
||||
|
||||
Key HC properties: hc:hasStorageSection (links zone to storage units),
|
||||
hc:hasEnvironmentalRequirement (links to climate specs),
|
||||
hc:meetsRequirement (indicates compliance),
|
||||
hc:hasEnvironmentalObservation (links to sensor readings),
|
||||
hc:monitoredByPlatform (links to sensor systems).
|
||||
|
||||
SOSA/SSN Integration: Environmental zones can be monitored using
|
||||
sensor networks where Zone is a sosa:FeatureOfInterest,
|
||||
Observations are hc:StorageEnvironmentObservation, and
|
||||
Sensors are hosted on hc:EnvironmentalSensorPlatform.
|
||||
|
||||
CIDOC-CRM Alignment (v7.1.3): Base class crm:E27_Site - Zones are
|
||||
physical locations. StorageFacility has_section EnvironmentalZone
|
||||
which has_section StorageUnit.
|
||||
exact_mappings:
|
||||
- hc:EnvironmentalZone
|
||||
- crm:E27_Site
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ imports:
|
|||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ../slots/traveling_venue
|
||||
- ../slots/visitor_count
|
||||
- ../slots/has_or_had_quantity
|
||||
- ./Quantity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
default_prefix: hc
|
||||
|
|
@ -72,7 +73,7 @@ classes:
|
|||
\ for CIDOC-CRM\n fuzzy temporal modeling (begin_of_the_begin, end_of_the_end, etc.)\n\n**Example**:\n\nThe \"Vermeer\"\
|
||||
\ exhibition at Rijksmuseum (Feb 10 - Jun 4, 2023):\n- exhibition_id: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023\n\
|
||||
- exhibition_name: \"Vermeer\"\n- organized_by: [Rijksmuseum, Mauritshuis] (joint organization)\n- start_date: 2023-02-10\n\
|
||||
- end_date: 2023-06-04\n- exhibition_type: BLOCKBUSTER\n- visitor_count: 650000\n- featured_objects: [Girl with a Pearl\
|
||||
- end_date: 2023-06-04\n- exhibition_type: BLOCKBUSTER\n- has_or_had_quantity: (visitor count)\n- featured_objects: [Girl with a Pearl\
|
||||
\ Earring, The Milkmaid, View of Delft]\n- exhibition_catalogs: [Vermeer (2023) catalog]\n"
|
||||
exact_mappings:
|
||||
- schema:ExhibitionEvent
|
||||
|
|
@ -108,7 +109,7 @@ classes:
|
|||
- start_date
|
||||
- template_specificity
|
||||
- traveling_venue
|
||||
- visitor_count
|
||||
- has_or_had_quantity
|
||||
- wikidata_id
|
||||
slot_usage:
|
||||
exhibition_id:
|
||||
|
|
@ -213,12 +214,25 @@ classes:
|
|||
range: EventStatusEnum
|
||||
examples:
|
||||
- value: COMPLETED
|
||||
visitor_count:
|
||||
has_or_had_quantity:
|
||||
required: false
|
||||
range: integer
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
Visitor count for the exhibition. RULE 53: Replaces deprecated
|
||||
visitor_count integer slot with structured Quantity class.
|
||||
examples:
|
||||
- value: 650000
|
||||
description: Vermeer exhibition attendance
|
||||
- value:
|
||||
quantity_value: 650000
|
||||
quantity_type: VISITOR_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2023-02-10T00:00:00Z"
|
||||
end_of_the_end: "2023-06-04T23:59:59Z"
|
||||
has_or_had_description: Vermeer exhibition attendance
|
||||
description: Exhibition visitor count with temporal extent
|
||||
exhibition_url:
|
||||
required: false
|
||||
range: uri
|
||||
|
|
@ -290,7 +304,7 @@ classes:
|
|||
- Links to ExhibitedObject via featured_objects for typed object references
|
||||
- Links to ExhibitionCatalog via exhibition_catalogs for publication metadata
|
||||
- Use exhibition_type to categorize (permanent, temporary, traveling, etc.)
|
||||
- visitor_count tracks attendance for completed exhibitions
|
||||
- RULE 53: has_or_had_quantity replaces deprecated visitor_count for attendance
|
||||
- featured_works (string) retained for backward compatibility; prefer featured_objects
|
||||
see_also:
|
||||
- https://schema.org/ExhibitionEvent
|
||||
|
|
@ -324,7 +338,16 @@ classes:
|
|||
country: NL
|
||||
exhibition_venue: Philips Wing
|
||||
exhibition_status: COMPLETED
|
||||
visitor_count: 650000
|
||||
has_or_had_quantity:
|
||||
quantity_value: 650000
|
||||
quantity_type: VISITOR_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2023-02-10T00:00:00Z"
|
||||
end_of_the_end: "2023-06-04T23:59:59Z"
|
||||
has_or_had_description: Vermeer exhibition attendance
|
||||
exhibition_url: https://www.rijksmuseum.nl/nl/vermeer
|
||||
has_or_had_featured_object:
|
||||
- https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
# ExternalWork - External work/services accepted by an institution
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_external_work
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/ExternalWork
|
||||
name: ExternalWork
|
||||
title: ExternalWork
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
ExternalWork:
|
||||
description: >-
|
||||
External work or services that an institution accepts or commissions.
|
||||
|
||||
**EXAMPLES**:
|
||||
- Conservation work from external specialists
|
||||
- Digitization services
|
||||
- Research collaborations
|
||||
- Restoration projects
|
||||
|
||||
Used with `accepts_or_accepted` slot to indicate what types of
|
||||
external work an institution will accept or commission.
|
||||
|
||||
class_uri: schema:Service
|
||||
|
||||
close_mappings:
|
||||
- schema:Offer
|
||||
|
||||
attributes:
|
||||
work_type:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Type of external work (e.g., "conservation", "digitization", "restoration").
|
||||
|
||||
description:
|
||||
range: string
|
||||
description: >-
|
||||
Description of the external work type.
|
||||
|
||||
requirements:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Requirements or qualifications for external work providers.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["M", "A", "L", "G"]'
|
||||
custodian_types_rationale: >-
|
||||
External work primarily relevant for museums, archives, libraries, galleries.
|
||||
custodian_types_primary: "M"
|
||||
specificity_score: 0.7
|
||||
specificity_rationale: >-
|
||||
High specificity - specific to service acceptance policies.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
ExternalWork:
|
||||
work_type: "conservation"
|
||||
description: "Paper and textile conservation services"
|
||||
requirements:
|
||||
- "Certified conservator"
|
||||
- "Portfolio of previous work"
|
||||
description: Conservation work accepted by archive.
|
||||
|
|
@ -34,7 +34,10 @@ imports:
|
|||
- ../slots/temporal_extent
|
||||
- ../slots/valid_from
|
||||
- ../slots/valid_to
|
||||
- ../slots/visitor_conversion_rate
|
||||
- ../slots/has_or_had_conversion_rate
|
||||
- ./ConversionRate
|
||||
- ./ConversionRateType
|
||||
- ./ConversionRateTypes
|
||||
- ../slots/was_derived_from
|
||||
- ../slots/was_generated_by
|
||||
- ./SpecificityAnnotation
|
||||
|
|
@ -125,7 +128,7 @@ classes:
|
|||
- temporal_extent
|
||||
- valid_from
|
||||
- valid_to
|
||||
- visitor_conversion_rate
|
||||
- has_or_had_conversion_rate
|
||||
- was_derived_from
|
||||
- was_generated_by
|
||||
slot_usage:
|
||||
|
|
@ -232,12 +235,22 @@ classes:
|
|||
examples:
|
||||
- value: EUR 5,000,000
|
||||
description: Annual revenue in euros
|
||||
visitor_conversion_rate:
|
||||
range: float
|
||||
has_or_had_conversion_rate:
|
||||
range: ConversionRate
|
||||
inlined: true
|
||||
multivalued: true
|
||||
required: false
|
||||
description: Conversion rate metrics for the gift shop (visitor-to-purchase, visitor-to-member, etc.)
|
||||
examples:
|
||||
- value: 0.35
|
||||
description: 35% conversion rate
|
||||
- value: |
|
||||
has_or_had_conversion_rate:
|
||||
- rate_value: 0.35
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Purchase"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01"
|
||||
end_of_the_end: "2024-12-31"
|
||||
description: 35% visitor-to-purchase conversion rate for calendar year
|
||||
staff_count:
|
||||
range: integer
|
||||
required: false
|
||||
|
|
|
|||
|
|
@ -0,0 +1,133 @@
|
|||
# Hypothesis - A hypothesis or assertion about uncertain data (e.g., institution type)
|
||||
# Created per slot_fixes.yaml migration for: type_hypothesis
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Hypothesis
|
||||
name: Hypothesis
|
||||
title: Hypothesis
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Hypothesis:
|
||||
description: >-
|
||||
A hypothesis or working assertion about uncertain or ambiguous data.
|
||||
|
||||
**USE CASE**: Institution Type Hypotheses
|
||||
When an institution's type cannot be definitively determined, multiple
|
||||
type hypotheses can be recorded with supporting/contradicting evidence
|
||||
and confidence levels.
|
||||
|
||||
**STRUCTURE**:
|
||||
- Asserted value (the hypothesis)
|
||||
- Confidence level
|
||||
- Supporting evidence
|
||||
- Contradicting evidence
|
||||
- Alternative interpretations
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: skos:Concept (the hypothesis is a conceptual assertion)
|
||||
- Related to prov:Entity (what is being hypothesized about)
|
||||
|
||||
class_uri: skos:Concept
|
||||
|
||||
close_mappings:
|
||||
- prov:Entity
|
||||
- schema:Claim
|
||||
|
||||
related_mappings:
|
||||
- skos:note
|
||||
|
||||
attributes:
|
||||
asserted_value:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
The hypothesized value or assertion.
|
||||
Example: "MUSEUM", "ARCHIVE", "COLLECTING_SOCIETY"
|
||||
|
||||
confidence_level:
|
||||
range: string
|
||||
description: >-
|
||||
Qualitative confidence level for this hypothesis.
|
||||
Values: "high", "medium", "low", "very_low"
|
||||
|
||||
confidence_score:
|
||||
range: float
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Numeric confidence score (0.0 to 1.0) for this hypothesis.
|
||||
|
||||
supporting_evidence:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Evidence supporting this hypothesis.
|
||||
Example: "Uses term 'exhibitions' in description"
|
||||
|
||||
contradicting_evidence:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Evidence contradicting this hypothesis.
|
||||
Example: "No physical location mentioned"
|
||||
|
||||
alternative_interpretation:
|
||||
range: string
|
||||
description: >-
|
||||
Alternative interpretation of the same evidence.
|
||||
Example: "Could also be interpreted as gallery based on art focus"
|
||||
|
||||
note:
|
||||
range: string
|
||||
slot_uri: skos:note
|
||||
description: >-
|
||||
General notes about this hypothesis.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["U"]'
|
||||
custodian_types_rationale: >-
|
||||
Hypotheses are primarily used for Unknown (U) type institutions
|
||||
where the type is ambiguous and needs research to resolve.
|
||||
custodian_types_primary: "U"
|
||||
specificity_score: 0.8
|
||||
specificity_rationale: >-
|
||||
High specificity - only relevant for uncertain/ambiguous data.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Hypothesis:
|
||||
asserted_value: "MUSEUM"
|
||||
confidence_level: "medium"
|
||||
confidence_score: 0.65
|
||||
supporting_evidence:
|
||||
- "Website mentions 'exhibitions'"
|
||||
- "Has physical visitor address"
|
||||
contradicting_evidence:
|
||||
- "No collection catalog found"
|
||||
alternative_interpretation: "Could be a gallery with temporary shows"
|
||||
description: >-
|
||||
Type hypothesis suggesting institution is a museum.
|
||||
|
||||
- value: |
|
||||
Hypothesis:
|
||||
asserted_value: "COLLECTING_SOCIETY"
|
||||
confidence_level: "high"
|
||||
confidence_score: 0.85
|
||||
supporting_evidence:
|
||||
- "Name contains 'Historische Vereniging'"
|
||||
- "Membership-based organization"
|
||||
- "Maintains local archive"
|
||||
description: >-
|
||||
High-confidence hypothesis for a collecting society.
|
||||
|
|
@ -33,7 +33,8 @@ imports:
|
|||
- ../slots/technical_specification
|
||||
- ../slots/template_specificity
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/update_frequency
|
||||
- ../slots/has_or_had_frequency
|
||||
- ./UpdateFrequency
|
||||
- ../slots/was_derived_from
|
||||
- ../slots/was_generated_by
|
||||
- ./SpecificityAnnotation
|
||||
|
|
@ -115,7 +116,7 @@ classes:
|
|||
- technical_specification
|
||||
- template_specificity
|
||||
- temporal_extent
|
||||
- update_frequency
|
||||
- has_or_had_frequency
|
||||
- was_derived_from
|
||||
- was_generated_by
|
||||
slot_usage:
|
||||
|
|
@ -222,12 +223,26 @@ classes:
|
|||
examples:
|
||||
- value: JSON
|
||||
description: JSON data format
|
||||
update_frequency:
|
||||
range: string
|
||||
has_or_had_frequency:
|
||||
range: UpdateFrequency
|
||||
inlined: true
|
||||
description: >-
|
||||
How often the device sends data/updates, represented as a structured
|
||||
UpdateFrequency instance with quantity and time interval components.
|
||||
examples:
|
||||
- value: Every 5 minutes
|
||||
- value: |
|
||||
has_or_had_frequency:
|
||||
frequency_description: "Every 5 minutes"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
description: Climate sensor update frequency
|
||||
- value: On proximity trigger
|
||||
- value: |
|
||||
has_or_had_frequency:
|
||||
frequency_description: "On proximity trigger"
|
||||
is_event_driven: true
|
||||
trigger_type: "proximity"
|
||||
description: Beacon trigger frequency
|
||||
installed_at_place:
|
||||
range: CustodianPlace
|
||||
|
|
@ -321,7 +336,13 @@ classes:
|
|||
publishes_to: https://dashboard.rijksmuseum.nl/climate
|
||||
api_endpoint: https://api.rijksmuseum.nl/climate/v1/
|
||||
data_format: JSON
|
||||
update_frequency: Every 5 minutes
|
||||
has_or_had_frequency:
|
||||
frequency_description: "Every 5 minutes"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
duration_description: "minute"
|
||||
installation_date: '2020-01-15'
|
||||
operational_status: ACTIVE
|
||||
maintenance_schedule: Quarterly calibration
|
||||
|
|
|
|||
|
|
@ -0,0 +1,98 @@
|
|||
# Location class
|
||||
# Generic geographic location representation
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization)
|
||||
#
|
||||
# Generic location class for use by TransferEvent and other location-referencing entities
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Location
|
||||
name: location_class
|
||||
title: Location Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
locn: http://www.w3.org/ns/locn#
|
||||
wgs84: http://www.w3.org/2003/01/geo/wgs84_pos#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/location_name
|
||||
- ../slots/latitude
|
||||
- ../slots/longitude
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
Location:
|
||||
class_uri: schema:Place
|
||||
description: |
|
||||
Generic geographic location representation.
|
||||
|
||||
**Purpose**:
|
||||
Location provides a reusable class for representing geographic
|
||||
locations with name and optional coordinates.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `schema:Place` - Schema.org Place
|
||||
- **Exact**: `locn:Location` - LOCN (W3C Location) location
|
||||
- **Related**: `wgs84:Point` - WGS84 geo point (for coordinates)
|
||||
|
||||
**Use Cases**:
|
||||
- Transfer event locations (origin/destination)
|
||||
- Institution physical locations
|
||||
- Collection storage locations
|
||||
|
||||
exact_mappings:
|
||||
- locn:Location
|
||||
|
||||
related_mappings:
|
||||
- wgs84:Point
|
||||
|
||||
slots:
|
||||
- location_name
|
||||
- latitude
|
||||
- longitude
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
location_name:
|
||||
description: |
|
||||
Human-readable name of the location.
|
||||
range: string
|
||||
required: true
|
||||
latitude:
|
||||
description: |
|
||||
WGS84 latitude coordinate.
|
||||
range: float
|
||||
required: false
|
||||
longitude:
|
||||
description: |
|
||||
WGS84 longitude coordinate.
|
||||
range: float
|
||||
required: false
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Locations apply to all heritage custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic location class applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
location_name: "Rijksmuseum Amsterdam"
|
||||
latitude: 52.3600
|
||||
longitude: 4.8852
|
||||
description: "Location with coordinates"
|
||||
- value: |
|
||||
location_name: "Noord-Hollands Archief, Haarlem"
|
||||
description: "Location with name only"
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
id: https://nde.nl/ontology/hc/class/Methodology
|
||||
name: methodology_class
|
||||
title: Methodology Class
|
||||
description: >-
|
||||
Defines the methodology or technique used to derive a measurement or observation.
|
||||
|
||||
**RULE 53 COMPLIANT**: Created for unique_object_count and unique_face_count
|
||||
migration per slot_fixes.yaml revision (lines 1951-1994).
|
||||
|
||||
**PROV-O ALIGNMENT**:
|
||||
|
||||
Maps to `prov:Plan` - "A plan is an entity that represents a set of actions or
|
||||
steps intended by one or more agents to achieve some goals."
|
||||
|
||||
In the PROV-O data model, a Plan describes HOW an activity was performed.
|
||||
Methodology extends this to describe HOW a measurement was derived.
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_identifier
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ../enums/MethodologyTypeEnum
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
classes:
|
||||
Methodology:
|
||||
class_uri: prov:Plan
|
||||
description: >-
|
||||
Describes the methodology, technique, or algorithm used to derive a measurement.
|
||||
|
||||
**PROV-O ALIGNMENT**:
|
||||
|
||||
Maps to `prov:Plan` which represents "a set of actions or steps intended by
|
||||
one or more agents to achieve some goals." In measurement contexts, this
|
||||
describes HOW a value was computed or derived.
|
||||
|
||||
**WHY METHODOLOGY MATTERS**:
|
||||
|
||||
Two measurements of "unique objects" could use different methodologies:
|
||||
|
||||
| Methodology | Description | Accuracy |
|
||||
|-------------|-------------|----------|
|
||||
| ENTITY_RESOLUTION | Deduplication via feature matching | High |
|
||||
| TRACKING | Object tracking across frames | Medium |
|
||||
| MANUAL_COUNT | Human counting | Variable |
|
||||
| SAMPLING | Statistical sampling | Estimated |
|
||||
|
||||
Without methodology, two measurements cannot be meaningfully compared.
|
||||
|
||||
**HERITAGE USE CASES**:
|
||||
|
||||
- **Video annotation**: How unique faces/objects were counted (entity resolution)
|
||||
- **Collection inventories**: How item counts were derived (physical vs. digital)
|
||||
- **Visitor statistics**: How attendance was measured (counters, tickets, samples)
|
||||
- **Digitization metrics**: How completeness was assessed
|
||||
|
||||
**EXAMPLE**:
|
||||
|
||||
```yaml
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "RetinaFace + ArcFace clustering"
|
||||
has_or_had_description: >-
|
||||
Faces detected using RetinaFace model, then clustered
|
||||
using ArcFace embeddings with cosine similarity threshold 0.6
|
||||
to identify unique individuals.
|
||||
```
|
||||
|
||||
exact_mappings:
|
||||
- prov:Plan
|
||||
close_mappings:
|
||||
- schema:HowToStep
|
||||
related_mappings:
|
||||
- dcterms:methodology
|
||||
slots:
|
||||
- has_or_had_identifier
|
||||
- methodology_type
|
||||
- has_or_had_label
|
||||
- has_or_had_description
|
||||
- algorithm_name
|
||||
- algorithm_version
|
||||
- confidence_threshold
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
slot_usage:
|
||||
has_or_had_identifier:
|
||||
range: uriorcurie
|
||||
required: false
|
||||
identifier: true
|
||||
description: >-
|
||||
Optional identifier for this methodology specification.
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/methodology/retinaface-arcface-v1
|
||||
description: Face clustering methodology identifier
|
||||
methodology_type:
|
||||
range: MethodologyTypeEnum
|
||||
required: false
|
||||
description: >-
|
||||
The type of methodology used.
|
||||
examples:
|
||||
- value: ENTITY_RESOLUTION
|
||||
description: Deduplication via feature matching
|
||||
- value: OBJECT_TRACKING
|
||||
description: Multi-object tracking across frames
|
||||
has_or_had_label:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Human-readable name for the methodology.
|
||||
examples:
|
||||
- value: "RetinaFace + ArcFace clustering"
|
||||
description: Face detection and clustering pipeline
|
||||
has_or_had_description:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Detailed description of the methodology.
|
||||
examples:
|
||||
- value: "Faces detected using RetinaFace, clustered using ArcFace embeddings"
|
||||
description: Algorithm description
|
||||
algorithm_name:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Name of the algorithm or model used.
|
||||
examples:
|
||||
- value: "YOLOv8"
|
||||
description: Object detection model
|
||||
- value: "ArcFace"
|
||||
description: Face recognition model
|
||||
algorithm_version:
|
||||
range: string
|
||||
required: false
|
||||
description: >-
|
||||
Version of the algorithm or model.
|
||||
examples:
|
||||
- value: "1.0.0"
|
||||
- value: "v8n"
|
||||
confidence_threshold:
|
||||
range: float
|
||||
required: false
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Confidence threshold used for detection/classification.
|
||||
examples:
|
||||
- value: 0.6
|
||||
description: 60% confidence threshold for face matching
|
||||
comments:
|
||||
- Describes HOW a measurement was derived
|
||||
- Essential for comparing measurements from different sources
|
||||
- Maps to PROV-O Plan for provenance tracking
|
||||
- Rule 53 compliant - supports unique_object_count/unique_face_count migration
|
||||
see_also:
|
||||
- https://www.w3.org/TR/prov-o/#Plan
|
||||
examples:
|
||||
- value:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "RetinaFace + ArcFace clustering"
|
||||
has_or_had_description: >-
|
||||
Faces detected using RetinaFace model, then clustered
|
||||
using ArcFace embeddings with cosine similarity threshold 0.6.
|
||||
algorithm_name: "ArcFace"
|
||||
confidence_threshold: 0.6
|
||||
description: Face entity resolution methodology
|
||||
- value:
|
||||
methodology_type: OBJECT_TRACKING
|
||||
has_or_had_label: "DeepSORT multi-object tracking"
|
||||
has_or_had_description: >-
|
||||
Objects tracked across video frames using DeepSORT algorithm
|
||||
with Kalman filtering and appearance features.
|
||||
algorithm_name: "DeepSORT"
|
||||
algorithm_version: "1.0"
|
||||
description: Object tracking methodology
|
||||
|
||||
slots:
|
||||
methodology_type:
|
||||
description: >-
|
||||
The type of methodology used for measurement derivation.
|
||||
range: MethodologyTypeEnum
|
||||
slot_uri: hc:methodologyType
|
||||
|
||||
algorithm_name:
|
||||
description: >-
|
||||
Name of the algorithm, model, or technique used.
|
||||
range: string
|
||||
slot_uri: hc:algorithmName
|
||||
|
||||
algorithm_version:
|
||||
description: >-
|
||||
Version identifier for the algorithm or model.
|
||||
range: string
|
||||
slot_uri: hc:algorithmVersion
|
||||
|
||||
confidence_threshold:
|
||||
description: >-
|
||||
Confidence threshold used for detection, matching, or classification.
|
||||
range: float
|
||||
slot_uri: hc:confidenceThreshold
|
||||
|
|
@ -15,8 +15,8 @@ prefixes:
|
|||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
|
||||
- ../slots/has_or_had_quantity
|
||||
- ./Quantity
|
||||
- ./MuseumRegisterProvenance
|
||||
default_range: string
|
||||
|
||||
|
|
@ -75,8 +75,13 @@ classes:
|
|||
range: string
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
visitor_count:
|
||||
range: integer
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
Visitor count from museum register. RULE 53: Replaces deprecated
|
||||
visitor_count integer with structured Quantity class supporting
|
||||
measurement unit (VISITOR) and temporal extent.
|
||||
accreditation_status:
|
||||
range: string
|
||||
manual_correction:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
# PaymentMethod - Payment methods accepted by an institution
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_payment_method
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/PaymentMethod
|
||||
name: PaymentMethod
|
||||
title: PaymentMethod
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
PaymentMethod:
|
||||
description: >-
|
||||
A payment method accepted by an institution for tickets, services, or purchases.
|
||||
|
||||
**EXAMPLES**:
|
||||
- Credit cards (Visa, Mastercard, Amex)
|
||||
- Debit cards (Maestro, V-Pay)
|
||||
- Digital payments (iDEAL, Apple Pay, Google Pay)
|
||||
- Cash
|
||||
- Museum passes (Museumkaart, etc.)
|
||||
|
||||
Used with `accepts_or_accepted` slot to indicate payment options.
|
||||
|
||||
class_uri: schema:PaymentMethod
|
||||
|
||||
attributes:
|
||||
method_type:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Type of payment method (e.g., "credit_card", "debit_card", "digital", "cash").
|
||||
|
||||
provider:
|
||||
range: string
|
||||
description: >-
|
||||
Payment provider or brand (e.g., "Visa", "iDEAL", "Apple Pay").
|
||||
|
||||
note:
|
||||
range: string
|
||||
description: >-
|
||||
Additional notes about this payment method.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["M", "G", "B", "H"]'
|
||||
custodian_types_rationale: >-
|
||||
Payment methods primarily relevant for visitor-facing institutions.
|
||||
custodian_types_primary: "M"
|
||||
specificity_score: 0.6
|
||||
specificity_rationale: >-
|
||||
Moderate-high specificity - specific to ticketing/commerce.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
PaymentMethod:
|
||||
method_type: "credit_card"
|
||||
provider: "Visa"
|
||||
description: Visa credit card payment.
|
||||
|
||||
- value: |
|
||||
PaymentMethod:
|
||||
method_type: "digital"
|
||||
provider: "iDEAL"
|
||||
note: "Dutch bank transfer system"
|
||||
description: iDEAL digital payment method.
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
# Place - A geographic or administrative place for containment relationships
|
||||
# Created per slot_fixes.yaml migration for: within_place, within_auxiliary_place
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Place
|
||||
name: Place
|
||||
title: Place
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
gn: http://www.geonames.org/ontology#
|
||||
locn: http://www.w3.org/ns/locn#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Place:
|
||||
description: >-
|
||||
A geographic or administrative place used for containment relationships.
|
||||
|
||||
**DISTINCTION FROM Location**:
|
||||
- `Location` is for precise physical locations (address, coordinates)
|
||||
- `Place` is for administrative/geographic containment (city within province)
|
||||
|
||||
**USE CASES**:
|
||||
- `within_place`: Institution is within a city/region
|
||||
- `within_auxiliary_place`: Secondary location containment
|
||||
- Administrative hierarchies: settlement → region → country
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: schema:Place (generic place concept)
|
||||
- Supports GeoNames integration for standardized place references
|
||||
|
||||
class_uri: schema:Place
|
||||
|
||||
close_mappings:
|
||||
- gn:Feature
|
||||
- locn:Location
|
||||
|
||||
related_mappings:
|
||||
- schema:AdministrativeArea
|
||||
|
||||
attributes:
|
||||
place_name:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Name of the place (e.g., "Amsterdam", "Noord-Holland", "Netherlands").
|
||||
|
||||
place_type:
|
||||
range: string
|
||||
description: >-
|
||||
Type of place (e.g., "settlement", "region", "country", "district").
|
||||
|
||||
geonames_id:
|
||||
range: integer
|
||||
description: >-
|
||||
GeoNames identifier for standardized place reference.
|
||||
Example: 2759794 for Amsterdam.
|
||||
|
||||
iso_code:
|
||||
range: string
|
||||
description: >-
|
||||
ISO code for administrative areas.
|
||||
Examples: "NL" (country), "NL-NH" (region), "AMS" (settlement code).
|
||||
|
||||
parent_place:
|
||||
range: Place
|
||||
inlined: true
|
||||
description: >-
|
||||
Parent place in the administrative hierarchy.
|
||||
Example: Amsterdam's parent is Noord-Holland.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Place references applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal geographic concept.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Place:
|
||||
place_name: "Amsterdam"
|
||||
place_type: "settlement"
|
||||
geonames_id: 2759794
|
||||
iso_code: "AMS"
|
||||
parent_place:
|
||||
place_name: "Noord-Holland"
|
||||
place_type: "region"
|
||||
iso_code: "NL-NH"
|
||||
description: Amsterdam as a settlement within Noord-Holland.
|
||||
|
||||
- value: |
|
||||
Place:
|
||||
place_name: "Netherlands"
|
||||
place_type: "country"
|
||||
iso_code: "NL"
|
||||
geonames_id: 2750405
|
||||
description: Country-level place reference.
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
# Provenance - A single provenance statement tracking the origin and lineage of data
|
||||
# Distinct from ProvenanceBlock which bundles multiple provenance sources
|
||||
# Created per slot_fixes.yaml migration for: binding_provenance, xpath, type_hypothesis
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Provenance
|
||||
name: Provenance
|
||||
title: Provenance
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_agent
|
||||
- ../slots/temporal_extent
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Provenance:
|
||||
description: >-
|
||||
A single provenance statement describing the origin, lineage, or derivation
|
||||
of a piece of data.
|
||||
|
||||
**DISTINCTION FROM ProvenanceBlock**:
|
||||
- `Provenance` represents a SINGLE provenance statement (one source, one activity)
|
||||
- `ProvenanceBlock` bundles MULTIPLE provenance sources together
|
||||
|
||||
Use `Provenance` when:
|
||||
- Tracking provenance of individual data elements
|
||||
- Recording specific extraction or transformation activities
|
||||
- Linking data to its source agent/entity
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: prov:Activity (the extraction/derivation activity)
|
||||
- Links to prov:Agent via has_or_had_agent
|
||||
- Links to prov:Entity via used (source) and generated (result)
|
||||
|
||||
class_uri: prov:Activity
|
||||
|
||||
close_mappings:
|
||||
- dct:ProvenanceStatement
|
||||
- schema:Action
|
||||
|
||||
related_mappings:
|
||||
- prov:Entity
|
||||
- prov:Derivation
|
||||
|
||||
slots:
|
||||
- has_or_had_agent
|
||||
- temporal_extent
|
||||
|
||||
attributes:
|
||||
source_entity:
|
||||
range: uriorcurie
|
||||
description: >-
|
||||
URI of the source entity from which data was derived (prov:used).
|
||||
slot_uri: prov:used
|
||||
|
||||
generated_entity:
|
||||
range: uriorcurie
|
||||
description: >-
|
||||
URI of the entity generated by this provenance activity (prov:generated).
|
||||
slot_uri: prov:generated
|
||||
|
||||
extraction_method:
|
||||
range: string
|
||||
description: >-
|
||||
Method or process used to extract/derive the data.
|
||||
Examples: "xpath_extraction", "api_query", "manual_entry"
|
||||
|
||||
confidence_score:
|
||||
range: float
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Confidence score (0.0 to 1.0) indicating reliability of this provenance.
|
||||
|
||||
note:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable note about this provenance statement.
|
||||
slot_uri: prov:value
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Provenance tracking is universal across all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: >-
|
||||
Very low specificity - provenance metadata applies universally.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Provenance:
|
||||
extraction_method: "xpath_extraction"
|
||||
source_entity: "https://example.org/webpage/12345"
|
||||
confidence_score: 0.95
|
||||
note: "Extracted from archived HTML using XPath"
|
||||
description: >-
|
||||
Provenance for an XPath-extracted value from an archived webpage.
|
||||
|
||||
- value: |
|
||||
Provenance:
|
||||
has_or_had_agent:
|
||||
agent_type: "software"
|
||||
name: "glam-extractor-v2.1"
|
||||
extraction_method: "api_scraping"
|
||||
confidence_score: 0.85
|
||||
description: >-
|
||||
Provenance for API-scraped data with agent identification.
|
||||
|
|
@ -13,8 +13,14 @@ imports:
|
|||
- ../slots/has_or_had_identifier
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/has_or_had_measurement_unit
|
||||
- ../slots/has_or_had_methodology
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./MeasureUnit
|
||||
- ./Methodology
|
||||
- ./TimeSpan
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
default_prefix: hc
|
||||
|
|
@ -65,10 +71,18 @@ classes:
|
|||
quantity_id: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
|
||||
quantity_value: 3
|
||||
quantity_type: STAFF_COUNT
|
||||
quantity_unit: FTE
|
||||
quantity_description: Staff assigned to Zaanstreek-Waterland branch
|
||||
quantity_date: 2025-01-01
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01T00:00:00Z"
|
||||
end_of_the_end: "2024-12-31T23:59:59Z"
|
||||
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
|
||||
```
|
||||
|
||||
**RULE 53 COMPLIANT**: Updated with link_branch slots (has_or_had_measurement_unit,
|
||||
temporal_extent, has_or_had_methodology) per slot_fixes.yaml revision for
|
||||
visitor_count, view_count, unique_object_count, and unique_face_count migrations.
|
||||
exact_mappings:
|
||||
- qudt:Quantity
|
||||
close_mappings:
|
||||
|
|
@ -82,6 +96,9 @@ classes:
|
|||
- quantity_value
|
||||
- quantity_type
|
||||
- quantity_unit
|
||||
- has_or_had_measurement_unit
|
||||
- has_or_had_methodology
|
||||
- temporal_extent
|
||||
- has_or_had_description
|
||||
- quantity_date
|
||||
- is_estimate
|
||||
|
|
@ -121,8 +138,12 @@ classes:
|
|||
quantity_unit:
|
||||
range: string
|
||||
required: false
|
||||
deprecated: >-
|
||||
Use has_or_had_measurement_unit with MeasureUnit class instead.
|
||||
Retained for backward compatibility with existing data.
|
||||
description: >-
|
||||
The unit of measurement (if applicable).
|
||||
DEPRECATED: The unit of measurement as a simple string.
|
||||
Prefer has_or_had_measurement_unit for structured unit data.
|
||||
examples:
|
||||
- value: FTE
|
||||
description: Full-time equivalent employees
|
||||
|
|
@ -136,6 +157,54 @@ classes:
|
|||
description: Budget in euros
|
||||
- value: m²
|
||||
description: Floor area
|
||||
has_or_had_measurement_unit:
|
||||
range: MeasureUnit
|
||||
required: false
|
||||
inlined: true
|
||||
description: >-
|
||||
The structured unit of measurement for this quantity.
|
||||
Provides richer semantics than the deprecated quantity_unit string.
|
||||
RULE 53: Branch 1 slot from visitor_count migration.
|
||||
examples:
|
||||
- value:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
description: Visitor count unit
|
||||
- value:
|
||||
unit_type: SQUARE_METER
|
||||
unit_symbol: "m²"
|
||||
description: Area unit
|
||||
temporal_extent:
|
||||
range: TimeSpan
|
||||
required: false
|
||||
inlined: true
|
||||
description: >-
|
||||
The time period over which this quantity was measured.
|
||||
CIDOC-CRM temporal modeling with fuzzy boundaries.
|
||||
RULE 53: Branch 2 slot from visitor_count migration.
|
||||
examples:
|
||||
- value:
|
||||
begin_of_the_begin: "2024-01-01T00:00:00Z"
|
||||
end_of_the_end: "2024-12-31T23:59:59Z"
|
||||
description: Annual measurement period
|
||||
has_or_had_methodology:
|
||||
range: Methodology
|
||||
required: false
|
||||
inlined: true
|
||||
description: >-
|
||||
The methodology used to derive this quantity.
|
||||
Essential for unique counts derived via entity resolution.
|
||||
RULE 53: Branch 2 slot from unique_object_count/unique_face_count migration.
|
||||
examples:
|
||||
- value:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "ArcFace clustering"
|
||||
confidence_threshold: 0.6
|
||||
description: Face entity resolution methodology
|
||||
- value:
|
||||
methodology_type: OBJECT_TRACKING
|
||||
has_or_had_label: "DeepSORT"
|
||||
description: Multi-object tracking methodology
|
||||
has_or_had_description:
|
||||
range: string
|
||||
required: false
|
||||
|
|
@ -175,18 +244,58 @@ classes:
|
|||
has_or_had_identifier: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025
|
||||
quantity_value: 3
|
||||
quantity_type: STAFF_COUNT
|
||||
quantity_unit: FTE
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: FTE
|
||||
unit_symbol: "FTE"
|
||||
has_or_had_label: "full-time equivalent"
|
||||
has_or_had_description: Staff assigned to Zaanstreek-Waterland branch
|
||||
quantity_date: '2025-01-01'
|
||||
is_estimate: false
|
||||
description: Branch staff count
|
||||
description: Branch staff count (preferred pattern with structured unit)
|
||||
- value:
|
||||
quantity_value: 650000
|
||||
quantity_type: VISITOR_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: VISITOR
|
||||
unit_symbol: "visitors"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2023-02-10T00:00:00Z"
|
||||
end_of_the_end: "2023-06-04T23:59:59Z"
|
||||
has_or_had_description: Vermeer exhibition attendance
|
||||
is_estimate: false
|
||||
description: Exhibition visitor count with temporal extent (Rule 53 pattern)
|
||||
- value:
|
||||
quantity_value: 15
|
||||
quantity_type: OBJECT_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: FACE
|
||||
unit_symbol: "faces"
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "ArcFace clustering"
|
||||
confidence_threshold: 0.6
|
||||
has_or_had_description: Unique faces detected via entity resolution
|
||||
is_estimate: false
|
||||
description: Unique face count with methodology (Rule 53 pattern for unique_face_count)
|
||||
- value:
|
||||
quantity_value: 47
|
||||
quantity_type: OBJECT_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: OBJECT
|
||||
unit_symbol: "objects"
|
||||
has_or_had_methodology:
|
||||
methodology_type: OBJECT_TRACKING
|
||||
has_or_had_label: "DeepSORT"
|
||||
has_or_had_description: Unique objects tracked across video frames
|
||||
is_estimate: false
|
||||
description: Unique object count with methodology (Rule 53 pattern for unique_object_count)
|
||||
- value:
|
||||
quantity_value: 1200000
|
||||
quantity_type: COLLECTION_SIZE
|
||||
quantity_unit: items
|
||||
has_or_had_description: Total collection size including artworks, documents, and photographs
|
||||
is_estimate: true
|
||||
description: Estimated collection size
|
||||
description: Estimated collection size (deprecated string unit - backward compatible)
|
||||
- value:
|
||||
quantity_value: 2500000
|
||||
quantity_type: VISITOR_COUNT
|
||||
|
|
@ -194,7 +303,7 @@ classes:
|
|||
has_or_had_description: Annual visitor count for 2024
|
||||
quantity_date: '2024-12-31'
|
||||
is_estimate: false
|
||||
description: Annual visitor count
|
||||
description: Annual visitor count (deprecated string unit - backward compatible)
|
||||
slots:
|
||||
quantity_value:
|
||||
description: >-
|
||||
|
|
|
|||
|
|
@ -0,0 +1,89 @@
|
|||
# Scope - Coverage/scope information for collections, services, or institutions
|
||||
# Created per slot_fixes.yaml migration for: typical_scope, type_scope
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/Scope
|
||||
name: Scope
|
||||
title: Scope
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_type
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
Scope:
|
||||
description: >-
|
||||
Coverage or scope information for a collection, service, or institution.
|
||||
|
||||
**SCOPE DIMENSIONS**:
|
||||
- **Temporal**: Time period covered (e.g., "1600-1900")
|
||||
- **Spatial**: Geographic coverage (e.g., "Netherlands", "Amsterdam")
|
||||
- **Subject**: Topic/subject areas (e.g., "Dutch Golden Age painting")
|
||||
- **Material**: Types of materials (e.g., "photographs", "manuscripts")
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: dct:Coverage (Dublin Core coverage concept)
|
||||
|
||||
class_uri: dct:Coverage
|
||||
|
||||
close_mappings:
|
||||
- schema:Thing
|
||||
|
||||
slots:
|
||||
- has_or_had_type
|
||||
|
||||
attributes:
|
||||
scope_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the scope.
|
||||
|
||||
temporal_coverage:
|
||||
range: string
|
||||
description: >-
|
||||
Time period covered (e.g., "1600-1900", "Medieval period").
|
||||
|
||||
spatial_coverage:
|
||||
range: string
|
||||
description: >-
|
||||
Geographic coverage (e.g., "Netherlands", "Europe").
|
||||
|
||||
subject_coverage:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Subject areas covered.
|
||||
|
||||
material_coverage:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Types of materials covered.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Scope information applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: >-
|
||||
Low-moderate specificity - common metadata concept.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Scope:
|
||||
scope_description: "Dutch art from the Golden Age"
|
||||
temporal_coverage: "1600-1700"
|
||||
spatial_coverage: "Netherlands"
|
||||
subject_coverage:
|
||||
- "Painting"
|
||||
- "Dutch Golden Age"
|
||||
description: Scope for a Dutch Golden Age art collection.
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
# ScopeType - Abstract base class for scope type classifications
|
||||
#
|
||||
# Following the Type/Types naming convention (Rule 0b):
|
||||
# - ScopeType.yaml: Abstract base class defining the type taxonomy
|
||||
# - ScopeTypes.yaml: File containing all concrete subclasses
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: typical_scope, type_scope
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/ScopeType
|
||||
name: ScopeType
|
||||
title: Scope Type Classification
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../slots/type_description
|
||||
- ../slots/type_id
|
||||
- ../slots/type_label
|
||||
- ../slots/wikidata_entity
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
ScopeType:
|
||||
class_uri: skos:Concept
|
||||
description: |
|
||||
Abstract base class for scope type classifications in the heritage domain.
|
||||
|
||||
**DEFINITION**:
|
||||
|
||||
ScopeType represents CATEGORIES of scope/coverage dimensions, not individual
|
||||
scope instances. Each subclass defines characteristics of a scope category
|
||||
(temporal, spatial, subject, material, etc.).
|
||||
|
||||
**CRITICAL: TYPE vs INSTANCE**
|
||||
|
||||
| Aspect | ScopeType (This Class) | Scope (Instance Class) |
|
||||
|--------|------------------------|------------------------|
|
||||
| **Nature** | Classification/category | Individual scope |
|
||||
| **Examples** | TEMPORAL, SPATIAL, SUBJECT | "1600-1700 Dutch painting" |
|
||||
| **Properties** | Category metadata | Actual coverage values |
|
||||
| **Cardinality** | ~5-10 types | Thousands of instances |
|
||||
|
||||
**SCOPE DIMENSIONS**:
|
||||
|
||||
1. **TEMPORAL**: Time-based coverage
|
||||
- Century, Decade, Date Range, Era, Period
|
||||
- Historical Period, Epoch
|
||||
|
||||
2. **SPATIAL**: Geographic coverage
|
||||
- Country, Region, City, Continent
|
||||
- Administrative Division, Geographic Feature
|
||||
|
||||
3. **SUBJECT**: Topic/domain coverage
|
||||
- Art Movement, Historical Theme, Scientific Domain
|
||||
- Cultural Topic, Social Issue
|
||||
|
||||
4. **MATERIAL**: Material type coverage
|
||||
- Photographs, Manuscripts, Prints, Maps
|
||||
- Audio Recordings, Video, 3D Objects
|
||||
|
||||
5. **LINGUISTIC**: Language coverage
|
||||
- Script, Language Family, Dialect Region
|
||||
|
||||
6. **INSTITUTIONAL**: Organizational coverage
|
||||
- Sector, Industry, Government Level
|
||||
- International, National, Regional, Local
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
|
||||
- **SKOS Concept**: Scope types are concepts in a controlled vocabulary
|
||||
- **Dublin Core Coverage**: dct:Coverage for scope semantics
|
||||
- **MODS Subject**: Library of Congress subject coverage model
|
||||
|
||||
**SUBCLASSES**:
|
||||
|
||||
See ScopeTypes.yaml for concrete scope type subclasses organized
|
||||
by dimension: TEMPORAL, SPATIAL, SUBJECT, MATERIAL, LINGUISTIC, and
|
||||
INSTITUTIONAL.
|
||||
|
||||
abstract: true
|
||||
|
||||
exact_mappings:
|
||||
- skos:Concept
|
||||
|
||||
close_mappings:
|
||||
- dct:Coverage
|
||||
- schema:DefinedTerm
|
||||
|
||||
slots:
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
- type_description
|
||||
- type_id
|
||||
- type_label
|
||||
- wikidata_entity
|
||||
|
||||
slot_usage:
|
||||
type_id:
|
||||
range: uriorcurie
|
||||
required: true
|
||||
identifier: true
|
||||
pattern: "^https://nde\\.nl/ontology/hc/scope-type/[a-z-]+$"
|
||||
examples:
|
||||
- value: https://nde.nl/ontology/hc/scope-type/temporal
|
||||
description: Temporal scope type
|
||||
- value: https://nde.nl/ontology/hc/scope-type/spatial
|
||||
description: Spatial scope type
|
||||
|
||||
type_label:
|
||||
range: string
|
||||
required: true
|
||||
multivalued: true
|
||||
examples:
|
||||
- value: ["Temporal@en", "temporeel@nl", "zeitlich@de"]
|
||||
description: Multilingual labels for temporal scope type
|
||||
|
||||
type_description:
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: "Time-based scope dimension covering date ranges and historical periods"
|
||||
description: Description of temporal scope type
|
||||
|
||||
wikidata_entity:
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^Q[0-9]+$"
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.35"
|
||||
specificity_rationale: "Moderately low specificity - scope types are generic classification concepts."
|
||||
template_specificity: '{"collection_discovery": 0.50, "archive_search": 0.45, "general_heritage": 0.35}'
|
||||
|
||||
comments:
|
||||
- "Abstract base class - use specific subclasses (TemporalScope, SpatialScope, etc.)"
|
||||
- "Represents SCOPE TYPES, not scope instances"
|
||||
- "Scope.has_or_had_type references these type classes"
|
||||
- "Follows Type/Types naming convention (Rule 0b)"
|
||||
- "Organized by dimension: temporal, spatial, subject, material"
|
||||
|
||||
see_also:
|
||||
- https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#section-7
|
||||
- https://www.w3.org/2004/02/skos/
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/temporal
|
||||
type_label:
|
||||
- Temporal@en
|
||||
- temporeel@nl
|
||||
type_description: "Time-based scope dimension"
|
||||
description: "Temporal scope type with multilingual labels"
|
||||
|
|
@ -0,0 +1,262 @@
|
|||
# ScopeTypes - Concrete scope type subclasses
|
||||
#
|
||||
# Following the Type/Types naming convention (Rule 0b):
|
||||
# - ScopeType.yaml: Abstract base class defining the type taxonomy
|
||||
# - ScopeTypes.yaml: File containing all concrete subclasses
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: typical_scope, type_scope
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 0b (Type/Types naming), 37 (specificity scores), 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/ScopeTypes
|
||||
name: ScopeTypes
|
||||
title: Scope Type Subclasses
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./ScopeType
|
||||
|
||||
classes:
|
||||
# =============================================================================
|
||||
# TEMPORAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
TemporalScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:PeriodOfTime
|
||||
description: |
|
||||
Time-based scope dimension covering date ranges, historical periods, and eras.
|
||||
|
||||
**Examples**:
|
||||
- "1600-1700" (date range)
|
||||
- "Medieval period" (historical period)
|
||||
- "19th century" (century scope)
|
||||
|
||||
exact_mappings:
|
||||
- dct:PeriodOfTime
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.40"
|
||||
specificity_rationale: "Moderately specific - temporal scoping is common across domains."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/temporal
|
||||
type_label: ["Temporal@en", "temporeel@nl"]
|
||||
description: Temporal scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# SPATIAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
SpatialScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:Location
|
||||
description: |
|
||||
Geographic scope dimension covering countries, regions, cities, and areas.
|
||||
|
||||
**Examples**:
|
||||
- "Netherlands" (country)
|
||||
- "Noord-Holland" (region/province)
|
||||
- "Amsterdam" (city)
|
||||
- "Europe" (continent)
|
||||
|
||||
exact_mappings:
|
||||
- dct:Location
|
||||
|
||||
close_mappings:
|
||||
- schema:Place
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.40"
|
||||
specificity_rationale: "Moderately specific - geographic scoping is common across domains."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/spatial
|
||||
type_label: ["Spatial@en", "ruimtelijk@nl"]
|
||||
description: Spatial scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# SUBJECT SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
SubjectScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:subject
|
||||
description: |
|
||||
Topic/domain scope dimension covering subjects, themes, and disciplines.
|
||||
|
||||
**Examples**:
|
||||
- "Dutch Golden Age painting" (art historical subject)
|
||||
- "World War II" (historical theme)
|
||||
- "Maritime history" (subject area)
|
||||
|
||||
exact_mappings:
|
||||
- dct:subject
|
||||
|
||||
close_mappings:
|
||||
- skos:Concept
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.45"
|
||||
specificity_rationale: "Moderately specific - subject classification is domain-dependent."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/subject
|
||||
type_label: ["Subject@en", "onderwerp@nl"]
|
||||
description: Subject scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# MATERIAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
MaterialScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:DCMIType
|
||||
description: |
|
||||
Material type scope dimension covering media types and object categories.
|
||||
|
||||
**Examples**:
|
||||
- "Photographs" (visual material)
|
||||
- "Manuscripts" (documentary material)
|
||||
- "Audio recordings" (sound material)
|
||||
- "3D objects" (physical objects)
|
||||
|
||||
exact_mappings:
|
||||
- dct:DCMIType
|
||||
|
||||
close_mappings:
|
||||
- schema:CreativeWork
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.50"
|
||||
specificity_rationale: "More specific - material types are heritage-domain focused."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/material
|
||||
type_label: ["Material@en", "materiaal@nl"]
|
||||
description: Material scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# LINGUISTIC SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
LinguisticScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:language
|
||||
description: |
|
||||
Language scope dimension covering languages, scripts, and dialects.
|
||||
|
||||
**Examples**:
|
||||
- "Dutch" (language)
|
||||
- "Arabic script" (writing system)
|
||||
- "Low Saxon" (dialect/regional language)
|
||||
|
||||
exact_mappings:
|
||||
- dct:language
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.40"
|
||||
specificity_rationale: "Moderately specific - linguistic scoping is common."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/linguistic
|
||||
type_label: ["Linguistic@en", "taalkundig@nl"]
|
||||
description: Linguistic scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# INSTITUTIONAL SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
InstitutionalScope:
|
||||
is_a: ScopeType
|
||||
class_uri: schema:Organization
|
||||
description: |
|
||||
Organizational/sectoral scope dimension covering sectors and governance levels.
|
||||
|
||||
**Examples**:
|
||||
- "Cultural heritage sector" (sector)
|
||||
- "National level" (governance level)
|
||||
- "Academic institutions" (institutional type)
|
||||
|
||||
close_mappings:
|
||||
- schema:Organization
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.45"
|
||||
specificity_rationale: "Moderately specific - institutional classification is heritage-relevant."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/institutional
|
||||
type_label: ["Institutional@en", "institutioneel@nl"]
|
||||
description: Institutional scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# COLLECTION SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
CollectionScope:
|
||||
is_a: ScopeType
|
||||
class_uri: schema:Collection
|
||||
description: |
|
||||
Collection-based scope dimension covering collection types and sizes.
|
||||
|
||||
**Examples**:
|
||||
- "Small collection (<1000 items)" (size scope)
|
||||
- "Research collection" (function scope)
|
||||
- "Public access collection" (access scope)
|
||||
|
||||
close_mappings:
|
||||
- schema:Collection
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.55"
|
||||
specificity_rationale: "More specific - collection scoping is heritage-domain focused."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/collection
|
||||
type_label: ["Collection@en", "collectie@nl"]
|
||||
description: Collection scope type instance
|
||||
|
||||
# =============================================================================
|
||||
# FORMAT SCOPE TYPES
|
||||
# =============================================================================
|
||||
|
||||
FormatScope:
|
||||
is_a: ScopeType
|
||||
class_uri: dct:format
|
||||
description: |
|
||||
Format scope dimension covering file formats and data standards.
|
||||
|
||||
**Examples**:
|
||||
- "JPEG/TIFF" (image formats)
|
||||
- "Dublin Core" (metadata standard)
|
||||
- "EAD" (archival encoding)
|
||||
|
||||
exact_mappings:
|
||||
- dct:format
|
||||
|
||||
annotations:
|
||||
specificity_score: "0.50"
|
||||
specificity_rationale: "More specific - format scoping is technical/domain focused."
|
||||
|
||||
examples:
|
||||
- value:
|
||||
type_id: https://nde.nl/ontology/hc/scope-type/format
|
||||
type_label: ["Format@en", "formaat@nl"]
|
||||
description: Format scope type instance
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
# TimeInterval - A duration or interval of time
|
||||
# Created per slot_fixes.yaml migration for: update_frequency, typical_approval_time, total_revenue
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/TimeInterval
|
||||
name: TimeInterval
|
||||
title: TimeInterval
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
TimeInterval:
|
||||
description: >-
|
||||
A duration or interval of time, representing a period rather than a point.
|
||||
|
||||
**DISTINCTION FROM TimeSpan**:
|
||||
- `TimeSpan` represents a bounded period with begin/end points (CIDOC-CRM E52)
|
||||
- `TimeInterval` represents a duration/interval (e.g., "2 weeks", "quarterly")
|
||||
|
||||
**USE CASES**:
|
||||
- Update frequency: "updated weekly"
|
||||
- Approval time: "typically 2-3 business days"
|
||||
- Reporting period: "annual revenue for fiscal year"
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: time:Duration (W3C Time Ontology)
|
||||
- Supports ISO 8601 duration format (P1Y, P2M, P3D, PT4H)
|
||||
|
||||
class_uri: time:Duration
|
||||
|
||||
close_mappings:
|
||||
- schema:Duration
|
||||
|
||||
related_mappings:
|
||||
- time:Interval
|
||||
- time:TemporalDuration
|
||||
|
||||
attributes:
|
||||
duration_value:
|
||||
range: string
|
||||
description: >-
|
||||
ISO 8601 duration string (e.g., P1Y, P2M, P7D, PT24H).
|
||||
P = period, Y = years, M = months, D = days, T = time separator, H = hours
|
||||
|
||||
duration_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the duration.
|
||||
Examples: "weekly", "monthly", "annual", "2-3 business days"
|
||||
|
||||
years:
|
||||
range: integer
|
||||
description: Number of years in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
months:
|
||||
range: integer
|
||||
description: Number of months in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
days:
|
||||
range: integer
|
||||
description: Number of days in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
hours:
|
||||
range: integer
|
||||
description: Number of hours in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
minutes:
|
||||
range: integer
|
||||
description: Number of minutes in the interval.
|
||||
minimum_value: 0
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Time intervals applicable to all custodian types for various purposes.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal temporal concept.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
TimeInterval:
|
||||
duration_value: "P7D"
|
||||
duration_description: "weekly"
|
||||
description: A one-week interval for update frequency.
|
||||
|
||||
- value: |
|
||||
TimeInterval:
|
||||
duration_value: "P1Y"
|
||||
duration_description: "annual"
|
||||
description: A one-year interval for revenue reporting.
|
||||
|
||||
- value: |
|
||||
TimeInterval:
|
||||
days: 3
|
||||
duration_description: "2-3 business days"
|
||||
description: Typical approval time interval.
|
||||
|
|
@ -18,6 +18,7 @@ imports:
|
|||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ./Timestamp
|
||||
default_range: string
|
||||
classes:
|
||||
TimeSpan:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,151 @@
|
|||
# Timestamp class
|
||||
# A point in time with optional precision and calendar metadata
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 6 slot migrations per slot_fixes.yaml:
|
||||
# - valid_to_geo
|
||||
# - valid_to
|
||||
# - valid_from_geo
|
||||
# - valid_from
|
||||
# - updated_at
|
||||
# - unesco_inscription_year
|
||||
#
|
||||
# Ontological basis: OWL Time Instant (time:Instant)
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/Timestamp
|
||||
name: timestamp_class
|
||||
title: Timestamp Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/timestamp_value
|
||||
- ../slots/timestamp_precision
|
||||
- ../slots/calendar_system
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
Timestamp:
|
||||
class_uri: time:Instant
|
||||
description: |
|
||||
A point in time with optional precision and calendar metadata.
|
||||
|
||||
**Purpose**:
|
||||
Timestamp provides a reusable class for representing temporal instants
|
||||
with explicit precision indicators. This supports EDTF-style partial
|
||||
dates (year-only, year-month, full date, datetime) and calendar system
|
||||
annotation for non-Gregorian dates.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `time:Instant` - OWL Time instant
|
||||
- **Close**: `crm:E61_Time_Primitive` - CIDOC-CRM time primitive
|
||||
- **Related**: `xsd:dateTime` - XML Schema dateTime
|
||||
|
||||
**Use Cases**:
|
||||
- Beginning/ending of time spans (TimeSpan.begin_of_the_begin, etc.)
|
||||
- Validity dates (valid_from, valid_to)
|
||||
- Update timestamps (updated_at, created_at)
|
||||
- Historical dates with varying precision
|
||||
|
||||
**Precision Levels**:
|
||||
- year: "1995" (EDTF: "1995")
|
||||
- month: "1995-06" (EDTF: "1995-06")
|
||||
- day: "1995-06-15" (EDTF: "1995-06-15")
|
||||
- datetime: "1995-06-15T10:30:00" (full precision)
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `valid_to_geo` → TimeSpan.end_of_the_end: Timestamp
|
||||
- `valid_to` → TimeSpan.end_of_the_end: Timestamp
|
||||
- `valid_from_geo` → TimeSpan.begin_of_the_begin: Timestamp
|
||||
- `valid_from` → TimeSpan.begin_of_the_begin: Timestamp
|
||||
- `updated_at` → was_last_updated_at: TimeSpan
|
||||
- `unesco_inscription_year` → TimeSpan.begin_of_the_begin: Timestamp
|
||||
|
||||
exact_mappings:
|
||||
- time:Instant
|
||||
|
||||
close_mappings:
|
||||
- crm:E61_Time_Primitive
|
||||
|
||||
related_mappings:
|
||||
- xsd:dateTime
|
||||
- schema:DateTime
|
||||
|
||||
slots:
|
||||
- timestamp_value
|
||||
- timestamp_precision
|
||||
- calendar_system
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
timestamp_value:
|
||||
description: |
|
||||
The timestamp value as ISO 8601 string.
|
||||
Precision determined by string format:
|
||||
- "1995" = year precision
|
||||
- "1995-06" = month precision
|
||||
- "1995-06-15" = day precision
|
||||
- "1995-06-15T10:30:00Z" = full datetime
|
||||
range: string
|
||||
required: true
|
||||
pattern: "^-?\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?)?$"
|
||||
timestamp_precision:
|
||||
description: |
|
||||
Explicit precision level. Auto-derived from timestamp_value if not provided.
|
||||
Values: year, month, day, hour, minute, second, millisecond
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: year
|
||||
- value: day
|
||||
- value: second
|
||||
calendar_system:
|
||||
description: |
|
||||
Calendar system for the timestamp. Default is Gregorian.
|
||||
For historical or non-Western dates, specify the calendar.
|
||||
range: string
|
||||
required: false
|
||||
examples:
|
||||
- value: gregorian
|
||||
- value: julian
|
||||
- value: hebrew
|
||||
- value: islamic
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Generic timestamp class applicable to all types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: Very broadly applicable generic class for temporal points.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
timestamp_value: "1995"
|
||||
timestamp_precision: year
|
||||
description: "Year-only timestamp (e.g., founding year)"
|
||||
- value: |
|
||||
timestamp_value: "2024-06-15"
|
||||
timestamp_precision: day
|
||||
calendar_system: gregorian
|
||||
description: "Full date timestamp"
|
||||
- value: |
|
||||
timestamp_value: "2024-06-15T14:30:00Z"
|
||||
timestamp_precision: second
|
||||
calendar_system: gregorian
|
||||
description: "Full datetime timestamp"
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
# TransferEvent class
|
||||
# Custody or ownership transfer event
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 4 slot migrations per slot_fixes.yaml:
|
||||
# - transfer_to_collection_date → is_or_was_transferred + TransferEvent
|
||||
# - transfer_policy → is_or_was_transferred + TransferEvent
|
||||
# - transfer_location_text → is_or_was_transferred + TransferEvent
|
||||
# - transfer_location → is_or_was_transferred + TransferEvent
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/TransferEvent
|
||||
name: transfer_event_class
|
||||
title: TransferEvent Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/temporal_extent
|
||||
- ../slots/starts_or_started_at_location
|
||||
- ../slots/ends_or_ended_at_location
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/has_or_had_policy
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./TimeSpan
|
||||
- ./Location
|
||||
- ./TransferPolicy
|
||||
- ./Description
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
TransferEvent:
|
||||
class_uri: crm:E10_Transfer_of_Custody
|
||||
description: |
|
||||
Event representing transfer of custody, ownership, or physical location.
|
||||
|
||||
**Purpose**:
|
||||
TransferEvent models significant transfers in heritage contexts:
|
||||
- Collection transfers between institutions
|
||||
- Relocation of holdings
|
||||
- Custody changes (legal guardianship)
|
||||
- Ownership changes
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `crm:E10_Transfer_of_Custody` - CIDOC-CRM custody transfer
|
||||
- **Close**: `rico:TransferEvent` - RiC-O transfer event
|
||||
- **Related**: `prov:Activity` - PROV-O activity (general activity)
|
||||
|
||||
**Key Components**:
|
||||
- `temporal_extent`: When the transfer occurred (TimeSpan)
|
||||
- `starts_or_started_at_location`: Origin location
|
||||
- `ends_or_ended_at_location`: Destination location
|
||||
- `has_or_had_policy`: Transfer policy governing the transfer
|
||||
- `has_or_had_description`: Narrative description
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `transfer_to_collection_date` (simple date)
|
||||
- `transfer_policy` (simple string)
|
||||
- `transfer_location` (simple string)
|
||||
- `transfer_location_text` (simple string)
|
||||
|
||||
exact_mappings:
|
||||
- crm:E10_Transfer_of_Custody
|
||||
|
||||
close_mappings:
|
||||
- rico:TransferEvent
|
||||
|
||||
related_mappings:
|
||||
- prov:Activity
|
||||
- schema:TransferAction
|
||||
|
||||
slots:
|
||||
- temporal_extent
|
||||
- starts_or_started_at_location
|
||||
- ends_or_ended_at_location
|
||||
- has_or_had_description
|
||||
- has_or_had_policy
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
temporal_extent:
|
||||
description: |
|
||||
When the transfer occurred. Can be a single date or date range.
|
||||
range: TimeSpan
|
||||
required: false
|
||||
inlined: true
|
||||
starts_or_started_at_location:
|
||||
description: |
|
||||
Origin location - where the transferred items came from.
|
||||
range: Location
|
||||
required: false
|
||||
inlined: true
|
||||
ends_or_ended_at_location:
|
||||
description: |
|
||||
Destination location - where the transferred items went to.
|
||||
range: Location
|
||||
required: false
|
||||
inlined: true
|
||||
has_or_had_description:
|
||||
description: |
|
||||
Narrative description of the transfer event.
|
||||
range: Description
|
||||
required: false
|
||||
inlined: true
|
||||
has_or_had_policy:
|
||||
description: |
|
||||
Policy that governed this transfer.
|
||||
range: TransferPolicy
|
||||
required: false
|
||||
inlined: true
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Transfer events apply to all heritage custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.5
|
||||
specificity_rationale: Specialized event type for custody/ownership changes.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
temporal_extent:
|
||||
begin_of_the_begin:
|
||||
timestamp_value: "2020-01-15T00:00:00Z"
|
||||
starts_or_started_at_location:
|
||||
location_name: "Old Storage Facility"
|
||||
ends_or_ended_at_location:
|
||||
location_name: "New Archive Building"
|
||||
has_or_had_description:
|
||||
description_text: "Transfer of historical photographs to new climate-controlled facility"
|
||||
description: "Collection relocation transfer"
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
# TransferPolicy class
|
||||
# Policy governing custody or ownership transfers
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migration: transfer_policy → is_or_was_transferred + TransferEvent + has_or_had_policy + TransferPolicy
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/TransferPolicy
|
||||
name: transfer_policy_class
|
||||
title: TransferPolicy Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
odrl: http://www.w3.org/ns/odrl/2/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/policy_name
|
||||
- ../slots/policy_text
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./Description
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
TransferPolicy:
|
||||
class_uri: odrl:Policy
|
||||
description: |
|
||||
Policy governing custody or ownership transfers.
|
||||
|
||||
**Purpose**:
|
||||
TransferPolicy captures the rules and conditions under which
|
||||
heritage materials may be transferred between institutions,
|
||||
including donor restrictions and legal requirements.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `odrl:Policy` - ODRL policy (rights/rules)
|
||||
- **Close**: `rico:RecordResourceTransferRule` - RiC-O transfer rule
|
||||
- **Related**: `dcterms:RightsStatement` - rights/access statement
|
||||
|
||||
**Use Cases**:
|
||||
- Donor restrictions on collection transfers
|
||||
- Deaccessioning policies
|
||||
- Inter-institutional loan agreements
|
||||
- Government archive transfer regulations
|
||||
|
||||
exact_mappings:
|
||||
- odrl:Policy
|
||||
|
||||
close_mappings:
|
||||
- rico:RecordResourceTransferRule
|
||||
|
||||
related_mappings:
|
||||
- dcterms:RightsStatement
|
||||
|
||||
slots:
|
||||
- policy_name
|
||||
- policy_text
|
||||
- has_or_had_description
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
policy_name:
|
||||
description: |
|
||||
Name or title of the transfer policy.
|
||||
range: string
|
||||
required: false
|
||||
policy_text:
|
||||
description: |
|
||||
Full text of the policy.
|
||||
range: string
|
||||
required: false
|
||||
has_or_had_description:
|
||||
description: |
|
||||
Summary description of the policy.
|
||||
range: Description
|
||||
required: false
|
||||
inlined: true
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Transfer policies apply to all heritage types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.55
|
||||
specificity_rationale: Specialized policy type for transfer governance.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
policy_name: "Donor Transfer Restriction"
|
||||
policy_text: "Materials may not be transferred to institutions outside the Netherlands without donor consent."
|
||||
description: "Donor-imposed transfer restriction"
|
||||
121
frontend/public/schemas/20251121/linkml/modules/classes/URL.yaml
Normal file
121
frontend/public/schemas/20251121/linkml/modules/classes/URL.yaml
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
# URL class
|
||||
# Structured URL representation with type and metadata
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 4 slot migrations per slot_fixes.yaml:
|
||||
# - website → has_or_had_url + URL
|
||||
# - url → has_or_had_url + URL
|
||||
# - vendor_url → has_or_had_url + URL
|
||||
# - was_archived_at → is_or_was_webarchived_at + URL
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/URL
|
||||
name: url_class
|
||||
title: URL Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/url_value
|
||||
- ../slots/url_type
|
||||
- ../slots/language
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
URL:
|
||||
class_uri: schema:URL
|
||||
description: |
|
||||
Structured representation of a URL with type classification and metadata.
|
||||
|
||||
**Purpose**:
|
||||
URL provides a reusable class for representing web addresses with
|
||||
additional context about what type of URL it is (website, API, archive, etc.)
|
||||
and optional language/locale information.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `schema:URL` - Schema.org URL datatype
|
||||
- **Close**: `dcterms:URI` - Dublin Core URI
|
||||
- **Related**: `prov:Entity` - Provenance entity (for archived URLs)
|
||||
|
||||
**Use Cases**:
|
||||
- Institution websites: `has_or_had_url` with type "website"
|
||||
- API endpoints: `has_or_had_url` with type "api"
|
||||
- Web archive snapshots: `is_or_was_webarchived_at` with archive URL
|
||||
- Vendor/supplier sites: `has_or_had_url` with type "vendor"
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `website` (simple string URL)
|
||||
- `url` (simple string URL)
|
||||
- `vendor_url` (simple string URL)
|
||||
- `was_archived_at` (simple string URL)
|
||||
|
||||
exact_mappings:
|
||||
- schema:URL
|
||||
|
||||
close_mappings:
|
||||
- dcterms:URI
|
||||
|
||||
related_mappings:
|
||||
- prov:Entity
|
||||
|
||||
slots:
|
||||
- url_value
|
||||
- url_type
|
||||
- language
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
url_value:
|
||||
description: |
|
||||
The actual URL string (e.g., https://example.org/).
|
||||
range: uri
|
||||
required: true
|
||||
url_type:
|
||||
description: |
|
||||
Classification of the URL type (website, api, archive, etc.).
|
||||
range: string
|
||||
required: false
|
||||
language:
|
||||
description: |
|
||||
Language/locale of the content at this URL.
|
||||
ISO 639-1 code, optionally with region (e.g., "en", "nl-NL").
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^[a-z]{2}(-[A-Z]{2})?$"
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: URLs apply to all heritage custodian types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: Generic URL class applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
url_value: "https://www.rijksmuseum.nl/"
|
||||
url_type: website
|
||||
language: nl
|
||||
description: "Official website URL for Rijksmuseum"
|
||||
- value: |
|
||||
url_value: "https://api.rijksmuseum.nl/api/nl/collection"
|
||||
url_type: api
|
||||
language: nl
|
||||
description: "API endpoint for Rijksmuseum collection"
|
||||
- value: |
|
||||
url_value: "https://web.archive.org/web/20240101/https://example.org/"
|
||||
url_type: webarchive
|
||||
description: "Web archive snapshot URL"
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
# UpdateFrequency - Structured frequency/periodicity for data updates
|
||||
# Created per slot_fixes.yaml migration for: update_frequency
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# REVISION FROM slot_fixes.yaml (lines 1893-1910):
|
||||
# - label: has_or_had_frequency (slot)
|
||||
# - label: UpdateFrequency (class) ← THIS FILE
|
||||
# - link_branch 1: has_or_had_quantity → Quantity
|
||||
# - link_branch 2: has_or_had_time_interval → TimeInterval
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/UpdateFrequency
|
||||
name: UpdateFrequency
|
||||
title: UpdateFrequency
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
dcat: http://www.w3.org/ns/dcat#
|
||||
schema: http://schema.org/
|
||||
time: http://www.w3.org/2006/time#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./Quantity
|
||||
- ./TimeInterval
|
||||
- ../slots/has_or_had_quantity
|
||||
- ../slots/has_or_had_time_interval
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
UpdateFrequency:
|
||||
description: >-
|
||||
Structured representation of how often a device, system, or data source
|
||||
sends updates or refreshes data.
|
||||
|
||||
**WHY A DEDICATED CLASS?**
|
||||
|
||||
Update frequency is more than a simple string - it has:
|
||||
- **Quantity**: How many updates (e.g., "5" in "every 5 minutes")
|
||||
- **Time Interval**: The period (e.g., "minutes" in "every 5 minutes")
|
||||
- **Trigger-based**: Some updates are event-driven, not time-based
|
||||
|
||||
**SLOT_FIXES.YAML REVISION** (lines 1893-1910):
|
||||
- Branch 1: has_or_had_quantity → Quantity (numeric value)
|
||||
- Branch 2: has_or_had_time_interval → TimeInterval (duration)
|
||||
|
||||
**ONTOLOGY MAPPING**:
|
||||
- class_uri: dcterms:Frequency (Dublin Core)
|
||||
- Dublin Core `accrualPeriodicity` uses Frequency for collection update rates
|
||||
|
||||
**USE CASES**:
|
||||
- IoT sensors: "Every 5 minutes", "Hourly", "Real-time"
|
||||
- Data feeds: "Daily", "Weekly", "Monthly"
|
||||
- Event-driven: "On proximity trigger", "On change"
|
||||
|
||||
**EXAMPLES**:
|
||||
- Climate sensor: 5 updates per minute
|
||||
- Beacon: On proximity trigger (no time interval)
|
||||
- Database sync: Daily at midnight
|
||||
|
||||
class_uri: dcterms:Frequency
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:Frequency
|
||||
- dcat:frequency
|
||||
|
||||
close_mappings:
|
||||
- schema:Schedule
|
||||
|
||||
related_mappings:
|
||||
- time:TemporalEntity
|
||||
|
||||
slots:
|
||||
- has_or_had_quantity
|
||||
- has_or_had_time_interval
|
||||
|
||||
attributes:
|
||||
frequency_description:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable description of the update frequency.
|
||||
Examples: "Every 5 minutes", "Hourly", "Real-time", "On proximity trigger"
|
||||
|
||||
is_event_driven:
|
||||
range: boolean
|
||||
description: >-
|
||||
True if updates are triggered by events rather than time intervals.
|
||||
Examples: beacon proximity triggers, change detection, user actions.
|
||||
ifabsent: "false"
|
||||
|
||||
trigger_type:
|
||||
range: string
|
||||
description: >-
|
||||
Type of event that triggers updates (when is_event_driven is true).
|
||||
Examples: "proximity", "change", "request", "threshold"
|
||||
|
||||
slot_usage:
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
The numeric quantity component of the frequency.
|
||||
For "every 5 minutes", this would be a Quantity with value 5.
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_measurement_unit:
|
||||
unit_symbol: "updates"
|
||||
description: 5 updates per interval
|
||||
|
||||
has_or_had_time_interval:
|
||||
range: TimeInterval
|
||||
inlined: true
|
||||
description: >-
|
||||
The time interval/period component of the frequency.
|
||||
For "every 5 minutes", this would be a TimeInterval representing minutes.
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
duration_description: "per minute"
|
||||
description: Per-minute interval
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Update frequency applicable to all custodian types with IoT or data systems.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians with digital/IoT infrastructure.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "Every 5 minutes"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
duration_description: "minute"
|
||||
description: Climate sensor updating every 5 minutes.
|
||||
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "Hourly"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 1
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1H"
|
||||
duration_description: "hour"
|
||||
description: Hourly update frequency.
|
||||
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "On proximity trigger"
|
||||
is_event_driven: true
|
||||
trigger_type: "proximity"
|
||||
description: Event-driven beacon updates (no time interval).
|
||||
|
||||
- value: |
|
||||
UpdateFrequency:
|
||||
frequency_description: "Real-time"
|
||||
is_event_driven: true
|
||||
trigger_type: "continuous"
|
||||
description: Real-time streaming updates.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces simple string update_frequency slot
|
||||
- Supports both time-based and event-driven frequencies
|
||||
- Uses Dublin Core Frequency class for semantic alignment
|
||||
|
|
@ -5,6 +5,8 @@ imports:
|
|||
- linkml:types
|
||||
- ./VideoAnnotation
|
||||
- ./VideoTimeSegment
|
||||
- ./Quantity
|
||||
- ./Methodology
|
||||
- ../slots/person_id
|
||||
- ../slots/has_average_scene_duration_seconds
|
||||
- ../slots/cut_count
|
||||
|
|
@ -12,6 +14,7 @@ imports:
|
|||
- ../slots/has_or_had_detected_landmark
|
||||
- ../slots/has_or_had_detected_logo
|
||||
- ../slots/has_or_had_detected_object
|
||||
- ../slots/has_or_had_quantity
|
||||
- ../slots/detection_level
|
||||
- ../slots/dissolve_count
|
||||
- ../slots/face_bbox
|
||||
|
|
@ -60,8 +63,6 @@ imports:
|
|||
- ../slots/total_characters_extracted
|
||||
- ../slots/tracking_ids_assigned
|
||||
- ../slots/transition_types_detected
|
||||
- ../slots/unique_face_count
|
||||
- ../slots/unique_object_count
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ../enums/DetectionLevelEnum
|
||||
|
|
@ -299,14 +300,13 @@ classes:
|
|||
- has_or_had_detected_landmark
|
||||
- has_or_had_detected_logo
|
||||
- has_or_had_detected_object
|
||||
- has_or_had_quantity
|
||||
- includes_object_tracking
|
||||
- linked_to_collection
|
||||
- object_classes_detected
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
- tracking_ids_assigned
|
||||
- unique_face_count
|
||||
- unique_object_count
|
||||
slot_usage:
|
||||
has_or_had_detected_object:
|
||||
range: DetectedObject
|
||||
|
|
@ -340,20 +340,34 @@ classes:
|
|||
examples:
|
||||
- value: '[{label: ''Rijksmuseum building'', wikidata_id: ''Q190804''}]'
|
||||
description: Detected landmark with Wikidata link
|
||||
unique_object_count:
|
||||
range: integer
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
multivalued: true
|
||||
required: false
|
||||
minimum_value: 0
|
||||
inlined_as_list: true
|
||||
description: >-
|
||||
Quantities for unique object/face counts with methodology tracking.
|
||||
RULE 53: Replaces unique_object_count and unique_face_count slots.
|
||||
Use has_or_had_measurement_unit to specify OBJECT or FACE unit type.
|
||||
Use has_or_had_methodology to document entity resolution approach.
|
||||
examples:
|
||||
- value: 15
|
||||
description: 15 unique objects identified
|
||||
unique_face_count:
|
||||
range: integer
|
||||
required: false
|
||||
minimum_value: 0
|
||||
examples:
|
||||
- value: 3
|
||||
description: 3 unique people identified
|
||||
- value:
|
||||
quantity_value: 15
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: OBJECT
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "DeepSORT tracking + embedding clustering"
|
||||
description: 15 unique objects identified via entity resolution
|
||||
- value:
|
||||
quantity_value: 3
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: FACE
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "ArcFace clustering"
|
||||
confidence_threshold: 0.6
|
||||
description: 3 unique people identified via face clustering
|
||||
object_classes_detected:
|
||||
range: string
|
||||
multivalued: true
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@ imports:
|
|||
- ../slots/template_specificity
|
||||
- ../slots/video_category_id
|
||||
- ../slots/video_comment
|
||||
- ../slots/view_count
|
||||
- ../slots/has_or_had_quantity
|
||||
- ./Quantity
|
||||
# MIGRATED 2026-01-15: ../slots/view_count → ../slots/has_or_had_quantity per Rule 53
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
- ../slots/definition
|
||||
|
|
@ -103,7 +105,7 @@ classes:
|
|||
|
||||
| caption | - | schema:caption |
|
||||
|
||||
| view_count | - | schema:interactionStatistic |
|
||||
| view_count | - | schema:interactionStatistic (via Quantity) |
|
||||
|
||||
|
||||
**PLATFORM SUPPORT**:
|
||||
|
|
@ -214,7 +216,7 @@ classes:
|
|||
- template_specificity
|
||||
- video_category_id
|
||||
- video_comment
|
||||
- view_count
|
||||
- has_or_had_quantity
|
||||
slot_usage:
|
||||
duration:
|
||||
range: string
|
||||
|
|
@ -275,12 +277,19 @@ classes:
|
|||
- en
|
||||
- de
|
||||
description: Captions available in Dutch, English, German
|
||||
view_count:
|
||||
range: integer
|
||||
required: false
|
||||
minimum_value: 0
|
||||
has_or_had_quantity:
|
||||
range: Quantity
|
||||
inlined: true
|
||||
description: >-
|
||||
View count for video. RULE 53: Replaces deprecated view_count with
|
||||
structured Quantity class supporting measurement unit (VIEW) and
|
||||
temporal extent for point-in-time observation.
|
||||
examples:
|
||||
- value: 132
|
||||
- value:
|
||||
numeric_value: 132
|
||||
has_or_had_measurement_unit: VIEW
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2025-12-01T23:16:22Z"
|
||||
description: 132 views at observation time
|
||||
like_count:
|
||||
range: integer
|
||||
|
|
|
|||
|
|
@ -0,0 +1,94 @@
|
|||
# VisitingScholar - Visiting scholar/researcher programs accepted by institution
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_visiting_scholar
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/VisitingScholar
|
||||
name: VisitingScholar
|
||||
title: VisitingScholar
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
VisitingScholar:
|
||||
description: >-
|
||||
Information about visiting scholar or researcher programs accepted by an institution.
|
||||
|
||||
**CONTEXT**:
|
||||
Many heritage institutions accept visiting researchers who need access to
|
||||
collections, archives, or special materials for academic research.
|
||||
|
||||
**PROGRAM TYPES**:
|
||||
- Short-term research visits
|
||||
- Fellowship programs
|
||||
- Residencies
|
||||
- Affiliated researcher positions
|
||||
|
||||
Used with `accepts_or_accepted` slot to indicate researcher access programs.
|
||||
|
||||
class_uri: schema:ResearchProject
|
||||
|
||||
close_mappings:
|
||||
- schema:ScholarlyArticle
|
||||
|
||||
attributes:
|
||||
program_type:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
Type of visiting program (e.g., "fellowship", "residency", "short_term_visit").
|
||||
|
||||
duration:
|
||||
range: string
|
||||
description: >-
|
||||
Typical duration of visits (e.g., "1-4 weeks", "3-12 months").
|
||||
|
||||
eligibility:
|
||||
range: string
|
||||
multivalued: true
|
||||
description: >-
|
||||
Eligibility requirements (e.g., "PhD candidates", "University affiliates").
|
||||
|
||||
application_process:
|
||||
range: string
|
||||
description: >-
|
||||
Description of the application process.
|
||||
|
||||
stipend_available:
|
||||
range: boolean
|
||||
description: >-
|
||||
Whether financial support/stipend is available.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["A", "L", "R", "M"]'
|
||||
custodian_types_rationale: >-
|
||||
Visiting scholar programs primarily at archives, libraries, research centers, museums.
|
||||
custodian_types_primary: "A"
|
||||
specificity_score: 0.75
|
||||
specificity_rationale: >-
|
||||
High specificity - specific to research access programs.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
VisitingScholar:
|
||||
program_type: "fellowship"
|
||||
duration: "3-6 months"
|
||||
eligibility:
|
||||
- "PhD candidates"
|
||||
- "Post-doctoral researchers"
|
||||
stipend_available: true
|
||||
description: Fellowship program for researchers.
|
||||
|
||||
- value: |
|
||||
VisitingScholar:
|
||||
program_type: "short_term_visit"
|
||||
duration: "1-4 weeks"
|
||||
application_process: "Submit research proposal via email"
|
||||
description: Short-term research visit program.
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
# WikiDataEntry class
|
||||
# Reference to a Wikidata entity for alignments and equivalences
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 0 (LinkML single source of truth), 38 (slot centralization), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# This class supports 5 slot migrations per slot_fixes.yaml:
|
||||
# - wikidata_mapping
|
||||
# - wikidata_equivalent
|
||||
# - wikidata_class
|
||||
# - wikidata_alignment
|
||||
# - wikidata
|
||||
#
|
||||
# NOTE: Similar to WikidataEntity but designed as migration target for slot_fixes.yaml
|
||||
|
||||
id: https://nde.nl/ontology/hc/class/WikiDataEntry
|
||||
name: wikidata_entry_class
|
||||
title: WikiDataEntry Class
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
wikibase: http://wikiba.se/ontology#
|
||||
wd: http://www.wikidata.org/entity/
|
||||
schema: http://schema.org/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ../metadata
|
||||
- ../slots/wikidata_qid
|
||||
- ../slots/wikidata_label
|
||||
- ../slots/wikidata_description
|
||||
- ../slots/language
|
||||
- ../slots/specificity_annotation
|
||||
- ../slots/template_specificity
|
||||
- ./SpecificityAnnotation
|
||||
- ./TemplateSpecificityScores
|
||||
|
||||
classes:
|
||||
WikiDataEntry:
|
||||
class_uri: wikibase:Item
|
||||
description: |
|
||||
Reference to a Wikidata entity (Q-item) for alignments and equivalences.
|
||||
|
||||
**Purpose**:
|
||||
WikiDataEntry provides a reusable class for representing Wikidata entity
|
||||
references with Q-number identifier, label, and description.
|
||||
Used for ontology alignments, equivalence mappings, and classification.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary**: `wikibase:Item` - Wikibase item class
|
||||
- **Close**: `schema:Thing` - general web entity
|
||||
- **Related**: `skos:Concept` - controlled vocabulary concept
|
||||
|
||||
**Use Cases**:
|
||||
- Ontology alignment: `wikidata_alignment` → relates schema class to Wikidata Q
|
||||
- Equivalence: `wikidata_equivalent` → marks semantic equivalence
|
||||
- Classification: `wikidata_class` → instance_of relationship
|
||||
- General mapping: `wikidata_mapping` → related concept
|
||||
|
||||
**Replaces** (per slot_fixes.yaml):
|
||||
- `wikidata_mapping` (string Q-number)
|
||||
- `wikidata_equivalent` (string Q-number)
|
||||
- `wikidata_class` (string Q-number)
|
||||
- `wikidata_alignment` (string Q-number)
|
||||
- `wikidata` (string Q-number)
|
||||
|
||||
exact_mappings:
|
||||
- wikibase:Item
|
||||
|
||||
close_mappings:
|
||||
- schema:Thing
|
||||
|
||||
related_mappings:
|
||||
- skos:Concept
|
||||
- prov:Entity
|
||||
|
||||
slots:
|
||||
- wikidata_qid
|
||||
- wikidata_label
|
||||
- wikidata_description
|
||||
- language
|
||||
- specificity_annotation
|
||||
- template_specificity
|
||||
|
||||
slot_usage:
|
||||
wikidata_qid:
|
||||
description: |
|
||||
The Wikidata Q-number identifier (e.g., Q12345).
|
||||
range: string
|
||||
required: true
|
||||
pattern: "^Q[0-9]+$"
|
||||
wikidata_label:
|
||||
description: |
|
||||
Human-readable label from Wikidata.
|
||||
range: string
|
||||
required: false
|
||||
wikidata_description:
|
||||
description: |
|
||||
Description from Wikidata.
|
||||
range: string
|
||||
required: false
|
||||
language:
|
||||
description: |
|
||||
Language code for the label and description.
|
||||
Default: "en"
|
||||
range: string
|
||||
required: false
|
||||
pattern: "^[a-z]{2}(-[A-Z]{2})?$"
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Generic Wikidata reference class applicable to all types.
|
||||
custodian_types_primary: null
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Broadly applicable generic class for Wikidata links.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
wikidata_qid: "Q33506"
|
||||
wikidata_label: "museum"
|
||||
wikidata_description: "institution that holds and displays collections"
|
||||
language: en
|
||||
description: "Wikidata reference for 'museum' concept"
|
||||
- value: |
|
||||
wikidata_qid: "Q190804"
|
||||
wikidata_label: "Rijksmuseum"
|
||||
wikidata_description: "Dutch national museum in Amsterdam"
|
||||
language: en
|
||||
description: "Wikidata reference for specific institution"
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
# WikiDataIdentifier - A Wikidata Q-number identifier
|
||||
# Created per slot_fixes.yaml migration for: wikidata_id, wikidata_entity_id, wikidata_entity
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/WikiDataIdentifier
|
||||
name: WikiDataIdentifier
|
||||
title: WikiDataIdentifier
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
wikidata: http://www.wikidata.org/entity/
|
||||
schema: http://schema.org/
|
||||
dct: http://purl.org/dc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
WikiDataIdentifier:
|
||||
description: >-
|
||||
A Wikidata entity identifier (Q-number) that uniquely identifies an entity
|
||||
in the Wikidata knowledge base.
|
||||
|
||||
**DISTINCTION FROM WikiDataEntry**:
|
||||
- `WikiDataIdentifier` is for simple Q-number storage (identifier only)
|
||||
- `WikiDataEntry` includes full entity data (label, description, claims)
|
||||
|
||||
Use `WikiDataIdentifier` when:
|
||||
- Only storing the Q-number reference
|
||||
- Linking to Wikidata without caching entity data
|
||||
|
||||
**FORMAT**: Q followed by digits (e.g., Q190804 for Rijksmuseum)
|
||||
**URL PATTERN**: https://www.wikidata.org/wiki/Q{number}
|
||||
|
||||
class_uri: dct:Identifier
|
||||
|
||||
close_mappings:
|
||||
- schema:PropertyValue
|
||||
- wikidata:Q43649390 # Wikidata identifier
|
||||
|
||||
attributes:
|
||||
qid:
|
||||
range: string
|
||||
required: true
|
||||
pattern: "^Q[0-9]+$"
|
||||
description: >-
|
||||
The Wikidata Q-number (e.g., Q190804).
|
||||
Must start with 'Q' followed by one or more digits.
|
||||
|
||||
url:
|
||||
range: uri
|
||||
description: >-
|
||||
Full URL to the Wikidata entity page.
|
||||
Auto-derivable from qid: https://www.wikidata.org/wiki/{qid}
|
||||
|
||||
label:
|
||||
range: string
|
||||
description: >-
|
||||
Human-readable label for the entity (optional cache).
|
||||
May be language-specific.
|
||||
|
||||
retrieved_at:
|
||||
range: datetime
|
||||
description: >-
|
||||
Timestamp when this identifier was retrieved/verified.
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Wikidata identifiers applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal identifier type.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
WikiDataIdentifier:
|
||||
qid: "Q190804"
|
||||
url: "https://www.wikidata.org/wiki/Q190804"
|
||||
label: "Rijksmuseum"
|
||||
description: Wikidata identifier for the Rijksmuseum.
|
||||
|
||||
- value: |
|
||||
WikiDataIdentifier:
|
||||
qid: "Q1526131"
|
||||
label: "Biblioteca Nacional do Brasil"
|
||||
description: Wikidata identifier for the National Library of Brazil.
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
# XPath - An XPath expression for locating elements in HTML/XML documents
|
||||
# Created per slot_fixes.yaml migration for: xpath
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/classes/XPath
|
||||
name: XPath
|
||||
title: XPath
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_range: string
|
||||
|
||||
classes:
|
||||
XPath:
|
||||
description: >-
|
||||
An XPath expression used to locate a specific element within an HTML or XML document.
|
||||
|
||||
**CRITICAL PROVENANCE FIELD**:
|
||||
XPath expressions provide the essential link between extracted data values and their
|
||||
original source location in archived documents. Without an XPath, a claim extracted
|
||||
from a webpage is unverifiable.
|
||||
|
||||
**FORMAT**: Standard XPath 1.0 expressions
|
||||
**EXAMPLE**: `/html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]`
|
||||
|
||||
**USAGE CONTEXT**:
|
||||
Used with `has_or_had_provenance_path` slot to link provenance records to
|
||||
specific locations in source documents.
|
||||
|
||||
class_uri: prov:Location
|
||||
|
||||
close_mappings:
|
||||
- schema:xpath
|
||||
|
||||
related_mappings:
|
||||
- prov:atLocation
|
||||
|
||||
attributes:
|
||||
expression:
|
||||
range: string
|
||||
required: true
|
||||
description: >-
|
||||
The XPath expression string.
|
||||
Example: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]
|
||||
pattern: "^/.*"
|
||||
|
||||
matched_text:
|
||||
range: string
|
||||
description: >-
|
||||
The text content found at this XPath location.
|
||||
Used for verification and debugging.
|
||||
|
||||
match_score:
|
||||
range: float
|
||||
minimum_value: 0.0
|
||||
maximum_value: 1.0
|
||||
description: >-
|
||||
Confidence score (0.0 to 1.0) for the XPath match.
|
||||
1.0 = exact match, <1.0 = fuzzy match.
|
||||
|
||||
source_document:
|
||||
range: uriorcurie
|
||||
description: >-
|
||||
URI or path to the source document where this XPath applies.
|
||||
Example: web/GHCID/example.org/rendered.html
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
XPath provenance is relevant for any custodian type where web content
|
||||
is extracted and archived.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.7
|
||||
specificity_rationale: >-
|
||||
High specificity - only relevant for web-extracted data with HTML archival.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
XPath:
|
||||
expression: "/html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6]"
|
||||
matched_text: "Historische Vereniging Nijeveen"
|
||||
match_score: 1.0
|
||||
source_document: "web/0021/historischeverenigingnijeveen.nl/rendered.html"
|
||||
description: >-
|
||||
XPath extraction pointing to an institution name in archived HTML.
|
||||
|
||||
- value: |
|
||||
XPath:
|
||||
expression: "//meta[@property='og:title']/@content"
|
||||
matched_text: "Amsterdam Museum - Official Website"
|
||||
match_score: 0.95
|
||||
description: >-
|
||||
XPath to OpenGraph metadata in a webpage header.
|
||||
|
|
@ -111,6 +111,57 @@ enums:
|
|||
unit_type: length
|
||||
usage_context: storage_capacity
|
||||
|
||||
# Count units (Rule 53: link_branch migration for visitor_count, view_count)
|
||||
VISITOR:
|
||||
description: Visitor count unit - for attendance metrics
|
||||
meaning: hc:VisitorUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: visitor_metrics
|
||||
VIEW:
|
||||
description: View count unit - for digital content metrics (videos, pages)
|
||||
meaning: hc:ViewUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: digital_metrics
|
||||
ITEM:
|
||||
description: Item count unit - for collection object counts
|
||||
meaning: hc:ItemUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: collection_metrics
|
||||
FTE:
|
||||
description: Full-time equivalent - for staff measurement
|
||||
meaning: hc:FTEUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: staff_metrics
|
||||
HEADCOUNT:
|
||||
description: Headcount - total number of individuals
|
||||
meaning: hc:HeadcountUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: staff_metrics
|
||||
OBJECT:
|
||||
description: Object count unit - for museum/archive object counts
|
||||
meaning: hc:ObjectUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: collection_metrics
|
||||
FACE:
|
||||
description: Face count unit - for unique faces in photo collections
|
||||
meaning: hc:FaceUnit
|
||||
annotations:
|
||||
ucum_code: "1"
|
||||
unit_type: count
|
||||
usage_context: digital_metrics
|
||||
|
||||
# Unknown/unspecified
|
||||
UNKNOWN:
|
||||
description: Unit not specified or unknown
|
||||
|
|
|
|||
|
|
@ -0,0 +1,82 @@
|
|||
id: https://nde.nl/ontology/hc/enum/MethodologyTypeEnum
|
||||
name: methodology_type_enum
|
||||
title: Methodology Type Enum
|
||||
description: >-
|
||||
Enumeration of methodology types for measurement derivation.
|
||||
|
||||
**RULE 53 COMPLIANT**: Created for unique_object_count and unique_face_count
|
||||
migration per slot_fixes.yaml revision (lines 1951-1994).
|
||||
|
||||
**SLOT_FIXES.YAML REFERENCE**:
|
||||
|
||||
The revision specifies `value: entity_resolution` for both unique_object_count
|
||||
and unique_face_count, indicating these counts are derived via entity resolution
|
||||
(deduplication) methodologies.
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
enums:
|
||||
MethodologyTypeEnum:
|
||||
description: >-
|
||||
Types of methodologies used to derive measurements or observations.
|
||||
|
||||
**PRIMARY USE CASE**: Video annotation unique counts
|
||||
|
||||
When counting unique objects or faces in video, different methodologies
|
||||
produce different results. This enum captures the approach used.
|
||||
permissible_values:
|
||||
ENTITY_RESOLUTION:
|
||||
description: >-
|
||||
Deduplication via feature matching and clustering.
|
||||
Used to count unique entities across multiple observations.
|
||||
Example: Counting unique faces by clustering face embeddings.
|
||||
annotations:
|
||||
slot_fixes_value: entity_resolution
|
||||
typical_use: unique_object_count, unique_face_count
|
||||
|
||||
OBJECT_TRACKING:
|
||||
description: >-
|
||||
Multi-object tracking across video frames.
|
||||
Maintains identity of objects as they move through scenes.
|
||||
Example: DeepSORT, ByteTrack tracking algorithms.
|
||||
annotations:
|
||||
typical_use: video_object_annotation
|
||||
|
||||
MANUAL_COUNT:
|
||||
description: >-
|
||||
Human manual counting or annotation.
|
||||
May involve multiple reviewers for accuracy.
|
||||
annotations:
|
||||
typical_use: ground_truth_annotation
|
||||
|
||||
STATISTICAL_SAMPLING:
|
||||
description: >-
|
||||
Count derived from statistical sampling methodology.
|
||||
Extrapolated from sample to estimate total population.
|
||||
annotations:
|
||||
typical_use: visitor_estimates, large_collection_counts
|
||||
|
||||
AUTOMATED_DETECTION:
|
||||
description: >-
|
||||
Automated detection without deduplication.
|
||||
Raw detection counts that may include duplicates.
|
||||
annotations:
|
||||
typical_use: raw_detection_counts
|
||||
|
||||
HYBRID:
|
||||
description: >-
|
||||
Combination of automated and manual methodologies.
|
||||
Automated detection with manual verification/correction.
|
||||
annotations:
|
||||
typical_use: quality_assured_annotation
|
||||
|
||||
UNKNOWN:
|
||||
description: >-
|
||||
Methodology not specified or unknown.
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
# accepts_or_accepted - Generic slot for things an institution accepts
|
||||
# Created per slot_fixes.yaml migration for: accepts_or_accepted_external_work,
|
||||
# accepts_or_accepted_payment_method, accepts_or_accepted_visiting_scholar
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/accepts_or_accepted
|
||||
name: accepts_or_accepted_slot
|
||||
title: Accepts Or Accepted Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
accepts_or_accepted:
|
||||
description: >-
|
||||
Generic slot for things an institution accepts or has accepted.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "accepts_or_accepted" naming indicates policies can change:
|
||||
- Payment methods may be added/removed
|
||||
- External work acceptance policies change
|
||||
- Visiting scholar programs may start/end
|
||||
|
||||
**USE CASES**:
|
||||
- Payment methods accepted (credit cards, cash, digital)
|
||||
- External work (conservation, digitization contracts)
|
||||
- Visiting scholars (research programs)
|
||||
|
||||
**RANGE**:
|
||||
This is a generic slot - use slot_usage in classes to constrain
|
||||
the range to specific types (ExternalWork, PaymentMethod, VisitingScholar).
|
||||
|
||||
range: string
|
||||
slot_uri: schema:acceptedPaymentMethod
|
||||
multivalued: true
|
||||
|
||||
close_mappings:
|
||||
- schema:acceptedPaymentMethod
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Acceptance policies applicable to various custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.5
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - depends on context of what is accepted.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
accepts_or_accepted:
|
||||
- "credit_card"
|
||||
- "debit_card"
|
||||
- "cash"
|
||||
description: Payment methods accepted by institution.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Generic slot for acceptance-related relationships
|
||||
- Constrain range via slot_usage in specific classes
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
# asserts_or_asserted - Links provenance to a hypothesis or assertion
|
||||
# Created per slot_fixes.yaml migration for: type_hypothesis
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/asserts_or_asserted
|
||||
name: asserts_or_asserted_slot
|
||||
title: Asserts Or Asserted Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
asserts_or_asserted:
|
||||
description: >-
|
||||
Links a provenance record to a hypothesis or assertion that it supports.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "asserts_or_asserted" naming indicates that assertions can change:
|
||||
- New evidence may modify or invalidate hypotheses
|
||||
- Historical assertions preserved for audit trail
|
||||
- Confidence levels may be updated over time
|
||||
|
||||
**USAGE**:
|
||||
Used within a Provenance class to link the provenance activity
|
||||
to a specific Hypothesis about uncertain data.
|
||||
|
||||
**EXAMPLE**:
|
||||
A provenance record from web scraping asserts a hypothesis about
|
||||
institution type based on evidence found on the website.
|
||||
|
||||
range: Hypothesis
|
||||
slot_uri: prov:generated
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- prov:generated
|
||||
|
||||
close_mappings:
|
||||
- schema:mainEntity
|
||||
|
||||
annotations:
|
||||
custodian_types: '["U"]'
|
||||
custodian_types_rationale: >-
|
||||
Assertions/hypotheses primarily relevant for Unknown type institutions.
|
||||
custodian_types_primary: "U"
|
||||
specificity_score: 0.8
|
||||
specificity_rationale: >-
|
||||
High specificity - only relevant for hypothesis tracking.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
asserts_or_asserted:
|
||||
asserted_value: "MUSEUM"
|
||||
confidence_level: "medium"
|
||||
supporting_evidence:
|
||||
- "Website mentions 'permanent collection'"
|
||||
description: Provenance asserting a museum type hypothesis.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces direct type_hypothesis slot usage
|
||||
- Links Provenance class to Hypothesis class
|
||||
|
|
@ -1,13 +1,70 @@
|
|||
# begin_of_the_begin slot
|
||||
# Earliest possible start time of a temporal extent (CIDOC-CRM pattern)
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Updated from datetime to Timestamp class per slot_fixes.yaml
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/begin_of_the_begin
|
||||
name: begin_of_the_begin_slot
|
||||
title: Begin of the Begin Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
time: http://www.w3.org/2006/time#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./classes/Timestamp
|
||||
|
||||
slots:
|
||||
begin_of_the_begin:
|
||||
slot_uri: crm:P82a_begin_of_the_begin
|
||||
range: datetime
|
||||
description: Earliest possible start time of temporal extent (CIDOC-CRM E52_Time-Span)
|
||||
description: |
|
||||
Earliest possible start time of temporal extent (CIDOC-CRM E52_Time-Span).
|
||||
|
||||
**CIDOC-CRM Pattern**:
|
||||
P82a defines the earliest possible time the time span could have started.
|
||||
Used with P81a (end_of_the_begin) to express uncertainty about start time.
|
||||
|
||||
**Example**: "Founded between 1800-1805"
|
||||
- begin_of_the_begin: 1800-01-01 (earliest possible founding)
|
||||
- end_of_the_begin: 1805-12-31 (latest possible founding)
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `crm:P82a_begin_of_the_begin`
|
||||
- **Related**: `prov:startedAtTime` - PROV-O activity start
|
||||
- **Narrow**: `schema:startDate` - Schema.org start date
|
||||
|
||||
**Range**: Timestamp class (per slot_fixes.yaml revision spec)
|
||||
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:P82a_begin_of_the_begin
|
||||
|
||||
related_mappings:
|
||||
- prov:startedAtTime
|
||||
|
||||
narrow_mappings:
|
||||
- schema:startDate
|
||||
broad_mappings:
|
||||
- dcterms:relation
|
||||
|
||||
annotations:
|
||||
slot_fixes_compliance: "Range changed from datetime to Timestamp class per slot_fixes.yaml"
|
||||
migration_date: "2026-01-15"
|
||||
replaces_slots: "valid_from, valid_from_geo"
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
timestamp_value: "1800-01-01"
|
||||
timestamp_precision: day
|
||||
description: "Earliest possible founding date"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,59 @@
|
|||
# begin_of_the_end slot
|
||||
# Earliest possible end time of a temporal extent (CIDOC-CRM pattern)
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Updated from datetime to Timestamp class for consistency with other boundary slots
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 53 (slot_fixes.yaml)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/begin_of_the_end
|
||||
name: begin_of_the_end_slot
|
||||
title: Begin of the End Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
time: http://www.w3.org/2006/time#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./classes/Timestamp
|
||||
|
||||
slots:
|
||||
begin_of_the_end:
|
||||
slot_uri: crm:P81b_begin_of_the_end
|
||||
range: datetime
|
||||
description: Earliest possible end time of temporal extent (CIDOC-CRM E52_Time-Span)
|
||||
description: |
|
||||
Earliest possible end time of temporal extent (CIDOC-CRM E52_Time-Span).
|
||||
|
||||
**CIDOC-CRM Pattern**:
|
||||
P81b defines the earliest possible time the time span could have ended.
|
||||
Used with P82b (end_of_the_end) to express uncertainty about end time.
|
||||
|
||||
**Example**: "Closed between 1950-1955"
|
||||
- begin_of_the_end: 1950-01-01 (earliest possible closure)
|
||||
- end_of_the_end: 1955-12-31 (latest possible closure)
|
||||
|
||||
**Range**: Timestamp class for precision tracking
|
||||
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:P81b_begin_of_the_end
|
||||
|
||||
related_mappings:
|
||||
- prov:endedAtTime
|
||||
broad_mappings:
|
||||
- dcterms:relation
|
||||
|
||||
annotations:
|
||||
migration_date: "2026-01-15"
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
timestamp_value: "1950-01-01"
|
||||
timestamp_precision: day
|
||||
description: "Earliest possible closure date"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
# calendar_system slot
|
||||
# The calendar system used for a timestamp
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 42 (no prefix), 43 (singular noun)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/calendar_system
|
||||
name: calendar_system_slot
|
||||
title: Calendar System Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
calendar_system:
|
||||
slot_uri: time:hasTRS
|
||||
description: |
|
||||
The calendar system for the timestamp.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `time:hasTRS` - OWL Time temporal reference system
|
||||
|
||||
**Common Values**:
|
||||
- gregorian: Standard Gregorian calendar (default)
|
||||
- julian: Julian calendar (historical dates before 1582)
|
||||
- hebrew: Hebrew calendar
|
||||
- islamic: Islamic (Hijri) calendar
|
||||
- chinese: Chinese calendar
|
||||
- japanese: Japanese imperial calendar
|
||||
|
||||
**Usage**:
|
||||
Defaults to Gregorian if not specified. Important for:
|
||||
- Historical documents dated before Gregorian adoption
|
||||
- Non-Western heritage institutions
|
||||
- Religious calendar dates
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- time:hasTRS
|
||||
|
||||
annotations:
|
||||
migration_date: "2026-01-15"
|
||||
|
||||
examples:
|
||||
- value: "gregorian"
|
||||
description: "Standard Gregorian calendar"
|
||||
- value: "julian"
|
||||
description: "Julian calendar for pre-1582 dates"
|
||||
- value: "islamic"
|
||||
description: "Islamic/Hijri calendar"
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
# description_text slot
|
||||
# The textual content of a description
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 42 (no prefix), 43 (singular noun)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/description_text
|
||||
name: description_text_slot
|
||||
title: Description Text Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
description_text:
|
||||
slot_uri: rdf:value
|
||||
description: |
|
||||
The textual content of a description.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `rdf:value` - the principal value of a resource
|
||||
- **Close**: `rdfs:label` - human-readable label
|
||||
|
||||
**Usage**:
|
||||
This slot holds the actual text of a Description instance.
|
||||
The Description class provides structure (type, language) while
|
||||
this slot holds the content.
|
||||
|
||||
range: string
|
||||
required: true
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- rdf:value
|
||||
|
||||
close_mappings:
|
||||
- rdfs:label
|
||||
|
||||
annotations:
|
||||
replaces_slots: "binding_description, branch_description, etc. (text content)"
|
||||
migration_date: "2026-01-15"
|
||||
|
||||
examples:
|
||||
- value: "Climate-controlled storage zone with dedicated HVAC."
|
||||
description: "Zone description text"
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
# description_type slot
|
||||
# The type/category of a description
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 42 (no prefix), 43 (singular noun)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/description_type
|
||||
name: description_type_slot
|
||||
title: Description Type Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
description_type:
|
||||
slot_uri: dcterms:type
|
||||
description: |
|
||||
The type or category of description.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `dcterms:type` - nature or genre of resource
|
||||
|
||||
**Usage**:
|
||||
Categorizes descriptions by their purpose:
|
||||
- binding: Physical binding description
|
||||
- branch: Organizational branch description
|
||||
- budget: Budget/financial description
|
||||
- zone: Storage zone description
|
||||
- warehouse: Warehouse description
|
||||
- unit: Organizational unit description
|
||||
- type: Type/category definition
|
||||
- general: General purpose description
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:type
|
||||
|
||||
annotations:
|
||||
replaces_slots: "implicitly from slot names like binding_description -> type=binding"
|
||||
migration_date: "2026-01-15"
|
||||
|
||||
examples:
|
||||
- value: "binding"
|
||||
description: "Physical binding description type"
|
||||
- value: "zone"
|
||||
description: "Storage zone description type"
|
||||
- value: "branch"
|
||||
description: "Organizational branch description type"
|
||||
|
|
@ -1,11 +1,59 @@
|
|||
# end_of_the_begin slot
|
||||
# Latest possible start time of a temporal extent (CIDOC-CRM pattern)
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Updated from datetime to Timestamp class for consistency with other boundary slots
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 53 (slot_fixes.yaml)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/end_of_the_begin
|
||||
name: end_of_the_begin_slot
|
||||
title: End of the Begin Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
time: http://www.w3.org/2006/time#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./classes/Timestamp
|
||||
|
||||
slots:
|
||||
end_of_the_begin:
|
||||
slot_uri: crm:P81a_end_of_the_begin
|
||||
range: datetime
|
||||
description: Latest possible start time of temporal extent (CIDOC-CRM E52_Time-Span)
|
||||
description: |
|
||||
Latest possible start time of temporal extent (CIDOC-CRM E52_Time-Span).
|
||||
|
||||
**CIDOC-CRM Pattern**:
|
||||
P81a defines the latest possible time the time span could have started.
|
||||
Used with P82a (begin_of_the_begin) to express uncertainty about start time.
|
||||
|
||||
**Example**: "Founded between 1800-1805"
|
||||
- begin_of_the_begin: 1800-01-01 (earliest possible founding)
|
||||
- end_of_the_begin: 1805-12-31 (latest possible founding)
|
||||
|
||||
**Range**: Timestamp class for precision tracking
|
||||
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:P81a_end_of_the_begin
|
||||
|
||||
related_mappings:
|
||||
- prov:startedAtTime
|
||||
broad_mappings:
|
||||
- dcterms:relation
|
||||
|
||||
annotations:
|
||||
migration_date: "2026-01-15"
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
timestamp_value: "1805-12-31"
|
||||
timestamp_precision: day
|
||||
description: "Latest possible founding date"
|
||||
|
|
|
|||
|
|
@ -1,13 +1,70 @@
|
|||
# end_of_the_end slot
|
||||
# Latest possible end time of a temporal extent (CIDOC-CRM pattern)
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Updated from datetime to Timestamp class per slot_fixes.yaml
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/end_of_the_end
|
||||
name: end_of_the_end_slot
|
||||
title: End of the End Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
time: http://www.w3.org/2006/time#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./classes/Timestamp
|
||||
|
||||
slots:
|
||||
end_of_the_end:
|
||||
slot_uri: crm:P82b_end_of_the_end
|
||||
range: datetime
|
||||
description: Latest possible end time of temporal extent (CIDOC-CRM E52_Time-Span)
|
||||
description: |
|
||||
Latest possible end time of temporal extent (CIDOC-CRM E52_Time-Span).
|
||||
|
||||
**CIDOC-CRM Pattern**:
|
||||
P82b defines the latest possible time the time span could have ended.
|
||||
Used with P81b (begin_of_the_end) to express uncertainty about end time.
|
||||
|
||||
**Example**: "Closed between 1950-1955"
|
||||
- begin_of_the_end: 1950-01-01 (earliest possible closure)
|
||||
- end_of_the_end: 1955-12-31 (latest possible closure)
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `crm:P82b_end_of_the_end`
|
||||
- **Related**: `prov:endedAtTime` - PROV-O activity end
|
||||
- **Narrow**: `schema:endDate` - Schema.org end date
|
||||
|
||||
**Range**: Timestamp class (per slot_fixes.yaml revision spec)
|
||||
|
||||
range: Timestamp
|
||||
inlined: true
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- crm:P82b_end_of_the_end
|
||||
|
||||
related_mappings:
|
||||
- prov:endedAtTime
|
||||
|
||||
narrow_mappings:
|
||||
- schema:endDate
|
||||
broad_mappings:
|
||||
- dcterms:relation
|
||||
|
||||
annotations:
|
||||
slot_fixes_compliance: "Range changed from datetime to Timestamp class per slot_fixes.yaml"
|
||||
migration_date: "2026-01-15"
|
||||
replaces_slots: "valid_to, valid_to_geo"
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
timestamp_value: "1955-12-31"
|
||||
timestamp_precision: day
|
||||
description: "Latest possible closure date"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
# ends_or_ended_at_location slot
|
||||
# Destination location relationship following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming)
|
||||
#
|
||||
# Used by TransferEvent class for destination location
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/ends_or_ended_at_location
|
||||
name: ends_or_ended_at_location_slot
|
||||
title: Ends Or Ended At Location Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
ends_or_ended_at_location:
|
||||
slot_uri: prov:atLocation
|
||||
description: |
|
||||
Destination location where an event or process ended.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "endsOrEnded" naming follows RiC-O convention indicating
|
||||
the location may be historical (where something concluded).
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `prov:atLocation` - PROV-O location
|
||||
- **Related**: `crm:P26_moved_to` - CIDOC-CRM moved to
|
||||
- **Related**: `schema:toLocation` - Schema.org destination
|
||||
|
||||
**Use Cases**:
|
||||
- Transfer event destination (where materials went to)
|
||||
- Journey/movement end location
|
||||
- Process completion location
|
||||
|
||||
**Range**: Location class (structured location with name and coordinates)
|
||||
|
||||
range: Location
|
||||
required: false
|
||||
multivalued: false
|
||||
inlined: true
|
||||
|
||||
related_mappings:
|
||||
- crm:P26_moved_to
|
||||
- schema:toLocation
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "endsOrEnded" pattern for temporal location predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Location relationships apply to all heritage types.
|
||||
specificity_score: 0.4
|
||||
specificity_rationale: Specialized slot for event/process locations.
|
||||
|
||||
comments:
|
||||
- "Destination location for events/processes"
|
||||
- "Maps to prov:atLocation with end semantics"
|
||||
- "RiC-O naming: endsOrEnded indicates temporal aspect"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
location_name: "New Archive Building, Haarlem"
|
||||
description: "Destination location for collection transfer"
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
# has_or_had_code - Generic code/identifier slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: alpha_2, alpha_3
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_code
|
||||
name: has_or_had_code
|
||||
title: Has or Had Code
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_code:
|
||||
slot_uri: skos:notation
|
||||
description: |
|
||||
A code or notation value associated with an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for standardized codes such as:
|
||||
- ISO 3166-1 alpha-2 country codes (e.g., "NL", "BE")
|
||||
- ISO 3166-1 alpha-3 country codes (e.g., "NLD", "BEL")
|
||||
- ISO 639-1/3 language codes
|
||||
- Classification codes
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- slot_uri: skos:notation (SKOS notation for concepts)
|
||||
|
||||
range: string
|
||||
|
||||
exact_mappings:
|
||||
- skos:notation
|
||||
|
||||
close_mappings:
|
||||
- dct:identifier
|
||||
- schema:identifier
|
||||
|
||||
examples:
|
||||
- value: "NL"
|
||||
description: ISO 3166-1 alpha-2 code for Netherlands
|
||||
- value: "NLD"
|
||||
description: ISO 3166-1 alpha-3 code for Netherlands
|
||||
- value: "nld"
|
||||
description: ISO 639-3 language code for Dutch
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Codes applicable to all custodian types."
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# has_or_had_comment - Comment association slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: video_comment
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_comment
|
||||
name: has_or_had_comment
|
||||
title: Has or Had Comment
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_comment:
|
||||
slot_uri: schema:comment
|
||||
description: |
|
||||
A comment associated with an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Video comments
|
||||
- Review comments
|
||||
- Annotation notes
|
||||
|
||||
range: Comment
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- schema:comment
|
||||
|
||||
examples:
|
||||
- value:
|
||||
comment_text: "Great video about the collection!"
|
||||
comment_author: "Visitor123"
|
||||
description: User comment on video
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
# has_or_had_conversion_rate - Links to a ConversionRate instance
|
||||
# Created per slot_fixes.yaml migration for: visitor_conversion_rate
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# REVISION FROM slot_fixes.yaml (lines 1646-1669):
|
||||
# - label: has_or_had_conversion_rate (slot) ← THIS FILE
|
||||
# - label: ConversionRate (class)
|
||||
# - link_branch 1: has_or_had_type → ConversionRateType
|
||||
# - link_branch 2: temporal_extent → TimeSpan
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_conversion_rate
|
||||
name: has_or_had_conversion_rate_slot
|
||||
title: Has Or Had Conversion Rate Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_conversion_rate:
|
||||
description: >-
|
||||
Links to a ConversionRate instance representing a behavioral conversion metric.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "has_or_had" naming indicates that conversion rates change over time:
|
||||
- Rates vary by season (summer vs. winter)
|
||||
- Rates change with exhibitions (blockbuster vs. permanent)
|
||||
- Rates evolve with strategy (before/after membership drives)
|
||||
|
||||
**REPLACES**: `visitor_conversion_rate` (float slot)
|
||||
|
||||
**IMPROVEMENT OVER FLOAT**:
|
||||
- Typed conversions (visitor-to-purchase, visitor-to-member, etc.)
|
||||
- Temporal context (measurement period)
|
||||
- Sample size for statistical validity
|
||||
- Industry benchmark comparisons
|
||||
|
||||
**USE CASES**:
|
||||
- Gift shop performance tracking
|
||||
- Membership conversion analytics
|
||||
- Digital engagement metrics
|
||||
- Marketing campaign effectiveness
|
||||
|
||||
range: ConversionRate
|
||||
slot_uri: schema:interactionStatistic
|
||||
inlined: true
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- schema:interactionStatistic
|
||||
|
||||
close_mappings:
|
||||
- schema:QuantitativeValue
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Conversion rate metrics applicable to all custodian types with retail or engagement.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians tracking performance metrics.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_conversion_rate:
|
||||
- rate_value: 0.35
|
||||
rate_percentage: 35.0
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Purchase"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-01-01"
|
||||
end_of_the_end: "2024-12-31"
|
||||
measurement_period_description: "Calendar Year 2024"
|
||||
description: Gift shop with 35% visitor-to-purchase conversion.
|
||||
|
||||
- value: |
|
||||
has_or_had_conversion_rate:
|
||||
- rate_value: 0.05
|
||||
has_or_had_type:
|
||||
type_label: "Visitor to Member"
|
||||
temporal_extent:
|
||||
begin_of_the_begin: "2024-06-01"
|
||||
end_of_the_end: "2024-08-31"
|
||||
measurement_period_description: "Summer membership drive"
|
||||
description: 5% visitor-to-member conversion during summer campaign.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces simple float visitor_conversion_rate slot
|
||||
- Supports multiple conversion types and time periods
|
||||
- Multivalued to track different conversion types simultaneously
|
||||
|
|
@ -5,7 +5,8 @@
|
|||
# for temporal relationships in heritage domain.
|
||||
#
|
||||
# Generation date: 2026-01-13
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix)
|
||||
# Updated: 2026-01-15 - Changed range from string to Description class per slot_fixes.yaml
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix), 53 (slot_fixes.yaml)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_description
|
||||
name: has_or_had_description_slot
|
||||
|
|
@ -22,6 +23,7 @@ default_prefix: hc
|
|||
|
||||
imports:
|
||||
- linkml:types
|
||||
- ./classes/Description
|
||||
|
||||
slots:
|
||||
has_or_had_description:
|
||||
|
|
@ -43,9 +45,13 @@ slots:
|
|||
For Type classes, this provides a formal definition of the type.
|
||||
For instance classes, this provides a description of the specific entity.
|
||||
|
||||
range: string
|
||||
**Range**: Description class (per slot_fixes.yaml revision spec)
|
||||
The Description class provides typed descriptions with language support.
|
||||
|
||||
range: Description
|
||||
inlined: true
|
||||
required: false
|
||||
multivalued: false
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- skos:definition
|
||||
|
|
@ -60,18 +66,28 @@ slots:
|
|||
rico_naming_convention: |
|
||||
Follows RiC-O "hasOrHad" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "storage_type_description"
|
||||
migration_date: "2026-01-13"
|
||||
replaces_slots: >-
|
||||
binding_description, branch_description, branch_office_description,
|
||||
budget_description, zone_description, warehouse_description,
|
||||
unit_description, type_description, storage_type_description
|
||||
migration_date: "2026-01-15"
|
||||
slot_fixes_compliance: "Range changed from string to Description class per slot_fixes.yaml"
|
||||
|
||||
comments:
|
||||
- "Generic description slot for type classes and entities"
|
||||
- "Maps to skos:definition for formal type definitions"
|
||||
- "Maps to dcterms:description for instance descriptions"
|
||||
- "RiC-O naming: hasOrHad indicates potentially historical relationship"
|
||||
- "Range: Description class with type, text, and language fields"
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
Specialized climate-controlled facility for archival documents,
|
||||
manuscripts, and records. Maintains stable temperature and
|
||||
humidity optimal for paper and parchment preservation.
|
||||
description: "Description of archive depot storage type"
|
||||
description_text: "Specialized climate-controlled facility for archival documents."
|
||||
description_type: zone
|
||||
language: en
|
||||
description: "Zone description using Description class"
|
||||
- value: |
|
||||
description_text: "Quarter leather binding with marbled boards."
|
||||
description_type: binding
|
||||
language: en
|
||||
description: "Binding description using Description class"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
# has_or_had_facility - Facility association slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: visitor_facility
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_facility
|
||||
name: has_or_had_facility
|
||||
title: Has or Had Facility
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_facility:
|
||||
slot_uri: schema:amenityFeature
|
||||
description: |
|
||||
A facility or amenity associated with an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Visitor facilities (café, shop, parking)
|
||||
- Research facilities (reading room, lab)
|
||||
- Accessibility facilities (wheelchair access)
|
||||
|
||||
range: Facility
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- schema:amenityFeature
|
||||
|
||||
examples:
|
||||
- value:
|
||||
facility_name: "Museum Café"
|
||||
facility_type: FOOD_SERVICE
|
||||
description: On-site café facility
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
# has_or_had_format - Format specification slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: typical_response_formats, transcript_format
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_format
|
||||
name: has_or_had_format
|
||||
title: Has or Had Format
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dct: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_format:
|
||||
slot_uri: dct:format
|
||||
description: |
|
||||
The format or file type of a resource or service response.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Response formats from APIs (JSON, XML, RDF)
|
||||
- File formats for documents (PDF, DOCX, TXT)
|
||||
- Media formats (JPEG, MP3, MP4)
|
||||
- Transcript formats (VTT, SRT, plain text)
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- slot_uri: dct:format (Dublin Core format)
|
||||
|
||||
range: string
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- dct:format
|
||||
|
||||
close_mappings:
|
||||
- schema:encodingFormat
|
||||
|
||||
examples:
|
||||
- value: "application/json"
|
||||
description: JSON MIME type for API responses
|
||||
- value: "text/vtt"
|
||||
description: WebVTT subtitle/transcript format
|
||||
- value: "image/jpeg"
|
||||
description: JPEG image format
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Format specifications applicable to all custodian types."
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
# has_or_had_frequency - Links to an UpdateFrequency instance
|
||||
# Created per slot_fixes.yaml migration for: update_frequency
|
||||
# Creation date: 2026-01-14
|
||||
#
|
||||
# REVISION FROM slot_fixes.yaml (lines 1893-1910):
|
||||
# - label: has_or_had_frequency (slot) ← THIS FILE
|
||||
# - label: UpdateFrequency (class)
|
||||
# - link_branch 1: has_or_had_quantity → Quantity
|
||||
# - link_branch 2: has_or_had_time_interval → TimeInterval
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_frequency
|
||||
name: has_or_had_frequency_slot
|
||||
title: Has Or Had Frequency Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
dcat: http://www.w3.org/ns/dcat#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_frequency:
|
||||
description: >-
|
||||
Links to an UpdateFrequency instance representing how often updates occur.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "has_or_had" naming indicates that frequency can change over time:
|
||||
- IoT sensors may be reconfigured to different update rates
|
||||
- Data feeds may change from hourly to real-time
|
||||
- Systems may be optimized to reduce update frequency
|
||||
|
||||
**REPLACES**: `update_frequency` (string slot)
|
||||
|
||||
**IMPROVEMENT OVER STRING**:
|
||||
- Structured quantity (numeric value)
|
||||
- Structured time interval (ISO 8601 duration)
|
||||
- Event-driven vs time-based distinction
|
||||
- Machine-readable for analytics
|
||||
|
||||
**USE CASES**:
|
||||
- IoT devices: Sensor update rates
|
||||
- Data feeds: Sync frequencies
|
||||
- APIs: Rate limiting and polling intervals
|
||||
|
||||
range: UpdateFrequency
|
||||
slot_uri: dcterms:accrualPeriodicity
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:accrualPeriodicity
|
||||
|
||||
close_mappings:
|
||||
- dcat:frequency
|
||||
- schema:repeatFrequency
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Frequency associations applicable to all custodian types with digital systems.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.35
|
||||
specificity_rationale: >-
|
||||
Moderate specificity - relevant to custodians with IoT/data infrastructure.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_frequency:
|
||||
frequency_description: "Every 5 minutes"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 5
|
||||
has_or_had_time_interval:
|
||||
duration_value: "PT1M"
|
||||
duration_description: "minute"
|
||||
description: Climate sensor with 5-minute update frequency.
|
||||
|
||||
- value: |
|
||||
has_or_had_frequency:
|
||||
frequency_description: "On proximity trigger"
|
||||
is_event_driven: true
|
||||
trigger_type: "proximity"
|
||||
description: Event-driven beacon updates.
|
||||
|
||||
- value: |
|
||||
has_or_had_frequency:
|
||||
frequency_description: "Daily"
|
||||
has_or_had_quantity:
|
||||
numeric_value: 1
|
||||
has_or_had_time_interval:
|
||||
duration_value: "P1D"
|
||||
duration_description: "daily"
|
||||
description: Daily data synchronization.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces string-based update_frequency slot
|
||||
- Uses Dublin Core accrualPeriodicity for semantic alignment
|
||||
- Supports structured frequency representation
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
id: https://nde.nl/ontology/hc/slot/has_or_had_measurement_unit
|
||||
name: has_or_had_measurement_unit_slot
|
||||
title: Has Or Had Measurement Unit Slot
|
||||
description: >-
|
||||
Slot file for has_or_had_measurement_unit following Rule 53 (slot_fixes.yaml).
|
||||
|
||||
**RULE 53 COMPLIANT**: Created as part of link_branch migration for visitor_count,
|
||||
view_count, and similar quantity-based slots.
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- QUDT: qudt:unit - "The unit of measure used to express the value of a Quantity"
|
||||
- Schema.org: schema:unitCode (close mapping)
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
qudt: http://qudt.org/schema/qudt/
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_measurement_unit:
|
||||
description: >-
|
||||
The unit of measurement for a quantity value. Uses RiC-O temporal
|
||||
naming pattern to indicate the unit may be current or historical
|
||||
(e.g., if measurement standards changed over time).
|
||||
|
||||
**QUDT**: qudt:unit - "The unit of measure used to express the value
|
||||
of a Quantity."
|
||||
|
||||
**USE CASES**:
|
||||
- Visitor counts: unit = "visitors", "visitors/year"
|
||||
- View counts: unit = "views", "views/day"
|
||||
- Collection sizes: unit = "items", "objects", "linear meters"
|
||||
- Area: unit = "m²", "ha", "km²"
|
||||
- Currency: unit = "EUR", "USD", "GBP"
|
||||
range: MeasureUnit
|
||||
slot_uri: qudt:unit
|
||||
exact_mappings:
|
||||
- qudt:unit
|
||||
close_mappings:
|
||||
- schema:unitCode
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Measurement units applicable to all heritage custodian types.
|
||||
custodian_types_primary: M
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: >-
|
||||
Foundational slot for measurement data - highly reusable across
|
||||
many quantity types (visitors, views, items, area, currency).
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
id: https://nde.nl/ontology/hc/slot/has_or_had_methodology
|
||||
name: has_or_had_methodology_slot
|
||||
title: Has Or Had Methodology Slot
|
||||
description: >-
|
||||
RiC-O style slot for linking to methodology specifications.
|
||||
|
||||
**RULE 53 COMPLIANT**: Created for unique_object_count and unique_face_count
|
||||
migration per slot_fixes.yaml revision (lines 1951-1994).
|
||||
|
||||
**RULE 39 COMPLIANT**: RiC-O style temporal naming (has_or_had_*).
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_methodology:
|
||||
description: >-
|
||||
The methodology used to derive a measurement or observation.
|
||||
|
||||
**PROV-O ALIGNMENT**:
|
||||
|
||||
Maps to `prov:hadPlan` which indicates "The optional Plan adopted by an Agent
|
||||
in Association with some Activity."
|
||||
|
||||
**WHY THIS MATTERS**:
|
||||
|
||||
A "unique face count" of 15 has different meanings depending on methodology:
|
||||
- ENTITY_RESOLUTION: 15 distinct individuals identified via face clustering
|
||||
- OBJECT_TRACKING: 15 tracked face instances (may include same person)
|
||||
- MANUAL_COUNT: 15 faces counted by human annotator
|
||||
|
||||
**EXAMPLE USAGE**:
|
||||
|
||||
```yaml
|
||||
has_or_had_quantity:
|
||||
quantity_value: 15
|
||||
quantity_type: OBJECT_COUNT
|
||||
has_or_had_measurement_unit:
|
||||
unit_type: FACE
|
||||
has_or_had_methodology:
|
||||
methodology_type: ENTITY_RESOLUTION
|
||||
has_or_had_label: "ArcFace clustering"
|
||||
confidence_threshold: 0.6
|
||||
```
|
||||
range: Methodology
|
||||
slot_uri: prov:hadPlan
|
||||
exact_mappings:
|
||||
- prov:hadPlan
|
||||
annotations:
|
||||
rule_53_compliant: true
|
||||
link_branch: 2
|
||||
migration_source: unique_object_count, unique_face_count
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
# has_or_had_opening_hour - Opening hours slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: visiting_hour
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_opening_hour
|
||||
name: has_or_had_opening_hour
|
||||
title: Has or Had Opening Hour
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_opening_hour:
|
||||
slot_uri: schema:openingHoursSpecification
|
||||
description: |
|
||||
Opening hours specification for an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Visiting hours
|
||||
- Research room hours
|
||||
- Service availability
|
||||
|
||||
range: OpeningHour
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- schema:openingHoursSpecification
|
||||
|
||||
examples:
|
||||
- value:
|
||||
day_of_week: "Monday"
|
||||
opens: "10:00"
|
||||
closes: "17:00"
|
||||
description: Monday opening hours
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
# has_or_had_policy slot
|
||||
# Policy association following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Used by TransferEvent class for governing policy
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_policy
|
||||
name: has_or_had_policy_slot
|
||||
title: Has Or Had Policy Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
odrl: http://www.w3.org/ns/odrl/2/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
has_or_had_policy:
|
||||
slot_uri: odrl:hasPolicy
|
||||
description: |
|
||||
Policy that governs or governed an activity or entity.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "hasOrHad" naming follows RiC-O convention indicating
|
||||
the policy association may be historical.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `odrl:hasPolicy` - ODRL policy association
|
||||
- **Related**: `dcterms:accessRights` - Dublin Core access rights
|
||||
|
||||
**Use Cases**:
|
||||
- Transfer policies governing custody changes
|
||||
- Access policies for collections
|
||||
- Retention policies for archives
|
||||
|
||||
**Range**: TransferPolicy (or other policy classes)
|
||||
|
||||
**Cardinality**:
|
||||
Multivalued - entities may be governed by multiple policies.
|
||||
|
||||
range: TransferPolicy
|
||||
required: false
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
related_mappings:
|
||||
- dcterms:accessRights
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "hasOrHad" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "transfer_policy"
|
||||
migration_date: "2026-01-15"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Policy associations apply to all heritage types.
|
||||
specificity_score: 0.45
|
||||
specificity_rationale: Specialized slot for policy governance.
|
||||
|
||||
comments:
|
||||
- "Links entities to governing policies"
|
||||
- "Maps to odrl:hasPolicy for rights/rules"
|
||||
- "RiC-O naming: hasOrHad indicates potentially historical"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
policy_name: "Donor Transfer Restriction"
|
||||
policy_text: "Materials may not be transferred without donor consent."
|
||||
description: "Transfer policy for collection"
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# has_or_had_program - Program association slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: volunteer_program
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_program
|
||||
name: has_or_had_program
|
||||
title: Has or Had Program
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_program:
|
||||
slot_uri: schema:event
|
||||
description: |
|
||||
A program or initiative associated with an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Volunteer programs
|
||||
- Educational programs
|
||||
- Outreach initiatives
|
||||
|
||||
range: Program
|
||||
multivalued: true
|
||||
|
||||
close_mappings:
|
||||
- schema:event
|
||||
|
||||
examples:
|
||||
- value:
|
||||
program_name: "Heritage Volunteer Program"
|
||||
program_type: VOLUNTEER
|
||||
description: Volunteer program at institution
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
# has_or_had_provenance_path - Links provenance to a specific location path (XPath, JSONPath, etc.)
|
||||
# Created per slot_fixes.yaml migration for: xpath
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_provenance_path
|
||||
name: has_or_had_provenance_path_slot
|
||||
title: Has Or Had Provenance Path Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_provenance_path:
|
||||
description: >-
|
||||
Links a provenance record to a specific path expression that identifies
|
||||
the location of the source data within a document.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "has_or_had" naming indicates that path associations can change:
|
||||
- Document structure may change, invalidating old paths
|
||||
- Multiple paths may point to same data over time
|
||||
- Historical paths preserved for audit trail
|
||||
|
||||
**PATH TYPES**:
|
||||
- XPath: For HTML/XML documents
|
||||
- JSONPath: For JSON documents
|
||||
- CSS Selector: For web scraping
|
||||
|
||||
**USAGE**:
|
||||
Typically used within a Provenance class to link the provenance activity
|
||||
to the specific document location from which data was extracted.
|
||||
|
||||
range: XPath
|
||||
slot_uri: prov:atLocation
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- prov:atLocation
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Provenance path tracking applicable wherever document extraction occurs.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.7
|
||||
specificity_rationale: >-
|
||||
High specificity - only relevant for document-based provenance tracking.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_provenance_path:
|
||||
expression: "/html[1]/body[1]/div[3]/h1"
|
||||
matched_text: "Museum Name"
|
||||
match_score: 1.0
|
||||
description: Provenance path pointing to an H1 element in HTML.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces direct xpath slot usage with structured path object
|
||||
- Links Provenance class to XPath class
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
# has_or_had_rationale - Rationale/explanation slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: wikidata_mapping_rationale
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_rationale
|
||||
name: has_or_had_rationale
|
||||
title: Has or Had Rationale
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_rationale:
|
||||
slot_uri: skos:note
|
||||
description: |
|
||||
The rationale or justification for a decision or mapping.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Mapping rationale (why an entity was mapped to Wikidata)
|
||||
- Decision justifications
|
||||
- Explanation notes
|
||||
|
||||
range: string
|
||||
|
||||
exact_mappings:
|
||||
- skos:note
|
||||
|
||||
close_mappings:
|
||||
- prov:wasInfluencedBy
|
||||
|
||||
examples:
|
||||
- value: "Mapped to Q123456 based on exact name match and location verification"
|
||||
description: Wikidata mapping rationale
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
# has_or_had_restriction - Restriction information slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: years_restricted
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_restriction
|
||||
name: has_or_had_restriction
|
||||
title: Has or Had Restriction
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dct: http://purl.org/dc/terms/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_restriction:
|
||||
slot_uri: schema:accessibilityControl
|
||||
description: |
|
||||
Access or use restrictions associated with an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Years restricted (embargo periods)
|
||||
- Access restrictions
|
||||
- Use limitations
|
||||
|
||||
range: Restriction
|
||||
multivalued: true
|
||||
|
||||
close_mappings:
|
||||
- dct:accessRights
|
||||
|
||||
examples:
|
||||
- value:
|
||||
restriction_type: EMBARGO
|
||||
years: 25
|
||||
description: 25-year embargo restriction
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
# has_or_had_scope - Links to scope/coverage information
|
||||
# Created per slot_fixes.yaml migration for: typical_scope, type_scope
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_scope
|
||||
name: has_or_had_scope_slot
|
||||
title: Has Or Had Scope Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dct: http://purl.org/dc/terms/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_scope:
|
||||
description: >-
|
||||
Links to scope or coverage information for a collection, service, or institution.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "has_or_had" naming indicates scope can change:
|
||||
- Collections grow or shrink over time
|
||||
- Service coverage may expand or contract
|
||||
- Geographic scope may shift
|
||||
|
||||
**USE CASES**:
|
||||
- Collection scope (subject areas, time periods, geographic coverage)
|
||||
- Service scope (types of materials handled)
|
||||
- Institutional scope (mandate, mission coverage)
|
||||
|
||||
range: Scope
|
||||
slot_uri: dct:coverage
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- dct:coverage
|
||||
|
||||
close_mappings:
|
||||
- schema:spatialCoverage
|
||||
- schema:temporalCoverage
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Scope information applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: >-
|
||||
Low-moderate specificity - common metadata concept.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_scope:
|
||||
scope_description: "Dutch heritage from 1600-1900"
|
||||
has_or_had_type:
|
||||
type_name: "temporal"
|
||||
description: Temporal scope for a collection.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces typical_scope and type_scope slots
|
||||
- Uses Dublin Core coverage semantics
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# has_or_had_score - Numeric score slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: xpath_match_score
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_score
|
||||
name: has_or_had_score
|
||||
title: Has or Had Score
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_score:
|
||||
slot_uri: schema:ratingValue
|
||||
description: |
|
||||
A numeric score or rating value.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- XPath match confidence scores (0.0-1.0)
|
||||
- Relevance scores
|
||||
- Quality ratings
|
||||
- Similarity scores
|
||||
|
||||
range: float
|
||||
|
||||
close_mappings:
|
||||
- schema:ratingValue
|
||||
|
||||
examples:
|
||||
- value: 0.95
|
||||
description: XPath match confidence score
|
||||
- value: 4.5
|
||||
description: Rating score
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
# has_or_had_security_level - Security level slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: warehouse_security_level
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_security_level
|
||||
name: has_or_had_security_level
|
||||
title: Has or Had Security Level
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_security_level:
|
||||
slot_uri: schema:securityScreening
|
||||
description: |
|
||||
Security classification or level of a resource or location.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Warehouse security levels
|
||||
- Document classification levels
|
||||
- Access control tiers
|
||||
|
||||
range: SecurityLevel
|
||||
|
||||
close_mappings:
|
||||
- schema:securityScreening
|
||||
|
||||
examples:
|
||||
- value:
|
||||
level_code: "HIGH"
|
||||
level_name: "High Security"
|
||||
description: High security level designation
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# has_or_had_service - Service association slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: visitor_service
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_service
|
||||
name: has_or_had_service
|
||||
title: Has or Had Service
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_service:
|
||||
slot_uri: schema:availableService
|
||||
description: |
|
||||
A service offered by an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Visitor services (guided tours, audio guides)
|
||||
- Research services
|
||||
- Conservation services
|
||||
|
||||
range: Service
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- schema:availableService
|
||||
|
||||
examples:
|
||||
- value:
|
||||
service_name: "Guided Tours"
|
||||
service_type: VISITOR
|
||||
description: Guided tour service
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# has_or_had_text - Text content slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: xpath_matched_text
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_text
|
||||
name: has_or_had_text
|
||||
title: Has or Had Text
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_text:
|
||||
slot_uri: schema:text
|
||||
description: |
|
||||
Text content associated with an entity.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Matched text segments from XPath queries
|
||||
- Text content of elements
|
||||
- Extracted text strings
|
||||
|
||||
range: string
|
||||
|
||||
exact_mappings:
|
||||
- schema:text
|
||||
|
||||
examples:
|
||||
- value: "The museum collection includes..."
|
||||
description: Text extracted from webpage
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
# has_or_had_time_interval - Links to a time interval/duration
|
||||
# Created per slot_fixes.yaml migration for: update_frequency, typical_approval_time, total_revenue
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_time_interval
|
||||
name: has_or_had_time_interval_slot
|
||||
title: Has Or Had Time Interval Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
schema: http://schema.org/
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_time_interval:
|
||||
description: >-
|
||||
Links to a time interval or duration associated with this entity.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "has_or_had" naming indicates that time interval associations can change:
|
||||
- Update frequencies may be revised
|
||||
- Approval times may change with policy updates
|
||||
- Reporting periods may vary
|
||||
|
||||
**USE CASES**:
|
||||
- Update frequency: How often data is refreshed
|
||||
- Approval time: Expected processing duration
|
||||
- Reporting period: Time period for metrics/revenue
|
||||
|
||||
range: TimeInterval
|
||||
slot_uri: time:hasDuration
|
||||
inlined: true
|
||||
|
||||
exact_mappings:
|
||||
- time:hasDuration
|
||||
|
||||
close_mappings:
|
||||
- schema:duration
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Time interval associations applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal temporal relationship.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
has_or_had_time_interval:
|
||||
duration_value: "P7D"
|
||||
duration_description: "weekly"
|
||||
description: Weekly update interval.
|
||||
|
||||
- value: |
|
||||
has_or_had_time_interval:
|
||||
duration_value: "P1Y"
|
||||
duration_description: "annual reporting period"
|
||||
description: Annual time interval for revenue reporting.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces string-based duration fields with structured TimeInterval
|
||||
- Uses W3C Time Ontology for duration semantics
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
# has_or_had_url slot
|
||||
# URL association following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migrations per slot_fixes.yaml:
|
||||
# - website → has_or_had_url + URL
|
||||
# - url → has_or_had_url + URL
|
||||
# - vendor_url → has_or_had_url + URL
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_url
|
||||
name: has_or_had_url_slot
|
||||
title: Has Or Had URL Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
foaf: http://xmlns.com/foaf/0.1/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
has_or_had_url:
|
||||
slot_uri: schema:url
|
||||
description: |
|
||||
URL associated with this entity.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "hasOrHad" naming follows RiC-O convention indicating this
|
||||
URL may be historical - websites change over time.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `schema:url` - Schema.org URL
|
||||
- **Exact**: `foaf:homepage` - FOAF homepage (for main websites)
|
||||
|
||||
**Use Cases**:
|
||||
- Institution websites (type: website)
|
||||
- API endpoints (type: api)
|
||||
- Vendor/supplier websites (type: vendor)
|
||||
- Documentation links (type: documentation)
|
||||
|
||||
**Range**: URL class (structured URL with type and metadata)
|
||||
|
||||
**Cardinality**:
|
||||
Multivalued - entities may have multiple URLs (different types).
|
||||
|
||||
range: URL
|
||||
required: false
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
exact_mappings:
|
||||
- foaf:homepage
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "hasOrHad" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "website, url, vendor_url"
|
||||
migration_date: "2026-01-15"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: URLs apply to all heritage custodian types.
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: Generic URL slot applicable across all contexts.
|
||||
|
||||
comments:
|
||||
- "Generic URL association slot"
|
||||
- "Maps to schema:url for web addresses"
|
||||
- "Temporal: URLs may change over time"
|
||||
- "RiC-O naming: hasOrHad indicates potentially historical"
|
||||
- "Replaces website, url, vendor_url per slot_fixes.yaml"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
url_value: "https://www.rijksmuseum.nl/"
|
||||
url_type: website
|
||||
description: "Official website for Rijksmuseum"
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
# has_or_had_writing_system - Writing system slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: writing_system
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/has_or_had_writing_system
|
||||
name: has_or_had_writing_system
|
||||
title: Has or Had Writing System
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
has_or_had_writing_system:
|
||||
slot_uri: schema:inLanguage
|
||||
description: |
|
||||
The writing system or script used.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Script type (Latin, Cyrillic, Arabic, etc.)
|
||||
- Writing direction (LTR, RTL)
|
||||
- Historical scripts (Cuneiform, Hieroglyphics)
|
||||
|
||||
range: WritingSystem
|
||||
|
||||
close_mappings:
|
||||
- schema:inLanguage
|
||||
|
||||
examples:
|
||||
- value:
|
||||
script_code: "Latn"
|
||||
script_name: "Latin"
|
||||
description: Latin writing system
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# is_or_was_derived_from - Derivation relationship slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: was_derived_from
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_derived_from
|
||||
name: is_or_was_derived_from
|
||||
title: Is or Was Derived From
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
is_or_was_derived_from:
|
||||
slot_uri: prov:wasDerivedFrom
|
||||
description: |
|
||||
Links an entity to another entity from which it was derived.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Linking derived datasets to source datasets
|
||||
- Tracking data transformations
|
||||
- Establishing provenance chains
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- slot_uri: prov:wasDerivedFrom (PROV-O derivation relationship)
|
||||
|
||||
range: uriorcurie
|
||||
|
||||
exact_mappings:
|
||||
- prov:wasDerivedFrom
|
||||
|
||||
examples:
|
||||
- value: https://nde.nl/dataset/source-123
|
||||
description: Source dataset this was derived from
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
# is_or_was_equivalent_to slot
|
||||
# Semantic equivalence relationship following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migration: wikidata_equivalent → is_or_was_equivalent_to + WikiDataEntry
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_equivalent_to
|
||||
name: is_or_was_equivalent_to_slot
|
||||
title: Is Or Was Equivalent To Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
owl: http://www.w3.org/2002/07/owl#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
is_or_was_equivalent_to:
|
||||
slot_uri: skos:exactMatch
|
||||
description: |
|
||||
Semantic equivalence with another entity (typically Wikidata).
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "isOrWas" naming follows RiC-O convention indicating this
|
||||
equivalence may be historical - concepts may diverge over time.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `skos:exactMatch` - SKOS exact match
|
||||
for semantic equivalence between concepts
|
||||
- **Related**: `owl:sameAs` - OWL identity (stronger claim)
|
||||
- **Related**: `schema:sameAs` - Schema.org identity
|
||||
|
||||
**Distinction from is_or_was_related_to**:
|
||||
- `is_or_was_equivalent_to`: Semantic identity (same concept)
|
||||
- `is_or_was_related_to`: Associative (related but distinct)
|
||||
|
||||
**Use Case**:
|
||||
Links a heritage custodian type or concept to its Wikidata equivalent.
|
||||
Example: Our "Museum" type is equivalent to Wikidata Q33506.
|
||||
|
||||
**Cardinality**:
|
||||
Multivalued - an entity may have equivalences in multiple systems.
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
|
||||
exact_mappings:
|
||||
- skos:exactMatch
|
||||
|
||||
related_mappings:
|
||||
- owl:sameAs
|
||||
- schema:sameAs
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "isOrWas" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "wikidata_equivalent"
|
||||
migration_date: "2026-01-15"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Equivalence mappings apply to all heritage types.
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: Generic alignment slot for ontology interoperability.
|
||||
|
||||
comments:
|
||||
- "Maps to skos:exactMatch for semantic equivalence"
|
||||
- "Stronger than is_or_was_related_to (associative)"
|
||||
- "Weaker than owl:sameAs (doesn't claim absolute identity)"
|
||||
- "RiC-O naming: isOrWas indicates potentially historical relationship"
|
||||
- "Replaces wikidata_equivalent per slot_fixes.yaml"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
- "Q33506"
|
||||
description: "Wikidata equivalence for museum concept"
|
||||
- value:
|
||||
- "Q166118"
|
||||
description: "Wikidata equivalence for archive concept"
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# is_or_was_generated_by - Generation relationship slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: was_generated_by
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_generated_by
|
||||
name: is_or_was_generated_by
|
||||
title: Is or Was Generated By
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
is_or_was_generated_by:
|
||||
slot_uri: prov:wasGeneratedBy
|
||||
description: |
|
||||
Links an entity to the activity that generated it.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Linking records to generation activities
|
||||
- Tracking automated processing
|
||||
- Provenance chains
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- slot_uri: prov:wasGeneratedBy (PROV-O generation relationship)
|
||||
|
||||
range: uriorcurie
|
||||
|
||||
exact_mappings:
|
||||
- prov:wasGeneratedBy
|
||||
|
||||
examples:
|
||||
- value: https://nde.nl/activity/import-2024
|
||||
description: Activity that generated this record
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
# is_or_was_instance_of slot
|
||||
# Instance/type classification relationship following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migrations:
|
||||
# - wikidata_class → is_or_was_instance_of + WikiDataEntry
|
||||
# - wikidata → is_or_was_instance_of + WikiDataEntry
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_instance_of
|
||||
name: is_or_was_instance_of_slot
|
||||
title: Is Or Was Instance Of Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
||||
wdt: http://www.wikidata.org/prop/direct/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
is_or_was_instance_of:
|
||||
slot_uri: rdf:type
|
||||
description: |
|
||||
Classification indicating entity is an instance of a type/class.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "isOrWas" naming follows RiC-O convention indicating this
|
||||
classification may be historical - entities may change type over time.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `rdf:type` - RDF type assertion
|
||||
- **Exact**: `wdt:P31` - Wikidata "instance of" property
|
||||
- **Related**: `schema:additionalType` - Schema.org additional type
|
||||
|
||||
**Distinction from other relationships**:
|
||||
- `is_or_was_instance_of`: This entity IS A [type] (classification)
|
||||
- `is_or_was_equivalent_to`: This entity EQUALS [concept] (equivalence)
|
||||
- `is_or_was_related_to`: This entity RELATES TO [concept] (association)
|
||||
|
||||
**Use Cases**:
|
||||
- Heritage custodian classified as Wikidata type (Q33506 museum)
|
||||
- Building classified as architectural type
|
||||
- Collection classified as collection type
|
||||
|
||||
**Heritage Example**:
|
||||
Rijksmuseum (Q190804) is_or_was_instance_of museum (Q33506)
|
||||
|
||||
**Cardinality**:
|
||||
Multivalued - entities may have multiple classifications.
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: true
|
||||
inlined_as_list: true
|
||||
|
||||
exact_mappings:
|
||||
- wdt:P31
|
||||
|
||||
related_mappings:
|
||||
- schema:additionalType
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "isOrWas" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "wikidata_class, wikidata"
|
||||
migration_date: "2026-01-15"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Type classification applies to all heritage types.
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic classification slot used across all contexts.
|
||||
|
||||
comments:
|
||||
- "Maps to rdf:type for type/class assertion"
|
||||
- "Wikidata equivalent: P31 (instance of)"
|
||||
- "Temporal: institutions may change classification over time"
|
||||
- "RiC-O naming: isOrWas indicates potentially historical relationship"
|
||||
- "Replaces wikidata_class and wikidata per slot_fixes.yaml"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
- "Q33506"
|
||||
description: "Instance of museum (Wikidata class)"
|
||||
- value:
|
||||
- "Q7075"
|
||||
description: "Instance of library (Wikidata class)"
|
||||
- value:
|
||||
- "Q166118"
|
||||
description: "Instance of archive (Wikidata class)"
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
# is_or_was_located_within - Links an entity to a containing place
|
||||
# Created per slot_fixes.yaml migration for: within_place, within_auxiliary_place
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_located_within
|
||||
name: is_or_was_located_within_slot
|
||||
title: Is Or Was Located Within Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
gn: http://www.geonames.org/ontology#
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
is_or_was_located_within:
|
||||
description: >-
|
||||
Links an entity to a place that contains or contained it.
|
||||
|
||||
**TEMPORAL SEMANTICS** (RiC-O style):
|
||||
The "is_or_was" naming indicates that containment can change:
|
||||
- Institutions may relocate to different cities
|
||||
- Administrative boundaries may be redrawn
|
||||
- Historical locations preserved for provenance
|
||||
|
||||
**USE CASES**:
|
||||
- Institution within a city/region
|
||||
- Collection within a building/room
|
||||
- Archive within an administrative area
|
||||
|
||||
**REPLACES**:
|
||||
- `within_place` (primary location containment)
|
||||
- `within_auxiliary_place` (secondary location containment)
|
||||
|
||||
range: Place
|
||||
slot_uri: schema:containedInPlace
|
||||
inlined: true
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- schema:containedInPlace
|
||||
|
||||
close_mappings:
|
||||
- gn:parentFeature
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: >-
|
||||
Location containment applicable to all custodian types.
|
||||
custodian_types_primary: "*"
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: >-
|
||||
Low specificity - universal geographic relationship.
|
||||
|
||||
examples:
|
||||
- value: |
|
||||
is_or_was_located_within:
|
||||
- place_name: "Amsterdam"
|
||||
place_type: "settlement"
|
||||
geonames_id: 2759794
|
||||
description: Institution located within Amsterdam.
|
||||
|
||||
- value: |
|
||||
is_or_was_located_within:
|
||||
- place_name: "Noord-Holland"
|
||||
place_type: "region"
|
||||
iso_code: "NL-NH"
|
||||
- place_name: "Netherlands"
|
||||
place_type: "country"
|
||||
iso_code: "NL"
|
||||
description: Multiple containment levels for an institution.
|
||||
|
||||
comments:
|
||||
- Created from slot_fixes.yaml migration (2026-01-14)
|
||||
- Replaces within_place and within_auxiliary_place slots
|
||||
- Supports multiple containment relationships (multivalued)
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
# is_or_was_managed_by - Management relationship slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: warehouse_managed_by
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_managed_by
|
||||
name: is_or_was_managed_by
|
||||
title: Is or Was Managed By
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
org: http://www.w3.org/ns/org#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
is_or_was_managed_by:
|
||||
slot_uri: org:hasMember
|
||||
description: |
|
||||
Links an entity to the group or organization that manages it.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Warehouse management groups
|
||||
- Team assignments
|
||||
- Organizational responsibility
|
||||
|
||||
range: uriorcurie
|
||||
|
||||
close_mappings:
|
||||
- org:hasMember
|
||||
- schema:member
|
||||
|
||||
examples:
|
||||
- value: https://nde.nl/group/storage-team
|
||||
description: Group managing a warehouse
|
||||
|
|
@ -4,8 +4,12 @@
|
|||
# Following RiC-O naming convention (Rule 39): "isOrWas..." pattern
|
||||
# for temporal relationships in heritage domain.
|
||||
#
|
||||
# Generation date: 2026-01-13
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix)
|
||||
# Generation date: 2026-01-13 (updated 2026-01-15)
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 42 (no prefix), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migrations per slot_fixes.yaml:
|
||||
# - wikidata_mapping → is_or_was_related_to + WikiDataEntry
|
||||
# - wikidata_alignment → is_or_was_related_to + WikiDataEntry
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_related_to
|
||||
name: is_or_was_related_to_slot
|
||||
|
|
@ -68,8 +72,12 @@ slots:
|
|||
rico_naming_convention: |
|
||||
Follows RiC-O "isOrWas" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "storage_type_related"
|
||||
migration_date: "2026-01-13"
|
||||
replaces_slots: "storage_type_related, wikidata_mapping, wikidata_alignment"
|
||||
migration_date: "2026-01-15"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Associative relationships apply to all heritage types.
|
||||
specificity_score: 0.25
|
||||
specificity_rationale: Generic relationship slot for non-hierarchical associations.
|
||||
|
||||
comments:
|
||||
- "Generic association slot for non-hierarchical relationships"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
# is_or_was_revision_of - Revision relationship slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: was_revision_of
|
||||
# Creation date: 2026-01-14
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_revision_of
|
||||
name: is_or_was_revision_of
|
||||
title: Is or Was Revision Of
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
is_or_was_revision_of:
|
||||
slot_uri: prov:wasRevisionOf
|
||||
description: |
|
||||
Links an entity to a previous version it revises.
|
||||
|
||||
**USAGE**:
|
||||
Used for:
|
||||
- Document revisions
|
||||
- Record updates
|
||||
- Version chains
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- slot_uri: prov:wasRevisionOf (PROV-O revision relationship)
|
||||
|
||||
range: uriorcurie
|
||||
|
||||
exact_mappings:
|
||||
- prov:wasRevisionOf
|
||||
|
||||
examples:
|
||||
- value: https://nde.nl/record/123/v1
|
||||
description: Previous version of record
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
# is_or_was_transferred slot
|
||||
# Transfer event relationship following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migrations per slot_fixes.yaml:
|
||||
# - transfer_to_collection_date → is_or_was_transferred + TransferEvent
|
||||
# - transfer_policy → is_or_was_transferred + TransferEvent
|
||||
# - transfer_location_text → is_or_was_transferred + TransferEvent
|
||||
# - transfer_location → is_or_was_transferred + TransferEvent
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_transferred
|
||||
name: is_or_was_transferred_slot
|
||||
title: Is Or Was Transferred Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
rico: https://www.ica.org/standards/RiC/ontology#
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
is_or_was_transferred:
|
||||
slot_uri: rico:isOrWasAffectedBy
|
||||
description: |
|
||||
Links an entity to a transfer event that affected it.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "isOrWas" naming follows RiC-O convention indicating this
|
||||
transfer may be historical.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `rico:isOrWasAffectedBy` - RiC-O affected by
|
||||
(entity affected by an event)
|
||||
- **Related**: `crm:P30_transferred_custody_of` - CIDOC-CRM custody transfer
|
||||
- **Related**: `prov:wasInfluencedBy` - PROV-O influence
|
||||
|
||||
**Use Cases**:
|
||||
- Collection items transferred between institutions
|
||||
- Archive holdings relocated to new facility
|
||||
- Custody transfer of heritage materials
|
||||
|
||||
**Range**: TransferEvent class (structured transfer with dates, locations, policy)
|
||||
|
||||
**Cardinality**:
|
||||
Multivalued - entities may have been transferred multiple times.
|
||||
|
||||
range: TransferEvent
|
||||
required: false
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
related_mappings:
|
||||
- crm:P30_transferred_custody_of
|
||||
- prov:wasInfluencedBy
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "isOrWas" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "transfer_to_collection_date, transfer_policy, transfer_location_text, transfer_location"
|
||||
migration_date: "2026-01-15"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Transfer events apply to all heritage custodian types.
|
||||
specificity_score: 0.5
|
||||
specificity_rationale: Specialized event relationship for custody/ownership changes.
|
||||
|
||||
comments:
|
||||
- "Links entity to transfer events"
|
||||
- "Maps to rico:isOrWasAffectedBy for event-entity relationship"
|
||||
- "Temporal: transfers are historical events"
|
||||
- "RiC-O naming: isOrWas indicates historical relationship"
|
||||
- "Replaces transfer_* slots per slot_fixes.yaml"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
temporal_extent:
|
||||
begin_of_the_begin:
|
||||
timestamp_value: "2020-01-15T00:00:00Z"
|
||||
ends_or_ended_at_location:
|
||||
location_name: "New Archive Building"
|
||||
description: "Collection transfer to new facility"
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
# is_or_was_webarchived_at slot
|
||||
# Web archive URL following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Supports migration per slot_fixes.yaml:
|
||||
# - was_archived_at → is_or_was_webarchived_at + URL
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/is_or_was_webarchived_at
|
||||
name: is_or_was_webarchived_at_slot
|
||||
title: Is Or Was Webarchived At Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
is_or_was_webarchived_at:
|
||||
slot_uri: prov:alternateOf
|
||||
description: |
|
||||
URL to a web archive snapshot of this entity's content.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "isOrWas" naming follows RiC-O convention. Web archives
|
||||
capture content at a specific point in time.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `prov:alternateOf` - PROV-O alternate
|
||||
representation (archived version of original)
|
||||
- **Related**: `schema:archivedAt` - Schema.org archived location
|
||||
|
||||
**Web Archive Services**:
|
||||
- Internet Archive Wayback Machine: web.archive.org
|
||||
- Archive.today: archive.ph
|
||||
- UK Web Archive: webarchive.org.uk
|
||||
- National library web archives
|
||||
|
||||
**Range**: URL class (structured URL with type and metadata)
|
||||
|
||||
**Provenance Value**:
|
||||
Essential for data verification - archived snapshots prove
|
||||
content existed at extraction time.
|
||||
|
||||
**Cardinality**:
|
||||
Multivalued - content may be archived at multiple services/times.
|
||||
|
||||
range: URL
|
||||
required: false
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
related_mappings:
|
||||
- schema:archivedAt
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "isOrWas" pattern for temporal predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
replaces_slots: "was_archived_at"
|
||||
migration_date: "2026-01-15"
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Web archiving applies to all heritage types.
|
||||
specificity_score: 0.3
|
||||
specificity_rationale: Specialized for provenance/archival contexts.
|
||||
|
||||
comments:
|
||||
- "Links to web archive snapshots"
|
||||
- "Maps to prov:alternateOf for archived representation"
|
||||
- "Essential for data provenance verification"
|
||||
- "RiC-O naming: isOrWas indicates temporal snapshot"
|
||||
- "Replaces was_archived_at per slot_fixes.yaml"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
url_value: "https://web.archive.org/web/20240101120000/https://www.rijksmuseum.nl/"
|
||||
url_type: webarchive
|
||||
description: "Wayback Machine snapshot of Rijksmuseum website"
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
# location_name slot
|
||||
# Human-readable name for a geographic location
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 51 (no hallucinated refs)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/location_name
|
||||
name: location_name_slot
|
||||
title: Location Name Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
locn: http://www.w3.org/ns/locn#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
location_name:
|
||||
slot_uri: schema:name
|
||||
description: |
|
||||
Human-readable name for a geographic location.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `schema:name` - Schema.org name
|
||||
- **Exact**: `rdfs:label` - RDF Schema label
|
||||
- **Related**: `locn:geographicName` - LOCN geographic name
|
||||
|
||||
**Usage**:
|
||||
Primary identifier for Location instances. Should be
|
||||
human-readable and unambiguous where possible.
|
||||
|
||||
**Examples**:
|
||||
- "Rijksmuseum Amsterdam"
|
||||
- "Noord-Hollands Archief, Haarlem"
|
||||
- "Depot Boerhaave, Leiden"
|
||||
|
||||
range: string
|
||||
required: true
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- rdfs:label
|
||||
|
||||
related_mappings:
|
||||
- locn:geographicName
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Location names apply to all heritage types.
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic name slot for locations.
|
||||
|
||||
examples:
|
||||
- value: "Rijksmuseum Amsterdam"
|
||||
description: "Museum location"
|
||||
- value: "Noord-Hollands Archief, Haarlem"
|
||||
description: "Archive location with city"
|
||||
|
|
@ -1,13 +1,12 @@
|
|||
{
|
||||
"files": [
|
||||
"accepts_or_accepted.yaml",
|
||||
"accepts_or_accepted_external_work.yaml",
|
||||
"accepts_or_accepted_payment_method.yaml",
|
||||
"accepts_or_accepted_visiting_scholar.yaml",
|
||||
"activity_id.yaml",
|
||||
|
||||
"affects_or_affected.yaml",
|
||||
"aggregates_or_aggregated_from.yaml",
|
||||
"is_or_was_real.yaml",
|
||||
"allocates_or_allocated.yaml",
|
||||
"allows_or_allowed.yaml",
|
||||
"api_available.yaml",
|
||||
|
|
@ -18,21 +17,19 @@
|
|||
"archive_branches.yaml",
|
||||
"archive_series.yaml",
|
||||
"archived_at.yaml",
|
||||
|
||||
"asserted_by.yaml",
|
||||
"asserts_or_asserted.yaml",
|
||||
"audio_event_segments.yaml",
|
||||
"authors.yaml",
|
||||
"auto_generated.yaml",
|
||||
"auxiliary_places.yaml",
|
||||
"auxiliary_platform_id.yaml",
|
||||
"auxiliary_platforms.yaml",
|
||||
|
||||
"backup_status.yaml",
|
||||
"base_surname.yaml",
|
||||
"bay_number.yaml",
|
||||
"begin_of_the_begin.yaml",
|
||||
"begin_of_the_end.yaml",
|
||||
"has_or_had_beneficiary.yaml",
|
||||
"benefit.yaml",
|
||||
"bibframe_equivalent.yaml",
|
||||
"binding.yaml",
|
||||
|
|
@ -48,7 +45,6 @@
|
|||
"bounding_box.yaml",
|
||||
"box_number.yaml",
|
||||
"branch_description.yaml",
|
||||
"has_or_had_head.yaml",
|
||||
"branch_id.yaml",
|
||||
"branch_name.yaml",
|
||||
"branch_office_description.yaml",
|
||||
|
|
@ -66,6 +62,7 @@
|
|||
"business_model.yaml",
|
||||
"cached_token.yaml",
|
||||
"cadastral_id.yaml",
|
||||
"calendar_system.yaml",
|
||||
"call_description.yaml",
|
||||
"call_id.yaml",
|
||||
"call_identifier.yaml",
|
||||
|
|
@ -357,6 +354,8 @@
|
|||
"derived_from_observation.yaml",
|
||||
"description.yaml",
|
||||
"description_section.yaml",
|
||||
"description_text.yaml",
|
||||
"description_type.yaml",
|
||||
"detection_count.yaml",
|
||||
"detection_level.yaml",
|
||||
"detection_threshold.yaml",
|
||||
|
|
@ -447,6 +446,7 @@
|
|||
"ended_at_time.yaml",
|
||||
"endorsement_source.yaml",
|
||||
"endowment_draw.yaml",
|
||||
"ends_or_ended_at_location.yaml",
|
||||
"engagement_rate.yaml",
|
||||
"enriched_date.yaml",
|
||||
"enrichment_metadata_whatsapp.yaml",
|
||||
|
|
@ -674,7 +674,6 @@
|
|||
"has_agent_type.yaml",
|
||||
"has_agreement_signed_date.yaml",
|
||||
"has_air_changes_per_hour.yaml",
|
||||
|
||||
"has_allocation_date.yaml",
|
||||
"has_alpha_2_code.yaml",
|
||||
"has_alpha_3_code.yaml",
|
||||
|
|
@ -797,7 +796,6 @@
|
|||
"has_or_had_activity_or_society_membership.yaml",
|
||||
"has_or_had_address.yaml",
|
||||
"has_or_had_admin_staff_count.yaml",
|
||||
"has_or_had_function.yaml",
|
||||
"has_or_had_admission_fee.yaml",
|
||||
"has_or_had_affected_territory.yaml",
|
||||
"has_or_had_affected_unit.yaml",
|
||||
|
|
@ -827,8 +825,10 @@
|
|||
"has_or_had_audience_size.yaml",
|
||||
"has_or_had_audit_status.yaml",
|
||||
"has_or_had_based_on_observation.yaml",
|
||||
"has_or_had_beneficiary.yaml",
|
||||
"has_or_had_category_assessment.yaml",
|
||||
"has_or_had_chapter.yaml",
|
||||
"has_or_had_code.yaml",
|
||||
"has_or_had_collection.yaml",
|
||||
"has_or_had_collection_narrower_type.yaml",
|
||||
"has_or_had_comment_reply.yaml",
|
||||
|
|
@ -865,7 +865,10 @@
|
|||
"has_or_had_featured_object.yaml",
|
||||
"has_or_had_finding_aid.yaml",
|
||||
"has_or_had_fond.yaml",
|
||||
"has_or_had_format.yaml",
|
||||
"has_or_had_function.yaml",
|
||||
"has_or_had_generate.yaml",
|
||||
"has_or_had_head.yaml",
|
||||
"has_or_had_holds_record_set_type.yaml",
|
||||
"has_or_had_ich_safeguarding_measure.yaml",
|
||||
"has_or_had_identify.yaml",
|
||||
|
|
@ -895,6 +898,7 @@
|
|||
"has_or_had_participated_in_event.yaml",
|
||||
"has_or_had_participated_in_project.yaml",
|
||||
"has_or_had_period.yaml",
|
||||
"has_or_had_policy.yaml",
|
||||
"has_or_had_portal_data_source.yaml",
|
||||
"has_or_had_post_type.yaml",
|
||||
"has_or_had_powered_by_cm.yaml",
|
||||
|
|
@ -903,6 +907,7 @@
|
|||
"has_or_had_product_category.yaml",
|
||||
"has_or_had_project.yaml",
|
||||
"has_or_had_provenance_event.yaml",
|
||||
"has_or_had_provenance_path.yaml",
|
||||
"has_or_had_registered_dataset.yaml",
|
||||
"has_or_had_registration_number.yaml",
|
||||
"has_or_had_related_activity.yaml",
|
||||
|
|
@ -916,6 +921,7 @@
|
|||
"has_or_had_resulting_unit.yaml",
|
||||
"has_or_had_safeguard.yaml",
|
||||
"has_or_had_scene_segment.yaml",
|
||||
"has_or_had_scope.yaml",
|
||||
"has_or_had_secondary_label.yaml",
|
||||
"has_or_had_secondary_system.yaml",
|
||||
"has_or_had_section_link.yaml",
|
||||
|
|
@ -939,9 +945,11 @@
|
|||
"has_or_had_text_region.yaml",
|
||||
"has_or_had_text_segment.yaml",
|
||||
"has_or_had_thematic_route.yaml",
|
||||
"has_or_had_time_interval.yaml",
|
||||
"has_or_had_tracked_in_cm.yaml",
|
||||
"has_or_had_transmission_method.yaml",
|
||||
"has_or_had_unit.yaml",
|
||||
"has_or_had_url.yaml",
|
||||
"has_or_had_used_source.yaml",
|
||||
"has_or_had_web_claim.yaml",
|
||||
"has_outdoor_seating.yaml",
|
||||
|
|
@ -1021,11 +1029,11 @@
|
|||
"implements_auxiliary_platform.yaml",
|
||||
"implements_digital_platform.yaml",
|
||||
"inbound_from.yaml",
|
||||
"includes_or_included.yaml",
|
||||
"includes_bounding_box.yaml",
|
||||
"includes_handwriting.yaml",
|
||||
"includes_music_description.yaml",
|
||||
"includes_object_tracking.yaml",
|
||||
"includes_or_included.yaml",
|
||||
"includes_segmentation_mask.yaml",
|
||||
"includes_sound_description.yaml",
|
||||
"includes_speaker.yaml",
|
||||
|
|
@ -1087,11 +1095,17 @@
|
|||
"is_or_was_associated_with.yaml",
|
||||
"is_or_was_collection_of.yaml",
|
||||
"is_or_was_encompassed_by.yaml",
|
||||
"is_or_was_equivalent_to.yaml",
|
||||
"is_or_was_instance_of.yaml",
|
||||
"is_or_was_located_within.yaml",
|
||||
"is_or_was_member_of.yaml",
|
||||
"is_or_was_part_of_archive_series.yaml",
|
||||
"is_or_was_platform_of.yaml",
|
||||
"is_or_was_real.yaml",
|
||||
"is_or_was_sub_collection_of.yaml",
|
||||
"is_or_was_suborganization_of.yaml",
|
||||
"is_or_was_transferred.yaml",
|
||||
"is_or_was_webarchived_at.yaml",
|
||||
"is_overlapping.yaml",
|
||||
"is_part_of_complex.yaml",
|
||||
"is_permanent.yaml",
|
||||
|
|
@ -1214,6 +1228,7 @@
|
|||
"located_at.yaml",
|
||||
"location.yaml",
|
||||
"location_browse_score.yaml",
|
||||
"location_name.yaml",
|
||||
"logo_bbox.yaml",
|
||||
"logo_confidence.yaml",
|
||||
"logo_label.yaml",
|
||||
|
|
@ -1473,6 +1488,7 @@
|
|||
"policy_id.yaml",
|
||||
"policy_name.yaml",
|
||||
"policy_review_date.yaml",
|
||||
"policy_text.yaml",
|
||||
"portal_description.yaml",
|
||||
"portal_id.yaml",
|
||||
"portal_language.yaml",
|
||||
|
|
@ -1569,6 +1585,7 @@
|
|||
"provenance_text.yaml",
|
||||
"provider.yaml",
|
||||
"provides_access_to.yaml",
|
||||
"provides_or_provided_provenance_to.yaml",
|
||||
"public_access.yaml",
|
||||
"public_education.yaml",
|
||||
"publication_activity.yaml",
|
||||
|
|
@ -1840,6 +1857,7 @@
|
|||
"start_seconds.yaml",
|
||||
"start_time.yaml",
|
||||
"started_at_time.yaml",
|
||||
"starts_or_started_at_location.yaml",
|
||||
"statement_currency.yaml",
|
||||
"statement_description.yaml",
|
||||
"statement_id.yaml",
|
||||
|
|
@ -1928,6 +1946,8 @@
|
|||
"threat.yaml",
|
||||
"thumbnail_url.yaml",
|
||||
"time_of_destruction.yaml",
|
||||
"timestamp_precision.yaml",
|
||||
"timestamp_value.yaml",
|
||||
"title.yaml",
|
||||
"title_en.yaml",
|
||||
"title_nl.yaml",
|
||||
|
|
@ -1996,6 +2016,8 @@
|
|||
"update_frequency.yaml",
|
||||
"updated_at.yaml",
|
||||
"url.yaml",
|
||||
"url_type.yaml",
|
||||
"url_value.yaml",
|
||||
"used.yaml",
|
||||
"used_by.yaml",
|
||||
"used_by_custodian.yaml",
|
||||
|
|
@ -2045,14 +2067,17 @@
|
|||
"wikidata.yaml",
|
||||
"wikidata_alignment.yaml",
|
||||
"wikidata_class.yaml",
|
||||
"wikidata_description.yaml",
|
||||
"wikidata_entity.yaml",
|
||||
"wikidata_entity_id.yaml",
|
||||
"wikidata_entity_label.yaml",
|
||||
"wikidata_equivalent.yaml",
|
||||
"wikidata_id.yaml",
|
||||
"wikidata_label.yaml",
|
||||
"wikidata_mapping.yaml",
|
||||
"wikidata_mapping_rationale.yaml",
|
||||
"wikidata_mapping_type.yaml",
|
||||
"wikidata_qid.yaml",
|
||||
"within_auxiliary_place.yaml",
|
||||
"within_place.yaml",
|
||||
"word_count.yaml",
|
||||
|
|
@ -2068,5 +2093,6 @@
|
|||
"zone_id.yaml",
|
||||
"zone_name.yaml",
|
||||
"zone_type.yaml"
|
||||
]
|
||||
],
|
||||
"total_count": 2093
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
# policy_text slot
|
||||
# Full text content of a policy document
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 51 (no hallucinated refs)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/policy_text
|
||||
name: policy_text_slot
|
||||
title: Policy Text Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
policy_text:
|
||||
slot_uri: schema:text
|
||||
description: |
|
||||
Full text content of a policy document.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `schema:text` - Schema.org text content
|
||||
- **Related**: `dcterms:description` - Dublin Core description
|
||||
|
||||
**Usage**:
|
||||
Contains the complete policy text. For very long policies,
|
||||
this may contain a summary with reference to full document.
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
related_mappings:
|
||||
- dcterms:description
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Policy text applies to all heritage types.
|
||||
specificity_score: 0.4
|
||||
specificity_rationale: Specialized slot for policy documentation.
|
||||
|
||||
examples:
|
||||
- value: "Materials may not be transferred to institutions outside the Netherlands without donor consent."
|
||||
description: "Transfer restriction policy text"
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
# provides_or_provided_provenance_to - Provenance relationship slot
|
||||
#
|
||||
# Created per slot_fixes.yaml migration for: used_by, used
|
||||
# Creation date: 2026-01-14
|
||||
# Rule compliance: 39 (RiC-O naming), 50 (ontology mapping)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/provides_or_provided_provenance_to
|
||||
name: provides_or_provided_provenance_to
|
||||
title: Provides or Provided Provenance To
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
slots:
|
||||
provides_or_provided_provenance_to:
|
||||
slot_uri: prov:wasUsedBy
|
||||
description: |
|
||||
Links an entity to activities or other entities that used it.
|
||||
|
||||
**USAGE**:
|
||||
Used to express provenance relationships:
|
||||
- "This dataset was used by this research project"
|
||||
- "This tool was used by this digitization activity"
|
||||
|
||||
**ONTOLOGY ALIGNMENT**:
|
||||
- slot_uri: prov:wasUsedBy (PROV-O usage relationship)
|
||||
- Inverse of prov:used
|
||||
|
||||
range: uriorcurie
|
||||
multivalued: true
|
||||
|
||||
exact_mappings:
|
||||
- prov:wasUsedBy
|
||||
|
||||
close_mappings:
|
||||
- prov:wasGeneratedBy
|
||||
|
||||
examples:
|
||||
- value: https://nde.nl/activity/digitization-2024
|
||||
description: Entity used by a digitization activity
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: "Provenance relationships applicable to all types."
|
||||
|
|
@ -1632,6 +1632,17 @@ fixes:
|
|||
- label: TimeSpan
|
||||
type: class
|
||||
link_branch: 2
|
||||
processed:
|
||||
status: true
|
||||
date: "2025-01-14"
|
||||
notes: |
|
||||
Migrated to has_or_had_quantity with Quantity class.
|
||||
Branch 1: has_or_had_measurement_unit → MeasureUnit (enum: VISITOR)
|
||||
Branch 2: temporal_extent → TimeSpan
|
||||
Consuming classes updated: Exhibition.yaml, MuseumRegisterEnrichment.yaml
|
||||
Archived slot: modules/slots/archive/visitor_count_archived_20260115.yaml
|
||||
Created slot: modules/slots/has_or_had_measurement_unit.yaml
|
||||
Updated enum: MeasureUnitEnum.yaml (added VISITOR, VIEW, ITEM, FTE, etc.)
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/visitor_conversion_rate
|
||||
revision:
|
||||
- label: has_or_had_conversion_rate
|
||||
|
|
@ -1656,6 +1667,16 @@ fixes:
|
|||
- label: TimeSpan
|
||||
type: class
|
||||
link_branch: 2
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-14"
|
||||
notes: |
|
||||
Migration completed for visitor_conversion_rate slot.
|
||||
Created: ConversionRate class, ConversionRateType class, ConversionRateTypes class, has_or_had_conversion_rate slot
|
||||
Branch 1: has_or_had_type → ConversionRateType/ConversionRateTypes
|
||||
Branch 2: temporal_extent → TimeSpan (reused existing)
|
||||
Consuming classes updated: GiftShop.yaml
|
||||
Archived slot: modules/slots/archive/visitor_conversion_rate_archived_20260114.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/visiting_hour
|
||||
revision:
|
||||
- label: has_or_had_opening_hour
|
||||
|
|
@ -1682,6 +1703,17 @@ fixes:
|
|||
- label: TimeSpan
|
||||
type: class
|
||||
link_branch: 2
|
||||
processed:
|
||||
status: true
|
||||
date: "2025-01-14"
|
||||
notes: |
|
||||
Migrated to has_or_had_quantity with Quantity class.
|
||||
Branch 1: has_or_had_measurement_unit → MeasureUnit (enum: VIEW)
|
||||
Branch 2: temporal_extent → TimeSpan
|
||||
Consuming slot-based class updated: VideoPost.yaml
|
||||
NOTE: YoutubeVideo, YoutubeEnrichment, YoutubeChannel use inline attributes
|
||||
(raw API response capture) - evaluated but not migrated per data pattern.
|
||||
Archived slot: modules/slots/archive/view_count_archived_20260115.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/video_id
|
||||
revision:
|
||||
- label: has_or_had_identifier
|
||||
|
|
@ -1886,6 +1918,16 @@ fixes:
|
|||
- label: TimeInterval
|
||||
type: class
|
||||
link_branch: 2
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-14"
|
||||
notes: |
|
||||
Migration completed for update_frequency slot.
|
||||
Created: UpdateFrequency class, has_or_had_frequency slot
|
||||
Branch 1: has_or_had_quantity → Quantity (reused existing)
|
||||
Branch 2: has_or_had_time_interval → TimeInterval (reused existing)
|
||||
Consuming classes updated: InternetOfThings.yaml
|
||||
Archived slot: modules/slots/archive/update_frequency_archived_20260114.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/unit_type
|
||||
revision:
|
||||
- label: has_or_had_type
|
||||
|
|
@ -1948,6 +1990,19 @@ fixes:
|
|||
value:
|
||||
- entity_resolution
|
||||
link_branch: 2
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-14"
|
||||
notes: >-
|
||||
Migrated unique_object_count to has_or_had_quantity with Quantity class.
|
||||
Branch 1: has_or_had_measurement_unit → MeasureUnit (OBJECT unit type).
|
||||
Branch 2: has_or_had_methodology → Methodology (ENTITY_RESOLUTION type).
|
||||
Updated VideoAnnotationTypes.yaml (VideoObjectAnnotation class).
|
||||
Created Methodology.yaml class with prov:Plan mapping.
|
||||
Created MethodologyTypeEnum.yaml enum.
|
||||
Created has_or_had_methodology.yaml slot.
|
||||
Updated Quantity.yaml with has_or_had_methodology slot.
|
||||
Archived: modules/slots/archive/unique_object_count_archived_20260114.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/unique_face_count
|
||||
revision:
|
||||
- label: has_or_had_quantity
|
||||
|
|
@ -1970,6 +2025,16 @@ fixes:
|
|||
value:
|
||||
- entity_resolution
|
||||
link_branch: 2
|
||||
processed:
|
||||
status: true
|
||||
date: "2026-01-14"
|
||||
notes: >-
|
||||
Migrated unique_face_count to has_or_had_quantity with Quantity class.
|
||||
Branch 1: has_or_had_measurement_unit → MeasureUnit (FACE unit type).
|
||||
Branch 2: has_or_had_methodology → Methodology (ENTITY_RESOLUTION type).
|
||||
Updated VideoAnnotationTypes.yaml (VideoObjectAnnotation class).
|
||||
Shares Methodology infrastructure with unique_object_count migration.
|
||||
Archived: modules/slots/archive/unique_face_count_archived_20260114.yaml
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/uniform_title
|
||||
revision:
|
||||
- label: has_or_had_label
|
||||
|
|
@ -2302,3 +2367,74 @@ fixes:
|
|||
type: slot
|
||||
- label: Description
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/transcript_format
|
||||
revision:
|
||||
- label: has_or_had_format
|
||||
type: slot
|
||||
- label: TranscriptFormat
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/traditional_product
|
||||
revision:
|
||||
- label: has_or_had_type
|
||||
type: slot
|
||||
- label: TraditionalProductType
|
||||
type: class
|
||||
- label: includes_or_included
|
||||
type: slot
|
||||
- label: TraditionalProductTypes
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/tracking_ids_assigned
|
||||
revision:
|
||||
- label: has_or_had_identifier
|
||||
type: slot
|
||||
- label: Identifier
|
||||
type: class
|
||||
- label: has_or_had_quantity
|
||||
type: slot
|
||||
- label: Quantity
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/track_name
|
||||
revision:
|
||||
- label: has_or_had_label
|
||||
type: slot
|
||||
- label: Label
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/track_id
|
||||
revision:
|
||||
- label: has_or_had_identifier
|
||||
type: slot
|
||||
- label: TrackIdentifier
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/total_token
|
||||
revision:
|
||||
- label: consumes_or_consumed
|
||||
type: slot
|
||||
- label: Token
|
||||
type: class
|
||||
- label: has_or_had_quantity
|
||||
type: slot
|
||||
- label: Quantity
|
||||
type: class
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/total_revenue
|
||||
revision:
|
||||
- label: has_or_had_revenue
|
||||
type: slot
|
||||
- label: Revenue
|
||||
type: class
|
||||
- label: has_or_had_quantity
|
||||
type: slot
|
||||
- label: Quantity
|
||||
type: class
|
||||
- label: has_or_had_currency
|
||||
type: slot
|
||||
link_branch: 1
|
||||
- label: Currency
|
||||
type: class
|
||||
link_branch: 1
|
||||
- label: has_or_had_time_interval
|
||||
type: slot
|
||||
link_branch: 2
|
||||
- label: TimeInterval
|
||||
type: class
|
||||
link_branch: 2
|
||||
- original_slot_id: https://nde.nl/ontology/hc/slot/total_runtime
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
# starts_or_started_at_location slot
|
||||
# Origin location relationship following RiC-O naming pattern
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 39 (RiC-O naming), 53 (slot_fixes.yaml)
|
||||
#
|
||||
# Used by TransferEvent class for origin location
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/starts_or_started_at_location
|
||||
name: starts_or_started_at_location_slot
|
||||
title: Starts Or Started At Location Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
crm: http://www.cidoc-crm.org/cidoc-crm/
|
||||
prov: http://www.w3.org/ns/prov#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
starts_or_started_at_location:
|
||||
slot_uri: prov:atLocation
|
||||
description: |
|
||||
Origin location where an event or process started.
|
||||
|
||||
**Temporal Semantics** (RiC-O Pattern):
|
||||
The "startsOrStarted" naming follows RiC-O convention indicating
|
||||
the location may be historical (where something began).
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `prov:atLocation` - PROV-O location
|
||||
- **Related**: `crm:P27_moved_from` - CIDOC-CRM moved from
|
||||
- **Related**: `schema:fromLocation` - Schema.org origin
|
||||
|
||||
**Use Cases**:
|
||||
- Transfer event origin (where materials came from)
|
||||
- Journey/movement start location
|
||||
- Process initiation location
|
||||
|
||||
**Range**: Location class (structured location with name and coordinates)
|
||||
|
||||
range: Location
|
||||
required: false
|
||||
multivalued: false
|
||||
inlined: true
|
||||
|
||||
related_mappings:
|
||||
- crm:P27_moved_from
|
||||
- schema:fromLocation
|
||||
|
||||
annotations:
|
||||
rico_naming_convention: |
|
||||
Follows RiC-O "startsOrStarted" pattern for temporal location predicates.
|
||||
See Rule 39: Slot Naming Convention (RiC-O Style)
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Location relationships apply to all heritage types.
|
||||
specificity_score: 0.4
|
||||
specificity_rationale: Specialized slot for event/process locations.
|
||||
|
||||
comments:
|
||||
- "Origin location for events/processes"
|
||||
- "Maps to prov:atLocation with start semantics"
|
||||
- "RiC-O naming: startsOrStarted indicates temporal aspect"
|
||||
|
||||
examples:
|
||||
- value:
|
||||
location_name: "Old Storage Facility, Amsterdam"
|
||||
description: "Origin location for collection transfer"
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
# timestamp_precision slot
|
||||
# The precision level of a timestamp
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 42 (no prefix), 43 (singular noun)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/timestamp_precision
|
||||
name: timestamp_precision_slot
|
||||
title: Timestamp Precision Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
timestamp_precision:
|
||||
slot_uri: time:unitType
|
||||
description: |
|
||||
The precision level of the timestamp.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `time:unitType` - OWL Time unit type
|
||||
|
||||
**Values**:
|
||||
- year: Precision to the year
|
||||
- month: Precision to the month
|
||||
- day: Precision to the day
|
||||
- hour: Precision to the hour
|
||||
- minute: Precision to the minute
|
||||
- second: Precision to the second
|
||||
- millisecond: Precision to the millisecond
|
||||
|
||||
**Usage**:
|
||||
Can be auto-derived from timestamp_value format if not explicitly provided.
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- time:unitType
|
||||
|
||||
annotations:
|
||||
migration_date: "2026-01-15"
|
||||
|
||||
examples:
|
||||
- value: "year"
|
||||
description: "Year precision (e.g., '1995')"
|
||||
- value: "day"
|
||||
description: "Day precision (e.g., '1995-06-15')"
|
||||
- value: "second"
|
||||
description: "Second precision (e.g., '1995-06-15T10:30:00Z')"
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
# timestamp_value slot
|
||||
# The datetime value of a timestamp
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 42 (no prefix), 43 (singular noun)
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/timestamp_value
|
||||
name: timestamp_value_slot
|
||||
title: Timestamp Value Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
time: http://www.w3.org/2006/time#
|
||||
xsd: http://www.w3.org/2001/XMLSchema#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
timestamp_value:
|
||||
slot_uri: time:inXSDDateTimeStamp
|
||||
description: |
|
||||
The datetime value as ISO 8601 string.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `time:inXSDDateTimeStamp` - OWL Time position
|
||||
|
||||
**Precision by Format**:
|
||||
- "1995" = year precision
|
||||
- "1995-06" = month precision
|
||||
- "1995-06-15" = day precision
|
||||
- "1995-06-15T10:30:00Z" = full datetime
|
||||
|
||||
range: string
|
||||
required: true
|
||||
multivalued: false
|
||||
pattern: "^-?\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?)?$"
|
||||
|
||||
exact_mappings:
|
||||
- time:inXSDDateTimeStamp
|
||||
|
||||
close_mappings:
|
||||
- time:inXSDDate
|
||||
- time:inXSDgYear
|
||||
|
||||
annotations:
|
||||
migration_date: "2026-01-15"
|
||||
|
||||
examples:
|
||||
- value: "1995"
|
||||
description: "Year-only precision"
|
||||
- value: "1995-06-15"
|
||||
description: "Day precision"
|
||||
- value: "2024-06-15T14:30:00Z"
|
||||
description: "Full datetime with timezone"
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
# url_type slot
|
||||
# Classification of URL type (website, api, archive, vendor, etc.)
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 51 (no hallucinated refs)
|
||||
#
|
||||
# Part of URL class supporting 4 migrations per slot_fixes.yaml
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/url_type
|
||||
name: url_type_slot
|
||||
title: URL Type Slot
|
||||
|
||||
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
|
||||
|
||||
slots:
|
||||
url_type:
|
||||
slot_uri: dcterms:type
|
||||
description: |
|
||||
Classification of the URL type.
|
||||
|
||||
**Common Values**:
|
||||
- `website` - Main institutional website
|
||||
- `api` - API endpoint
|
||||
- `webarchive` - Web archive snapshot (e.g., Wayback Machine)
|
||||
- `vendor` - Vendor/supplier website
|
||||
- `catalog` - Online catalog
|
||||
- `collection` - Collection portal
|
||||
- `social_media` - Social media profile
|
||||
- `documentation` - Technical documentation
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `dcterms:type` - Dublin Core type
|
||||
- **Related**: `schema:additionalType` - Schema.org type
|
||||
|
||||
**Usage**:
|
||||
Optional classification to distinguish different types of URLs
|
||||
associated with the same entity.
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
related_mappings:
|
||||
- schema:additionalType
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: URL types apply to all heritage types.
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic classification applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: "website"
|
||||
description: "Main institutional website"
|
||||
- value: "api"
|
||||
description: "API endpoint"
|
||||
- value: "webarchive"
|
||||
description: "Web archive snapshot"
|
||||
- value: "vendor"
|
||||
description: "Vendor/supplier website"
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
# url_value slot
|
||||
# The actual URL/URI string value
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 51 (no hallucinated refs)
|
||||
#
|
||||
# Part of URL class supporting 4 migrations per slot_fixes.yaml
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/url_value
|
||||
name: url_value_slot
|
||||
title: URL Value Slot
|
||||
|
||||
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
|
||||
|
||||
slots:
|
||||
url_value:
|
||||
slot_uri: schema:url
|
||||
description: |
|
||||
The actual URL/URI string value.
|
||||
|
||||
**Format**:
|
||||
Valid URI following RFC 3986. Typically starts with http:// or https://.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `schema:url` - Schema.org URL
|
||||
- **Exact**: `dcterms:URI` - Dublin Core URI
|
||||
|
||||
**Usage**:
|
||||
Primary value slot within URL class. Contains the actual web address.
|
||||
Required field for URL instances.
|
||||
|
||||
range: uri
|
||||
required: true
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:URI
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: URL values apply to all heritage types.
|
||||
specificity_score: 0.15
|
||||
specificity_rationale: Generic URL value applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: "https://www.rijksmuseum.nl/"
|
||||
description: "Official website URL"
|
||||
- value: "https://api.example.org/v1/collection"
|
||||
description: "API endpoint URL"
|
||||
- value: "https://web.archive.org/web/20240101/https://example.org/"
|
||||
description: "Web archive snapshot URL"
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
# wikidata_description slot
|
||||
# Description text from Wikidata entity
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 51 (no hallucinated refs)
|
||||
#
|
||||
# Part of WikiDataEntry class supporting 5 migrations per slot_fixes.yaml
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/wikidata_description
|
||||
name: wikidata_description_slot
|
||||
title: Wikidata Description Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
wikidata_description:
|
||||
slot_uri: schema:description
|
||||
description: |
|
||||
Description text from the Wikidata entity.
|
||||
|
||||
**Purpose**:
|
||||
Provides a brief explanation of the Wikidata entity without
|
||||
requiring a lookup to Wikidata. Language should match the
|
||||
`language` field in the containing WikiDataEntry.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `schema:description` - Schema.org description
|
||||
- **Exact**: `dcterms:description` - Dublin Core description
|
||||
- **Close**: `skos:definition` - SKOS definition
|
||||
|
||||
**Usage**:
|
||||
Optional. Provides human-readable context explaining what the
|
||||
Wikidata entity represents. Typically a single sentence.
|
||||
|
||||
**Multilingual**:
|
||||
Description language determined by `language` slot in WikiDataEntry.
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- dcterms:description
|
||||
|
||||
close_mappings:
|
||||
- skos:definition
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Descriptions apply to all heritage types.
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic description slot applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: "institution that holds and displays collections"
|
||||
description: "English description for Q33506 (museum)"
|
||||
- value: "Dutch national museum in Amsterdam"
|
||||
description: "Description for Q190804 (Rijksmuseum)"
|
||||
- value: "collection of books and other media"
|
||||
description: "Description for Q7075 (library)"
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
# wikidata_label slot
|
||||
# Human-readable label from Wikidata entity
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 51 (no hallucinated refs)
|
||||
#
|
||||
# Part of WikiDataEntry class supporting 5 migrations per slot_fixes.yaml
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/wikidata_label
|
||||
name: wikidata_label_slot
|
||||
title: Wikidata Label Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
rdfs: http://www.w3.org/2000/01/rdf-schema#
|
||||
skos: http://www.w3.org/2004/02/skos/core#
|
||||
schema: http://schema.org/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
wikidata_label:
|
||||
slot_uri: rdfs:label
|
||||
description: |
|
||||
Human-readable label from the Wikidata entity.
|
||||
|
||||
**Purpose**:
|
||||
Provides a display name for the Wikidata entity without requiring
|
||||
a lookup to Wikidata. Language of label should match the `language`
|
||||
field in the containing WikiDataEntry.
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `rdfs:label` - RDF Schema label
|
||||
- **Exact**: `skos:prefLabel` - SKOS preferred label
|
||||
- **Close**: `schema:name` - Schema.org name
|
||||
|
||||
**Usage**:
|
||||
Optional but recommended. Provides human-readable context for
|
||||
the Q-number identifier. Should be populated when available
|
||||
from Wikidata API responses.
|
||||
|
||||
**Multilingual**:
|
||||
Label language determined by `language` slot in WikiDataEntry.
|
||||
|
||||
range: string
|
||||
required: false
|
||||
multivalued: false
|
||||
|
||||
exact_mappings:
|
||||
- skos:prefLabel
|
||||
|
||||
close_mappings:
|
||||
- schema:name
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Labels apply to all heritage types.
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic label slot applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: "museum"
|
||||
description: "English label for Q33506"
|
||||
- value: "Rijksmuseum"
|
||||
description: "Label for Q190804"
|
||||
- value: "bibliotheek"
|
||||
description: "Dutch label for Q7075 (library)"
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
# wikidata_qid slot
|
||||
# Wikidata Q-number identifier (e.g., Q12345)
|
||||
#
|
||||
# Generation date: 2026-01-15
|
||||
# Rule compliance: 38 (slot centralization + semantic URI), 51 (no hallucinated refs)
|
||||
#
|
||||
# Part of WikiDataEntry class supporting 5 migrations per slot_fixes.yaml
|
||||
|
||||
id: https://nde.nl/ontology/hc/slot/wikidata_qid
|
||||
name: wikidata_qid_slot
|
||||
title: Wikidata QID Slot
|
||||
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
wdt: http://www.wikidata.org/prop/direct/
|
||||
schema: http://schema.org/
|
||||
dcterms: http://purl.org/dc/terms/
|
||||
|
||||
default_prefix: hc
|
||||
|
||||
imports:
|
||||
- linkml:types
|
||||
|
||||
slots:
|
||||
wikidata_qid:
|
||||
slot_uri: wdt:P31
|
||||
description: |
|
||||
Wikidata Q-number identifier for the referenced entity.
|
||||
|
||||
**Format**:
|
||||
Q followed by one or more digits (e.g., Q12345, Q190804).
|
||||
Pattern: `^Q[0-9]+$`
|
||||
|
||||
**Ontological Alignment**:
|
||||
- **Primary** (`slot_uri`): `wdt:P31` - Wikidata direct property
|
||||
- **Close**: `schema:identifier` - Schema.org identifier
|
||||
- **Related**: `dcterms:identifier` - Dublin Core identifier
|
||||
|
||||
**Usage**:
|
||||
Primary identifier within WikiDataEntry class. Required field
|
||||
for identifying the Wikidata entity being referenced.
|
||||
|
||||
**Examples**:
|
||||
- Q33506 - museum (concept)
|
||||
- Q190804 - Rijksmuseum (institution)
|
||||
- Q7075 - library (concept)
|
||||
|
||||
range: string
|
||||
required: true
|
||||
multivalued: false
|
||||
pattern: "^Q[0-9]+$"
|
||||
|
||||
exact_mappings:
|
||||
- schema:identifier
|
||||
|
||||
close_mappings:
|
||||
- dcterms:identifier
|
||||
|
||||
annotations:
|
||||
custodian_types: '["*"]'
|
||||
custodian_types_rationale: Wikidata identifiers apply to all heritage types.
|
||||
specificity_score: 0.2
|
||||
specificity_rationale: Generic identifier applicable across all contexts.
|
||||
|
||||
examples:
|
||||
- value: "Q33506"
|
||||
description: "Wikidata Q-number for 'museum' concept"
|
||||
- value: "Q190804"
|
||||
description: "Wikidata Q-number for Rijksmuseum"
|
||||
- value: "Q7075"
|
||||
description: "Wikidata Q-number for 'library' concept"
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue