glam/frontend/public/schemas/20251121/linkml/modules/classes/InternetOfThings.yaml
kempersc 6bb8ac20ba feat: Add MainPart and OutputData classes with detailed specifications
- Introduced MainPart class to represent principal portions with quantified values, including attributes for part type and currency code.
- Added OutputData class to specify output characteristics from devices/services, including format, description, and destination URL.
- Created canonical_value, capacity, capacity_type, and capacity_value slots for enhanced data representation.
- Archived and migrated various slots related to data sensitivity, dataset descriptions, and titles to align with new structures.
- Implemented has_or_had_caption and has_or_had_main_part slots to support media accessibility and primary portion representation.
- Enhanced data license policy slot to define custodian data licensing and openness policies.
2026-01-23 11:04:15 +01:00

391 lines
16 KiB
YAML

id: https://nde.nl/ontology/hc/class/InternetOfThings
name: internet_of_things_class
title: InternetOfThings Class
imports:
- linkml:types
- ./Custodian
- ./CustodianObservation
- ./ReconstructionActivity
- ./TimeSpan
- ./CustodianPlace
- ../enums/DigitalPresenceTypeEnum
- ../slots/has_or_had_api_endpoint
- ./ReconstructedEntity
- ../slots/connectivity_type
- ../slots/coverage_area
- ./OutputData
- ./DataFormat
- ../slots/has_or_had_output
# REMOVED 2026-01-22: data_format migrated to has_or_had_output + OutputData (Rule 53)
- ../slots/decommission_date
- ../slots/device_count
- ../slots/device_id
- ../slots/device_manufacturer
- ../slots/device_model
- ../slots/device_name
- ../slots/device_type
- ../slots/installation_date
- ../slots/installed_at_place
- ../slots/maintenance_schedule
- ../slots/operational_status
- ../slots/power_source
- ../slots/publishes_to
- ../slots/purpose
- ../slots/refers_to_custodian
- ../slots/specificity_annotation
- ../slots/has_or_had_specification # was: technical_specification - migrated per Rule 53 (2026-01-15)
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ../slots/temporal_extent
- ../slots/has_or_had_frequency
- ./UpdateFrequency
- ../slots/is_or_was_derived_from # was: was_derived_from - migrated per Rule 53
- ../slots/is_or_was_generated_by # was: was_generated_by - migrated per Rule 53
- ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
sosa: http://www.w3.org/ns/sosa/
ssn: http://www.w3.org/ns/ssn/
dcterms: http://purl.org/dc/terms/
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
geosparql: http://www.opengis.net/ont/geosparql#
wd: http://www.wikidata.org/entity/
default_prefix: hc
classes:
InternetOfThings:
is_a: ReconstructedEntity
class_uri: sosa:Platform
description: "Physical device with digital connectivity used by a heritage custodian\nto enhance visitor experience, monitor\
\ conditions, or provide services.\n\n**WHY IOT CLASS?**\n\nModern heritage institutions increasingly deploy IoT devices:\n\
- **Beacons**: Location-based triggers for mobile apps\n- **Kiosks**: Interactive information terminals\n- **Sensors**:\
\ Environmental monitoring (climate, light, visitor counts)\n- **Displays**: Digital signage, interactive screens\n\n\
These are a form of DIGITAL PRESENCE that bridges physical and digital worlds.\n\n**RELATIONSHIP TO OTHER DIGITAL PRESENCE\
\ TYPES**:\n\n```\nDigital Presence Hierarchy:\n\nDigitalPlatform (PRIMARY - websites)\n │\n └── AuxiliaryDigitalPlatform\
\ (SECONDARY - project sites)\n\nSocialMediaProfile (THIRD-PARTY - external platforms)\n\nInternetOfThings (PHYSICAL-DIGITAL\
\ - in-venue devices) ← THIS CLASS\n```\n\n**SOSA/SSN ALIGNMENT**:\n\nW3C Semantic Sensor Network (SSN) and Sensor,\
\ Observation, Sample, \nand Actuator (SOSA) ontologies provide the semantic foundation:\n\n- `sosa:Platform` - Entity\
\ hosting sensors/systems (building, room, beacon)\n- `sosa:Sensor` - Device that observes properties\n- `sosa:Observation`\
\ - Act of observing a property\n- `ssn:System` - System comprising multiple components\n\n**USE CASES**:\n\n1. **Visitor\
\ Experience Enhancement**:\n - Bluetooth beacons trigger app content near artworks\n - NFC tags on object labels\
\ for detailed information\n - Interactive kiosks for self-guided exploration\n \n2. **Environmental Monitoring**:\n\
\ - Climate sensors (temperature, humidity) for conservation\n - Light level sensors to protect sensitive materials\n\
\ - Air quality monitoring in storage areas\n \n3. **Visitor Analytics**:\n - People counters at entrances\n \
\ - Heat maps of gallery traffic\n - Dwell time sensors near exhibits\n \n4. **Digital Signage**:\n - Rotating\
\ information displays\n - Exhibition schedules\n - Wayfinding screens\n\n**EXAMPLE - Museum with IoT Devices**:\n\
\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\"\n preferred_label: \"Rijksmuseum\"\
\n iot_devices:\n - device_id: \".../iot/rijksmuseum-beacon-gallery-1\"\n device_name: \"Gallery of Honour\
\ Beacon Network\"\n device_type: IOT_BEACON\n device_count: 24\n coverage_area: \"Gallery of Honour\
\ (main wing)\"\n purpose: \"Proximity triggers for mobile app content\"\n \n - device_id: \".../iot/rijksmuseum-climate-monitor\"\
\n device_name: \"Conservation Climate Monitoring\"\n device_type: IOT_SENSOR\n device_count: 150\n \
\ coverage_area: \"All galleries and storage\"\n purpose: \"Temperature and humidity monitoring for preservation\"\
\n publishes_to: \"https://dashboard.rijksmuseum.nl/climate\"\n```\n\n**TEMPORAL CONSIDERATIONS**:\n\nIoT devices\
\ have installation/decommissioning dates:\n- Beacons may be temporary for exhibitions\n- Sensors may be upgraded/replaced\n\
- Kiosks may be moved between venues\n\n**NOT INCLUDED**:\n\n- Smartphones/tablets (user devices, not custodian-owned)\n\
- Standard IT infrastructure (servers, networking)\n- Security cameras (unless part of heritage experience)\n"
exact_mappings:
- sosa:Platform
- ssn:System
close_mappings:
- schema:Thing
- crm:E22_Human-Made_Object
related_mappings:
- sosa:Sensor
- sosa:Actuator
- schema:Product
slots:
- has_or_had_api_endpoint
- connectivity_type
- coverage_area
- has_or_had_output # was: data_format - migrated per Rule 53 (2026-01-22)
- decommission_date
- device_count
- device_id
- device_manufacturer
- device_model
- device_name
- device_type
- installation_date
- installed_at_place
- maintenance_schedule
- operational_status
- power_source
- publishes_to
- purpose
- refers_to_custodian
- specificity_annotation
- has_or_had_specification # was: technical_specification - migrated per Rule 53 (2026-01-15)
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- temporal_extent
- has_or_had_frequency
- is_or_was_derived_from # was: was_derived_from - migrated per Rule 53
- is_or_was_generated_by # was: was_generated_by - migrated per Rule 53
slot_usage:
device_id:
range: uriorcurie
required: true
identifier: true
examples:
- value: https://nde.nl/ontology/hc/iot/rijksmuseum-beacon-gallery-1
description: Beacon network in Gallery of Honour
device_name:
range: string
required: true
examples:
- value: Gallery of Honour Beacon Network
description: Beacon network name
- value: Depot Climate Monitoring System
description: Sensor network name
device_type:
range: DigitalPresenceTypeEnum
required: true
examples:
- value: IOT_BEACON
description: Bluetooth beacon
- value: IOT_SENSOR
description: Environmental sensor
- value: IOT_KIOSK
description: Interactive kiosk
device_model:
range: string
examples:
- value: Estimote Proximity Beacon
description: Beacon model
device_manufacturer:
range: string
examples:
- value: Estimote
description: Beacon manufacturer
- value: Samsung
description: Kiosk manufacturer
device_count:
range: integer
minimum_value: 1
examples:
- value: 24
description: 24 beacons in gallery network
- value: 150
description: 150 climate sensors across facility
- value: 1
description: Single information kiosk
coverage_area:
range: string
examples:
- value: Gallery of Honour (main wing)
description: Specific gallery
- value: All galleries and storage areas
description: Facility-wide
- value: Main entrance lobby
description: Specific location
purpose:
range: string
required: true
examples:
- value: Proximity triggers for mobile app content
description: Beacon purpose
- value: Temperature and humidity monitoring for preservation
description: Climate sensor purpose
- value: Self-service collection search for visitors
description: Kiosk purpose
has_or_had_specification: # was: technical_specification - migrated per Rule 53 (2026-01-15)
description: |
Technical specifications for the IoT device.
Migrated from technical_specification to align with RiC-O naming conventions.
range: string
examples:
- value: BLE 5.0, 50m range, 5-year battery, IP67 rated
description: Beacon specifications
connectivity_type:
range: string
multivalued: true
examples:
- value: BLUETOOTH_LE
description: Beacon connectivity
- value: WIFI
description: Kiosk connectivity
power_source:
range: string
examples:
- value: BATTERY
description: Battery-powered beacon
- value: MAINS
description: Mains-powered kiosk
publishes_to:
range: uri
examples:
- value: https://dashboard.museum.nl/climate
description: Climate monitoring dashboard
- value: https://analytics.museum.nl/beacons
description: Beacon analytics platform
has_or_had_api_endpoint:
range: uri
examples:
- value: https://api.museum.nl/sensors/v1/
description: Sensor data API
has_or_had_output: # was: data_format - migrated per Rule 53 (2026-01-22)
range: OutputData
inlined: true
description: |
Output data specification for this device.
MIGRATED from data_format per slot_fixes.yaml (Rule 53).
Uses OutputData class with DataFormat for format specification.
examples:
- value:
has_or_had_format:
has_or_had_type: JsonFormat
has_or_had_media_type: "application/json"
has_or_had_description: "Sensor readings in JSON format"
description: JSON data format (was data_format)
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: |
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: |
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
examples:
- value: https://nde.nl/ontology/hc/place/rijksmuseum-gallery-of-honour
description: Gallery location
installation_date:
range: date
examples:
- value: '2023-06-15'
description: Installation date
decommission_date:
range: date
examples:
- value: '2028-12-31'
description: Planned decommission date
temporal_extent:
range: TimeSpan
examples:
- value:
begin_of_the_begin: '2023-06-15'
description: Device operational since June 2023
operational_status:
range: string
examples:
- value: ACTIVE
description: Device is operational
- value: MAINTENANCE
description: Device under maintenance
maintenance_schedule:
range: string
examples:
- value: Monthly battery check
description: Beacon maintenance
is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53
range: CustodianObservation
multivalued: true
required: false
is_or_was_generated_by: # was: was_generated_by - migrated per Rule 53
range: ReconstructionActivity
required: false
refers_to_custodian:
range: Custodian
required: true
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Rijksmuseum custodian hub
comments:
- Models physical devices with digital connectivity (beacons, kiosks, sensors)
- SOSA/SSN ontology alignment for semantic sensor data
- Bridges physical and digital presence of heritage custodians
- Supports environmental monitoring, visitor experience, analytics use cases
- Temporal validity tracks installation and decommission dates
- Links to CustodianPlace for location context
see_also:
- https://www.w3.org/TR/vocab-ssn/
- https://www.w3.org/TR/vocab-sosa/
- https://schema.org/Thing
examples:
- value:
device_id: https://nde.nl/ontology/hc/iot/rijksmuseum-beacon-gallery-honour
device_name: Gallery of Honour Beacon Network
device_type: IOT_BEACON
device_model: Estimote Proximity Beacon
device_manufacturer: Estimote
device_count: 24
coverage_area: Gallery of Honour (main wing)
purpose: Proximity triggers for mobile app content near masterpieces
connectivity_type:
- BLUETOOTH_LE
power_source: BATTERY
publishes_to: https://analytics.rijksmuseum.nl/beacons
installation_date: '2019-03-01'
operational_status: ACTIVE
maintenance_schedule: Monthly battery check
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Beacon network in Rijksmuseum Gallery of Honour
- value:
device_id: https://nde.nl/ontology/hc/iot/rijksmuseum-climate-monitoring
device_name: Conservation Climate Monitoring System
device_type: IOT_SENSOR
device_model: Sensirion SHT45
device_manufacturer: Sensirion
device_count: 150
coverage_area: All galleries and storage areas
purpose: Temperature and humidity monitoring for preservation
connectivity_type:
- WIFI
- LORAWAN
power_source: BATTERY
publishes_to: https://dashboard.rijksmuseum.nl/climate
api_endpoint: https://api.rijksmuseum.nl/climate/v1/
has_or_had_output: # was: data_format - migrated per Rule 53
has_or_had_format:
has_or_had_type: JsonFormat
has_or_had_media_type: "application/json"
has_or_had_description: "Climate sensor data"
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
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Climate monitoring sensor network at Rijksmuseum
- value:
device_id: https://nde.nl/ontology/hc/iot/rijksmuseum-entrance-kiosk
device_name: Main Entrance Information Kiosks
device_type: IOT_KIOSK
device_model: Samsung Kiosk 24 Touch
device_manufacturer: Samsung
device_count: 4
coverage_area: Main entrance lobby
purpose: Self-service collection search and wayfinding for visitors
has_or_had_specification: 24-inch touchscreen, 1920x1080 resolution, wheelchair accessible
connectivity_type:
- ETHERNET
power_source: MAINS
installation_date: '2021-09-01'
operational_status: ACTIVE
maintenance_schedule: Weekly software updates, monthly hardware inspection
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
description: Information kiosks at Rijksmuseum entrance