- Removed compliance_status slot and replaced it with has_or_had_status. - Updated has_or_had_status to use ComplianceStatus for structured representation. - Adjusted examples to reflect new structure for compliance status. - Updated documentation to indicate migration and provide details on the ComplianceStatus class.
470 lines
19 KiB
YAML
470 lines
19 KiB
YAML
id: https://nde.nl/ontology/hc/class/digital-platform
|
|
name: digital_platform_class
|
|
title: DigitalPlatform Class
|
|
imports:
|
|
- linkml:types
|
|
- ./Custodian
|
|
- ./CustodianObservation
|
|
- ./ReconstructionActivity
|
|
- ./DigitalPlatformType
|
|
- ./DigitalPlatformTypes
|
|
- ./AuxiliaryDigitalPlatform
|
|
- ./TimeSpan
|
|
- ./CollectionManagementSystem
|
|
- ./DataServiceEndpoint
|
|
- ./OAIPMHEndpoint
|
|
- ./SearchAPI
|
|
- ./METSAPI
|
|
- ./DataServiceEndpointTypes
|
|
# REMOVED - migrated to has_or_had_auxiliary_entities with range AuxiliaryDigitalPlatform (Rule 53)
|
|
# - ../slots/auxiliary_platforms
|
|
- ../slots/has_or_had_auxiliary_entities
|
|
- ../slots/has_or_had_powered_by_cm
|
|
- ../slots/has_or_had_access_restriction
|
|
- ../slots/preservation_level
|
|
- ../slots/has_or_had_api_endpoint
|
|
- ../slots/metadata_standard
|
|
- ../slots/sparql_endpoint
|
|
- ../slots/oai_pmh_endpoint
|
|
- ../slots/platform_type
|
|
- ../slots/platform_name
|
|
# MIGRATED 2026-01-15: storage_location → is_or_was_stored_at + StorageLocation (Rule 53)
|
|
- ../slots/is_or_was_stored_at
|
|
- ./StorageLocation
|
|
- ../slots/serves_finding_aid
|
|
- ./ReconstructedEntity
|
|
- ../slots/has_or_had_data_service_endpoint
|
|
# REMOVED 2026-01-22: ../slots/collection_web_address - migrated to has_or_had_web_page + WebPage (Rule 53)
|
|
- ../slots/has_or_had_web_page
|
|
- ./WebPage
|
|
- ../slots/fixity_check_date
|
|
- ../slots/homepage_web_address
|
|
- ../slots/iiif_support
|
|
- ../slots/inventory_web_address
|
|
- ../slots/linked_data
|
|
- ../slots/platform_id
|
|
- ../slots/programming_language
|
|
- ../slots/refers_to_custodian
|
|
- ../slots/repository_software
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- ../slots/temporal_extent
|
|
- ../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/
|
|
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,\n\
|
|
just 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 hc_id: \"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 hc_id: \"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
|
|
- foaf:homepage
|
|
close_mappings:
|
|
- schema:WebApplication
|
|
- dcat:Catalog
|
|
- dcat:DataService
|
|
- crm:E73_Information_Object
|
|
- doap:Project
|
|
- premis:IntellectualEntity
|
|
related_mappings:
|
|
- foaf:Document
|
|
- schema:SoftwareApplication
|
|
- dcat:accessURL
|
|
slots:
|
|
- has_or_had_access_restriction
|
|
- has_or_had_api_endpoint
|
|
# MIGRATED from auxiliary_platforms to has_or_had_auxiliary_entities (Rule 53)
|
|
# - auxiliary_platforms
|
|
- has_or_had_auxiliary_entities
|
|
# REMOVED 2026-01-22: collection_web_address - migrated to has_or_had_web_page + WebPage (Rule 53)
|
|
- has_or_had_web_page
|
|
- has_or_had_data_service_endpoint
|
|
- fixity_check_date
|
|
- homepage_web_address
|
|
- iiif_support
|
|
- inventory_web_address
|
|
- linked_data
|
|
- metadata_standard
|
|
- oai_pmh_endpoint
|
|
- platform_id
|
|
- platform_name
|
|
- platform_type
|
|
- has_or_had_powered_by_cm
|
|
- preservation_level
|
|
- programming_language
|
|
- refers_to_custodian
|
|
- repository_software
|
|
- serves_finding_aid
|
|
- sparql_endpoint
|
|
- specificity_annotation
|
|
- is_or_was_stored_at # was: storage_location - migrated per Rule 53 (2026-01-15)
|
|
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- temporal_extent
|
|
- 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
|
|
attributes:
|
|
# Enrichment attributes from automated extraction (simple/flat structure)
|
|
platform_url:
|
|
range: uri
|
|
description: URL of the platform (enrichment data field)
|
|
platform_category:
|
|
range: Any
|
|
description: Category of platform (can be string or list)
|
|
digital_collections:
|
|
range: string
|
|
description: Description of digital collections available
|
|
technology_stack:
|
|
range: string
|
|
description: Technology stack description
|
|
data_standards:
|
|
range: Any
|
|
description: Data standards used (can be string or list)
|
|
user_services:
|
|
range: string
|
|
description: User services offered
|
|
sustainability_model:
|
|
range: string
|
|
description: Sustainability/funding model
|
|
enrichment_timestamp:
|
|
range: string
|
|
description: Timestamp of enrichment extraction
|
|
source_method:
|
|
range: string
|
|
description: Method used to extract data (automated_extraction, manual, etc.)
|
|
enrichment_source:
|
|
range: string
|
|
description: Source of enrichment data (kien_registry, KB Netherlands Library Network, manual_curation, web_research, website_scrape_and_google_maps, etc.)
|
|
provenance:
|
|
range: Any
|
|
description: Provenance information for this platform record
|
|
inlined: true
|
|
slot_usage:
|
|
platform_id:
|
|
range: uriorcurie
|
|
required: false
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/platform/rijksmuseum-website
|
|
description: Platform ID for Rijksmuseum website
|
|
platform_name:
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: Rijksmuseum Website
|
|
description: Main website name
|
|
- value: Europeana Platform
|
|
description: Aggregation platform name
|
|
platform_type:
|
|
range: Any
|
|
multivalued: false
|
|
required: false
|
|
description: Platform type - can be string, array of DigitalPlatformType, or null
|
|
examples:
|
|
- value: DigitalArchivePlatform
|
|
description: Digital archive platform (wd:Q1224984)
|
|
- value: AggregationPlatform
|
|
description: Aggregation platform (wd:Q7894)
|
|
- value: WEBSITE
|
|
description: Simple string type from enrichment data
|
|
homepage_web_address:
|
|
range: uri
|
|
required: false
|
|
pattern: ^https?://
|
|
examples:
|
|
- value: https://www.rijksmuseum.nl/
|
|
description: Rijksmuseum homepage
|
|
- value: https://www.europeana.eu/
|
|
description: Europeana homepage
|
|
has_or_had_web_page: # was: collection_web_address - migrated per Rule 53 (2026-01-22)
|
|
description: |
|
|
MIGRATED from collection_web_address per slot_fixes.yaml (Rule 53, 2026-01-22).
|
|
Web pages for accessing digital collections on this platform.
|
|
Uses WebPage class for structured representation with URL and metadata.
|
|
range: WebPage
|
|
multivalued: true
|
|
inlined: true
|
|
inlined_as_list: true
|
|
examples:
|
|
- value:
|
|
has_or_had_label:
|
|
label_value: "Rijksstudio Collections"
|
|
has_or_had_url:
|
|
- has_or_had_url: "https://www.rijksmuseum.nl/nl/rijksstudio"
|
|
has_or_had_type: collection_access
|
|
description: Rijksstudio collection access web page
|
|
inventory_web_address:
|
|
range: uri
|
|
multivalued: true
|
|
examples:
|
|
- value: https://www.nationaalarchief.nl/onderzoeken/index
|
|
description: National Archives finding aids
|
|
has_or_had_api_endpoint:
|
|
range: uri
|
|
examples:
|
|
- value: https://api.europeana.eu/record/v2/
|
|
description: Europeana REST API endpoint
|
|
sparql_endpoint:
|
|
range: uri
|
|
examples:
|
|
- value: https://api.europeana.eu/sparql
|
|
description: Europeana SPARQL endpoint
|
|
oai_pmh_endpoint:
|
|
range: uri
|
|
examples:
|
|
- value: https://www.europeana.eu/oai
|
|
description: Europeana OAI-PMH endpoint
|
|
programming_language:
|
|
range: string
|
|
multivalued: true
|
|
examples:
|
|
- value: Java
|
|
description: Primary backend language
|
|
- value: Python
|
|
description: Data processing language
|
|
- value: JavaScript
|
|
description: Frontend language
|
|
repository_software:
|
|
range: string
|
|
examples:
|
|
- value: DSpace 7.2
|
|
description: Digital repository software
|
|
has_or_had_powered_by_cm:
|
|
range: CollectionManagementSystem
|
|
multivalued: true
|
|
required: false
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib
|
|
description: Platform powered by Rijksmuseum's Adlib CMS
|
|
iiif_support:
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
description: Platform supports IIIF
|
|
- value: false
|
|
description: No IIIF support
|
|
linked_data:
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
description: Platform provides linked data
|
|
- value: false
|
|
description: No linked data
|
|
metadata_standard:
|
|
range: string
|
|
multivalued: true
|
|
examples:
|
|
- value: Dublin Core
|
|
description: Basic descriptive standard
|
|
- value: MARC21
|
|
description: Library catalog standard
|
|
has_or_had_access_restriction:
|
|
range: string
|
|
examples:
|
|
- value: Public access
|
|
description: Open to all users
|
|
- value: API key required
|
|
description: Developer registration needed
|
|
# MIGRATED from auxiliary_platforms / has_auxiliary_platform (Rule 53)
|
|
has_or_had_auxiliary_entities:
|
|
description: |
|
|
MIGRATED from auxiliary_platforms (Rule 53).
|
|
Subordinate or auxiliary digital platforms associated with this platform.
|
|
range: AuxiliaryDigitalPlatform
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
required: false
|
|
examples:
|
|
- value:
|
|
- platform_name: Rijksstudio
|
|
auxiliary_platform_type: PROJECT_WEBSITE
|
|
platform_url: https://www.rijksmuseum.nl/nl/rijksstudio
|
|
- platform_name: Rijksmuseum Data API
|
|
auxiliary_platform_type: API_ENDPOINT
|
|
platform_url: https://data.rijksmuseum.nl/
|
|
description: Rijksmuseum subordinate digital platforms
|
|
temporal_extent:
|
|
range: TimeSpan
|
|
examples:
|
|
- value:
|
|
begin_of_the_begin: '2008-11-20'
|
|
end_of_the_begin: '2008-11-20'
|
|
description: Europeana launched November 20, 2008
|
|
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: false
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
|
|
description: Rijksmuseum custodian hub
|
|
preservation_level:
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: full_preservation
|
|
description: Complete digital preservation with format migration
|
|
- value: bit_preservation
|
|
description: Bit-level integrity preservation only
|
|
is_or_was_stored_at: # was: storage_location - migrated per Rule 53 (2026-01-15)
|
|
range: StorageLocation
|
|
required: false
|
|
inlined: true
|
|
description: |
|
|
Physical or digital storage infrastructure for this platform.
|
|
MIGRATED from storage_location per slot_fixes.yaml (Rule 53).
|
|
Uses StorageLocation class for unified location modeling.
|
|
examples:
|
|
- value:
|
|
has_or_had_identifier: aws-s3-eu-west-1
|
|
has_or_had_label:
|
|
label_text: AWS S3 eu-west-1
|
|
language: en
|
|
description: Cloud storage in EU West region
|
|
- value:
|
|
has_or_had_identifier: dans-data-archive
|
|
has_or_had_label:
|
|
label_text: DANS Data Archive
|
|
language: en
|
|
description: Dutch trusted digital repository
|
|
fixity_check_date:
|
|
range: date
|
|
required: false
|
|
examples:
|
|
- value: '2025-11-15'
|
|
description: Last fixity check date
|
|
serves_finding_aid:
|
|
range: uriorcurie
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
required: false
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/finding-aid/na/voc-inventory
|
|
description: VOC Archives inventory finding aid
|
|
- value: https://nde.nl/ontology/hc/finding-aid/rm/paintings-catalogue
|
|
description: Rijksmuseum paintings catalogue
|
|
has_or_had_data_service_endpoint:
|
|
range: DataServiceEndpoint
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
required: false
|
|
examples:
|
|
- value:
|
|
- endpoint_id: https://nde.nl/ontology/hc/endpoint/na-oai-pmh
|
|
endpoint_name: Nationaal Archief OAI-PMH
|
|
endpoint_url: https://www.nationaalarchief.nl/onderzoeken/oai-pmh
|
|
protocol: OAI_PMH
|
|
status: ACTIVE
|
|
description: Nationaal Archief data service endpoints
|
|
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_or_had_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
|
|
platform_type:
|
|
- DiscoveryPortal
|
|
homepage_web_address: https://www.rijksmuseum.nl/
|
|
has_or_had_web_page: # was: collection_web_address - migrated per Rule 53 (2026-01-22)
|
|
- has_or_had_label:
|
|
label_value: "Rijksstudio Collections"
|
|
has_or_had_url:
|
|
- has_or_had_url: "https://www.rijksmuseum.nl/nl/rijksstudio"
|
|
has_or_had_type: collection_access
|
|
api_endpoint: https://www.rijksmuseum.nl/api/
|
|
iiif_support: true
|
|
linked_data: true
|
|
metadata_standard:
|
|
- Dublin Core
|
|
- LIDO
|
|
access_restrictions: Public access, API key required for API
|
|
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804
|
|
description: Rijksmuseum digital platform (physical museum with website)
|
|
- value:
|
|
platform_id: https://nde.nl/ontology/hc/platform/europeana
|
|
platform_name: Europeana Platform
|
|
platform_type:
|
|
- AggregationPlatform
|
|
- APIService
|
|
homepage_web_address: https://www.europeana.eu/
|
|
has_or_had_web_page: # was: collection_web_address - migrated per Rule 53 (2026-01-22)
|
|
- has_or_had_label:
|
|
label_value: "Europeana Collections Browse"
|
|
has_or_had_url:
|
|
- has_or_had_url: "https://www.europeana.eu/en/collections"
|
|
has_or_had_type: collection_access
|
|
api_endpoint: https://api.europeana.eu/record/v2/
|
|
sparql_endpoint: https://api.europeana.eu/sparql
|
|
oai_pmh_endpoint: https://www.europeana.eu/oai
|
|
programming_language:
|
|
- Java
|
|
- Python
|
|
- JavaScript
|
|
iiif_support: true
|
|
linked_data: true
|
|
metadata_standard:
|
|
- EDM (Europeana Data Model)
|
|
- Dublin Core
|
|
- LIDO
|
|
- EAD
|
|
access_restrictions: Public access, API key required for API
|
|
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
|
|
description: Europeana platform (digital-first aggregation platform)
|