glam/schemas/20251121/linkml/modules/classes/DigitalPlatform.yaml
kempersc fcd1c21c63 Add aliases and enhance slot definitions across various modules
- Added new aliases for existing slots to improve clarity and usability, including:
  - has_deadline: has_embargo_end_date
  - has_extent: has_extent_text
  - has_fonds: has_fond
  - has_laboratory: conservation_lab
  - has_language: has_iso_code639_1, has_iso_code639_3
  - has_legal_basis: legal_basis
  - has_light_exposure: max_light_lux
  - has_measurement_unit: has_unit
  - has_note: has_custodian_observation
  - has_occupation: occupation
  - has_operating_hours: has_operating_hours
  - has_position: position
  - has_quantity: has_artwork_count, link_count
  - has_roadmap: review_date
  - has_skill: skill
  - has_speaker: speaker_label
  - has_specification: specification_url
  - has_statement: rights_statement_url, rights_statement
  - has_type: custodian_only
  - has_user_category: serves_visitors_only
  - hold_record_set: record_count
  - identified_by: has_index_number
  - in_period: has_period
  - in_place: has_place
  - in_series: has_series
  - measure: has_measurement
  - measured_on: measurement_date
  - organized_by: has_organizer
  - originate_from: has_origin
  - part_of: suborganization_of
  - published_on: has_publication_date
  - receive_investment: has_investment
  - related_to: connection_heritage_type
  - require: preservation_requirement
  - safeguarded_by: current_keeper, record_holder_note
  - state: states_or_stated
  - take_comission: takes_or_took_comission
  - take_place_at: takes_or_took_place_at
  - transmit_through: transmits_or_transmitted_through
  - warrant: warrants_or_warranted

- Introduced a new slot definition for evaluated_through to capture evaluation methodologies and review statuses.
2026-02-14 14:41:49 +01:00

310 lines
11 KiB
YAML

