- Apply Rule 39: RiC-O style hasOrHad*/isOrWas* for temporal slots - Apply Rule 43: Singular noun convention (keywords → keyword) - Update slot references to match renamed slot files - Maintain schema integrity across all class definitions
608 lines
22 KiB
YAML
608 lines
22 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
|
|
- ../slots/data_format
|
|
- ../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/technical_specification
|
|
- ../slots/template_specificity
|
|
- ../slots/temporal_extent
|
|
- ../slots/update_frequency
|
|
- ../slots/was_derived_from
|
|
- ../slots/was_generated_by
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScores
|
|
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\n\
|
|
to 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\n\
|
|
Custodian:\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
|
|
- data_format
|
|
- 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
|
|
- technical_specification
|
|
- template_specificity
|
|
- temporal_extent
|
|
- update_frequency
|
|
- was_derived_from
|
|
- was_generated_by
|
|
slot_usage:
|
|
device_id:
|
|
slot_uri: dcterms:identifier
|
|
description: |
|
|
Unique identifier for this IoT device or device network.
|
|
Format: URI following NDE Heritage Custodian ontology conventions.
|
|
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:
|
|
slot_uri: schema:name
|
|
description: |
|
|
Human-readable name for this IoT device or network.
|
|
|
|
Should be descriptive of location and purpose.
|
|
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:
|
|
slot_uri: dcterms:type
|
|
description: |
|
|
Type of IoT device using DigitalPresenceTypeEnum IoT values.
|
|
|
|
Types:
|
|
- IOT_BEACON: Bluetooth/NFC beacons for location services
|
|
- IOT_KIOSK: Interactive terminals/touch screens
|
|
- IOT_SENSOR: Environmental/monitoring sensors
|
|
|
|
Additional device categories may be added.
|
|
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:
|
|
slot_uri: schema:model
|
|
description: |
|
|
Model name/number of the device.
|
|
|
|
Schema.org: model for product model.
|
|
|
|
Examples:
|
|
- "Estimote Proximity Beacon"
|
|
- "Samsung Kiosk 24"
|
|
- "Sensirion SHT45 Climate Sensor"
|
|
range: string
|
|
examples:
|
|
- value: Estimote Proximity Beacon
|
|
description: Beacon model
|
|
device_manufacturer:
|
|
slot_uri: schema:manufacturer
|
|
description: |
|
|
Manufacturer of the IoT device.
|
|
|
|
Schema.org: manufacturer for producer.
|
|
range: string
|
|
examples:
|
|
- value: Estimote
|
|
description: Beacon manufacturer
|
|
- value: Samsung
|
|
description: Kiosk manufacturer
|
|
device_count:
|
|
slot_uri: schema:numberOfItems
|
|
description: |
|
|
Number of devices in this device group/network.
|
|
|
|
For individual devices, value is 1.
|
|
For beacon networks or sensor arrays, value is total 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:
|
|
slot_uri: schema:areaServed
|
|
description: |
|
|
Physical area covered by this device or device network.
|
|
|
|
Schema.org: areaServed for geographic coverage.
|
|
|
|
Can be room names, zones, or descriptions.
|
|
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:
|
|
slot_uri: dcterms:description
|
|
description: |
|
|
Purpose and use case for this IoT device/network.
|
|
|
|
Dublin Core: description for purpose statement.
|
|
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
|
|
technical_specification:
|
|
slot_uri: schema:description
|
|
description: |
|
|
Technical details about the device.
|
|
|
|
May include:
|
|
- Transmission range (for beacons)
|
|
- Measurement accuracy (for sensors)
|
|
- Screen resolution (for kiosks)
|
|
- Battery life
|
|
- Operating temperature range
|
|
range: string
|
|
examples:
|
|
- value: BLE 5.0, 50m range, 5-year battery, IP67 rated
|
|
description: Beacon specifications
|
|
connectivity_type:
|
|
slot_uri: schema:potentialAction
|
|
description: |
|
|
Type of connectivity used by the device.
|
|
|
|
Values:
|
|
- BLUETOOTH_LE: Bluetooth Low Energy (beacons)
|
|
- WIFI: WiFi network connection
|
|
- ETHERNET: Wired network connection
|
|
- LORAWAN: Long-range low-power IoT network
|
|
- NFC: Near-field communication
|
|
- ZIGBEE: Zigbee mesh network
|
|
- CELLULAR: 4G/5G cellular connection
|
|
range: string
|
|
multivalued: true
|
|
examples:
|
|
- value: BLUETOOTH_LE
|
|
description: Beacon connectivity
|
|
- value: WIFI
|
|
description: Kiosk connectivity
|
|
power_source:
|
|
slot_uri: schema:fuelType
|
|
description: |
|
|
Power source for the device.
|
|
|
|
Values:
|
|
- BATTERY: Battery-powered
|
|
- MAINS: Mains electricity
|
|
- POE: Power over Ethernet
|
|
- SOLAR: Solar-powered
|
|
- USB: USB-powered
|
|
range: string
|
|
examples:
|
|
- value: BATTERY
|
|
description: Battery-powered beacon
|
|
- value: MAINS
|
|
description: Mains-powered kiosk
|
|
publishes_to:
|
|
slot_uri: dcat:endpointURL
|
|
description: |
|
|
URL where device data is published (dashboard, API).
|
|
|
|
DCAT: endpointURL for data publication endpoint.
|
|
|
|
For sensors, this may be a monitoring dashboard.
|
|
For beacons, this may be analytics platform.
|
|
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:
|
|
slot_uri: dcat:endpointURL
|
|
description: |
|
|
API endpoint for programmatic access to device data.
|
|
|
|
DCAT: endpointURL for API access.
|
|
range: uri
|
|
examples:
|
|
- value: https://api.museum.nl/sensors/v1/
|
|
description: Sensor data API
|
|
data_format:
|
|
slot_uri: dcterms:format
|
|
description: |
|
|
Format of data produced by the device.
|
|
|
|
Dublin Core: format for data format.
|
|
|
|
Examples:
|
|
- "JSON"
|
|
- "SensorML"
|
|
- "CSV"
|
|
- "MQTT payload"
|
|
range: string
|
|
examples:
|
|
- value: JSON
|
|
description: JSON data format
|
|
update_frequency:
|
|
slot_uri: dcterms:accrualPeriodicity
|
|
description: |
|
|
How often the device sends data/updates.
|
|
|
|
Dublin Core: accrualPeriodicity for frequency.
|
|
|
|
Examples:
|
|
- "Every 5 minutes"
|
|
- "On proximity trigger"
|
|
- "Hourly"
|
|
- "Real-time"
|
|
range: string
|
|
examples:
|
|
- value: Every 5 minutes
|
|
description: Climate sensor update frequency
|
|
- value: On proximity trigger
|
|
description: Beacon trigger frequency
|
|
installed_at_place:
|
|
slot_uri: schema:location
|
|
description: |
|
|
CustodianPlace where this device is installed.
|
|
|
|
Links to CustodianPlace for precise location.
|
|
|
|
Schema.org: location for physical location.
|
|
range: CustodianPlace
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/place/rijksmuseum-gallery-of-honour
|
|
description: Gallery location
|
|
installation_date:
|
|
slot_uri: schema:dateCreated
|
|
description: |
|
|
Date when the device was installed.
|
|
|
|
Schema.org: dateCreated for installation date.
|
|
range: date
|
|
examples:
|
|
- value: '2023-06-15'
|
|
description: Installation date
|
|
decommission_date:
|
|
slot_uri: schema:expires
|
|
description: |
|
|
Date when the device was or will be decommissioned.
|
|
|
|
NULL if still operational.
|
|
|
|
Schema.org: expires for end date.
|
|
range: date
|
|
examples:
|
|
- value: '2028-12-31'
|
|
description: Planned decommission date
|
|
temporal_extent:
|
|
slot_uri: crm:P4_has_time-span
|
|
description: |
|
|
Temporal period during which this device is operational.
|
|
|
|
CIDOC-CRM: P4_has_time-span for fuzzy temporal boundaries.
|
|
|
|
For temporary exhibition devices, captures exhibition dates.
|
|
range: TimeSpan
|
|
examples:
|
|
- value:
|
|
begin_of_the_begin: '2023-06-15'
|
|
description: Device operational since June 2023
|
|
operational_status:
|
|
slot_uri: schema:status
|
|
description: |
|
|
Current operational status of the device.
|
|
|
|
Values:
|
|
- ACTIVE: Currently operational
|
|
- MAINTENANCE: Under maintenance
|
|
- OFFLINE: Not currently functional
|
|
- DECOMMISSIONED: Permanently retired
|
|
- PLANNED: Not yet installed
|
|
|
|
Schema.org: status for current status.
|
|
range: string
|
|
examples:
|
|
- value: ACTIVE
|
|
description: Device is operational
|
|
- value: MAINTENANCE
|
|
description: Device under maintenance
|
|
maintenance_schedule:
|
|
slot_uri: schema:maintenanceSchedule
|
|
description: |
|
|
Maintenance schedule for the device.
|
|
|
|
Examples:
|
|
- "Monthly battery check"
|
|
- "Quarterly calibration"
|
|
- "Annual hardware inspection"
|
|
range: string
|
|
examples:
|
|
- value: Monthly battery check
|
|
description: Beacon maintenance
|
|
was_derived_from:
|
|
slot_uri: prov:wasDerivedFrom
|
|
description: |
|
|
CustodianObservation(s) documenting this device.
|
|
|
|
PROV-O: wasDerivedFrom for observation provenance.
|
|
range: CustodianObservation
|
|
multivalued: true
|
|
required: false
|
|
was_generated_by:
|
|
slot_uri: prov:wasGeneratedBy
|
|
description: |
|
|
ReconstructionActivity that generated this device record.
|
|
|
|
PROV-O: wasGeneratedBy for generation activity.
|
|
range: ReconstructionActivity
|
|
required: false
|
|
refers_to_custodian:
|
|
slot_uri: dcterms:references
|
|
description: |
|
|
The Custodian hub that operates this IoT device (REQUIRED).
|
|
|
|
Links the IoT device to the custodian that owns/operates it.
|
|
|
|
Dublin Core: references for entity reference.
|
|
range: Custodian
|
|
required: true
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
|
|
description: Rijksmuseum custodian hub
|
|
specificity_annotation:
|
|
range: SpecificityAnnotation
|
|
inlined: true
|
|
template_specificity:
|
|
range: TemplateSpecificityScores
|
|
inlined: true
|
|
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/
|
|
data_format: JSON
|
|
update_frequency: Every 5 minutes
|
|
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
|
|
technical_specifications: 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
|
|
slots:
|
|
device_id:
|
|
description: Unique identifier for IoT device/network
|
|
range: uriorcurie
|
|
device_name:
|
|
description: Human-readable device name
|
|
range: string
|
|
device_type:
|
|
description: Type of IoT device
|
|
range: DigitalPresenceTypeEnum
|
|
device_model:
|
|
description: Device model name/number
|
|
range: string
|
|
device_manufacturer:
|
|
description: Device manufacturer
|
|
range: string
|
|
device_count:
|
|
description: Number of devices in network
|
|
range: integer
|
|
coverage_area:
|
|
description: Physical area covered
|
|
range: string
|
|
purpose:
|
|
description: Purpose and use case
|
|
range: string
|
|
technical_specification:
|
|
description: Technical details
|
|
range: string
|
|
connectivity_type:
|
|
description: Network connectivity type
|
|
range: string
|
|
power_source:
|
|
description: Power source type
|
|
range: string
|
|
publishes_to:
|
|
description: Data publication endpoint
|
|
range: uri
|
|
data_format:
|
|
description: Format of data produced
|
|
range: string
|
|
update_frequency:
|
|
description: Data update frequency
|
|
range: string
|
|
installed_at_place:
|
|
description: Installation location
|
|
range: CustodianPlace
|
|
installation_date:
|
|
description: Date device was installed
|
|
range: date
|
|
decommission_date:
|
|
description: Date device was/will be decommissioned
|
|
range: date
|
|
operational_status:
|
|
description: Current operational status
|
|
range: string
|
|
maintenance_schedule:
|
|
description: Maintenance schedule
|
|
range: string
|