id: https://nde.nl/ontology/hc/class/digital-platform
name: digital_platform_class
title: DigitalPlatform Class
imports:
- linkml:types
- ../slots/related_to
- ../slots/has_endpoint
- ../slots/has_score
- ../slots/has_url
- ../slots/has_inventory
- ../slots/associated_with
- ../slots/checked_through
- ../slots/derive_from
- ../slots/generated_by
- ../slots/stored_at
- ../slots/has_linked_data
- ../slots/has_standard
- ../slots/identified_by
- ../slots/has_label
- ../slots/has_type
- ../slots/has_level
- ../slots/refer_to
- ../slots/powered_by
- ../slots/has_finding_aid
- ../slots/temporal_extent
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
foaf: http://xmlns.com/foaf/0.1/
dcat: http://www.w3.org/ns/dcat#
dcterms: http://purl.org/dc/terms/
crm: http://www.cidoc-crm.org/cidoc-crm/
doap: http://usefulinc.com/ns/doap#
premis: http://www.loc.gov/premis/rdf/v3/
prov: http://www.w3.org/ns/prov#
classes:
DigitalPlatform:
is_a: ReconstructedEntity
class_uri: schema:WebSite
description: "Digital platform or online system associated with a heritage custodian.\n\
\n**CRITICAL DISTINCTION**:\n\n**DigitalPlatform CLASS** (this class):\n- Represents\
\ the DIGITAL INFRASTRUCTURE of any custodian\n- Used by PHYSICAL institutions\
\ (museums, archives, libraries) to represent their websites\n- Used by DIGITAL-FIRST\
\ institutions to represent their primary platform\n- Examples: Rijksmuseum\
\ website, museum online catalog, archive digital portal\n\n**DigitalPlatformType**\
\ (custodian type):\n- Classification for DIGITAL-FIRST custodians (online-only,\
\ no physical building)\n- Example: Europeana (aggregation platform), Internet\
\ Archive (born-digital)\n\n**Decision Rules**:\n\n1. **Physical Institution\
\ with Website**:\n - Custodian.custodian_type = MUSEUM/ARCHIVE/LIBRARY (not\
\ DIGITAL_PLATFORM)\n - Custodian.digital_platform → DigitalPlatform instance\
\ (this class)\n - Example: Rijksmuseum (MUSEUM) has Rijksstudio (DigitalPlatform)\n\
\n2. **Digital-First Institution**:\n - Custodian.custodian_type = DIGITAL_PLATFORM\
\ (DigitalPlatformType)\n - Custodian.digital_platform → DigitalPlatform instance\
\ (primary platform)\n - Example: Europeana (DIGITAL_PLATFORM) operates at\
\ https://europeana.eu/\n\n**Relationship to Custodian Hub**:\n\nDigitalPlatform\
\ is DIRECTLY connected to Custodian via refers_to_custodian,\njust like CustodianPlace,\
\ CustodianName, and CustodianLegalStatus.\n\nThis allows modeling:\n- Multiple\
\ digital platforms per custodian (website + API + mobile app)\n- Platform evolution\
\ over time (temporal validity)\n- Platform features and technical capabilities\n\
- Access points for digital heritage\n\n- Schema.org: schema:WebSite (primary),\
\ schema:WebApplication\n- DCAT: dcat:Catalog (for aggregation platforms), dcat:DataService\
\ (for APIs)\n- FOAF: foaf:homepage, foaf:Document\n- CIDOC-CRM: crm:E73_Information_Object\
\ (digital objects)\n\n**Example - Physical Museum with Digital Platform**:\n\
```yaml\nCustodian:\n identified_by: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\"\
\n preferred_label: \"Rijksmuseum\"\n custodian_type: MUSEUM # Physical institution\n\
\ digital_platform:\n - platform_name: \"Rijksmuseum Website\"\n homepage_web_address:\
\ \"https://www.rijksmuseum.nl/\"\n platform_type: DISCOVERY_PORTAL\n \
\ iiif_support: true\n linked_data: true\n```\n\n**Example - Digital-First\
\ Platform**:\n```yaml\nCustodian:\n identified_by: \"https://nde.nl/ontology/hc/eu-europeana\"\
\n preferred_label: \"Europeana\"\n custodian_type: DIGITAL_PLATFORM # Digital-first\n\
\ digital_platform:\n - platform_name: \"Europeana Platform\"\n homepage_web_address:\
\ \"https://www.europeana.eu/\"\n platform_type: AGGREGATION_PLATFORM\n\
\ api_endpoint: \"https://api.europeana.eu/\"\n iiif_support: true\n\
\ linked_data: true\n programming_languages: [\"Java\", \"Python\"\
, \"JavaScript\"]\n```\n"
exact_mappings:
- schema:WebSite
close_mappings:
- foaf:homepage
- schema:WebApplication
- dcat:Catalog
- dcat:DataService
- crm:E73_Information_Object
- doap:Project
- premis:IntellectualEntity
related_mappings:
- foaf:Document
- schema:SoftwareApplication
- dcat:accessURL
slots:
- has_endpoint
- related_to
- checked_through
- has_url
- has_inventory
- has_linked_data
- has_standard
- has_endpoint
- identified_by
- has_label
- has_type
- has_level
- refer_to
- powered_by
- has_finding_aid
- has_endpoint
- stored_at
- has_score
- temporal_extent
- derive_from
- generated_by
- has_provenance
slot_usage:
identified_by:
# range: string # uriorcurie
required: false
examples:
- value: https://nde.nl/ontology/hc/platform/rijksmuseum-website
has_label:
# range: string
required: false
examples:
- value: Rijksmuseum Website
- value: Europeana Platform
has_type:
# range: string
multivalued: false
required: false
examples:
- value: DigitalArchivePlatform
description: Digital archive platform (wd:Q1224984)
- value: AggregationPlatform
description: Aggregation platform (wd:Q7894)
- value: WEBSITE
has_url:
range: uri
required: false
inlined: false # Fixed invalid inline for primitive type
examples:
- value:
has_url: https://www.rijksmuseum.nl/
has_type: homepage
- value:
has_url: https://www.europeana.eu/
has_type: homepage
has_inventory:
range: uri
multivalued: true
examples:
- value: https://www.nationaalarchief.nl/onderzoeken/index
has_endpoint:
range: APIEndpoint
inlined: true
examples:
- value:
has_url: https://api.europeana.eu/record/v2/
has_description: Europeana REST API endpoint
has_endpoint:
range: uri
examples:
- value: https://api.europeana.eu/sparql
has_endpoint:
range: uri
examples:
- value: https://www.europeana.eu/oai
powered_by:
# range: string
examples:
- value: DSpace 7.2
has_linked_data:
range: boolean
examples:
- value: true
has_standard:
# range: string
multivalued: true
examples:
- value: Dublin Core
- value: MARC21
associated_with:
range: AuxiliaryDigitalPlatform
multivalued: true
inlined_as_list: true
required: false
examples:
- value:
- platform_name: Rijksstudio
has_type:
has_label: PROJECT_WEBSITE
platform_url: https://www.rijksmuseum.nl/nl/rijksstudio
- platform_name: Rijksmuseum Data API
has_type:
has_label: API_ENDPOINT
platform_url: https://data.rijksmuseum.nl/
temporal_extent:
range: TimeSpan
examples:
- value:
begin_of_the_begin: '2008-11-20'
end_of_the_begin: '2008-11-20'
derive_from:
range: CustodianObservation
multivalued: true
required: false
generated_by:
range: ReconstructionActivity
required: false
refer_to:
range: Custodian
required: false
examples:
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
has_level:
# range: string
required: false
examples:
- value: full_preservation
- value: bit_preservation
stored_at:
range: StorageLocation
required: false
inlined: true
examples:
- value:
identified_by: aws-s3-eu-west-1
has_label:
label_text: AWS S3 eu-west-1
language: en
- value:
identified_by: dans-data-archive
has_label:
label_text: DANS Data Archive
language: en
checked_through:
range: FixityVerification
inlined: true
required: false
examples:
- value:
temporal_extent:
begin_of_the_begin: '2025-11-15'
has_label: Last full fixity check
has_finding_aid:
# range: string # uriorcurie
multivalued: true
inlined_as_list: false # Fixed invalid inline for primitive type
required: false
examples:
- value: https://nde.nl/ontology/hc/finding-aid/na/voc-inventory
- value: https://nde.nl/ontology/hc/finding-aid/rm/paintings-catalogue
comments:
- DigitalPlatform is DIRECTLY linked to Custodian hub (not a subclass of CustodianObservation)
- Used by BOTH physical institutions (website) and digital-first custodians (primary
platform)
- 'Multivalued on Custodian: one custodian can have multiple platforms (website
+ API + mobile app)'
- Temporal validity tracks platform lifecycle (launch, shutdown, migration)
- IIIF and linked data flags enable discovery of interoperable platforms
- 'MIGRATED: auxiliary_platforms → has_auxiliary_entities for AuxiliaryDigitalPlatform
sites (project portals, microsites, APIs)'
- Hierarchical pattern mirrors CustodianName → CustodianAppellation relationship
see_also:
- https://schema.org/WebSite
- https://www.w3.org/ns/dcat
- https://iiif.io/
- http://usefulinc.com/ns/doap#
- https://www.loc.gov/standards/premis/
examples:
- value:
platform_id: https://nde.nl/ontology/hc/platform/rijksmuseum-website
platform_name: Rijksmuseum Website
has_type:
- DiscoveryPortal
has_url:
has_url: https://www.rijksmuseum.nl/
has_type: homepage
api_endpoint: https://www.rijksmuseum.nl/api/
linked_data: true
has_standard:
- Dublin Core
- LIDO
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
- value:
platform_id: https://nde.nl/ontology/hc/platform/europeana
platform_name: Europeana Platform
has_type:
- AggregationPlatform
- APIService
has_url:
has_url: https://www.europeana.eu/
has_type: homepage
has_endpoint:
has_url: https://api.europeana.eu/record/v2/
sparql_endpoint: https://api.europeana.eu/sparql
oai_pmh_endpoint: https://www.europeana.eu/oai
linked_data: true
has_standard:
- EDM (Europeana Data Model)
- Dublin Core
- LIDO
- EAD
temporal_extent:
begin_of_the_begin: '2008-11-20'
end_of_the_begin: '2008-11-20'
refers_to_custodian: https://nde.nl/ontology/hc/eu-europeana
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: '[''*'']'