Refactor Access schema and related components
- Updated Access.yaml to replace properties with new slots: has_or_had_type, has_or_had_user_category, condition_of_access, and has_or_had_description. - Introduced AccessTypeEnum for standardized access types. - Migrated eligible_users to has_or_had_user_category slot. - Adjusted examples in Access.yaml to reflect new slot structure. - Modified AuxiliaryPlace, CustodianPlace, GeoSpatialPlace, ServiceArea schemas to use has_or_had_format for geometry representation. - Added new slots and enums for better categorization and access control.
This commit is contained in:
parent
4a518f587c
commit
7b4e113a5a
9 changed files with 103 additions and 88 deletions
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"generated": "2026-01-28T14:04:12.253Z",
|
||||
"generated": "2026-01-28T14:11:21.183Z",
|
||||
"schemaRoot": "/schemas/20251121/linkml",
|
||||
"totalFiles": 3000,
|
||||
"categoryCounts": {
|
||||
|
|
|
|||
|
|
@ -24,6 +24,11 @@ imports:
|
|||
- ./TimeSpan
|
||||
- ../slots/has_or_had_frequency
|
||||
- ./Frequency
|
||||
- ../slots/condition_of_access
|
||||
- ../slots/has_or_had_type
|
||||
- ../slots/has_or_had_description
|
||||
- ../slots/has_or_had_user_category
|
||||
- ../enums/AccessTypeEnum
|
||||
|
||||
classes:
|
||||
Access:
|
||||
|
|
@ -36,10 +41,10 @@ classes:
|
|||
data capturing access types, eligible users, conditions, and restrictions.
|
||||
|
||||
**Key Properties**:
|
||||
- `access_type`: Type of access (PUBLIC, BY_APPOINTMENT, RESTRICTED, etc.)
|
||||
- `eligible_users`: Who can access (public, students, faculty, researchers)
|
||||
- `access_conditions`: Conditions or requirements for access
|
||||
- `access_restrictions`: Specific restrictions that apply
|
||||
- `has_or_had_type`: Type of access (PUBLIC, BY_APPOINTMENT, RESTRICTED, etc.)
|
||||
- `has_or_had_user_category`: Who can access (public, students, faculty, researchers)
|
||||
- `condition_of_access`: Conditions or requirements for access
|
||||
- `has_or_had_description`: Free-text description
|
||||
- `temporal_extent`: When this access policy applies
|
||||
|
||||
**Access Types**:
|
||||
|
|
@ -67,16 +72,22 @@ classes:
|
|||
- crm:E30_Right
|
||||
|
||||
slots:
|
||||
- eligible_users
|
||||
- has_or_had_type
|
||||
- has_or_had_user_category
|
||||
- condition_of_access
|
||||
- has_or_had_description
|
||||
- temporal_extent
|
||||
- is_digital_access
|
||||
- has_or_had_frequency
|
||||
|
||||
slot_usage:
|
||||
eligible_users:
|
||||
has_or_had_type:
|
||||
range: AccessTypeEnum
|
||||
required: true
|
||||
description: Type of access offered
|
||||
|
||||
has_or_had_user_category:
|
||||
required: false
|
||||
range: string
|
||||
multivalued: true
|
||||
description: |
|
||||
Categories of users eligible for this access.
|
||||
Examples: "enrolled students", "faculty", "visiting scholars",
|
||||
|
|
@ -97,7 +108,7 @@ classes:
|
|||
is_digital_access:
|
||||
required: false
|
||||
range: boolean
|
||||
description: Whether this access is for digital materials
|
||||
description: Whether this is digital access
|
||||
has_or_had_frequency:
|
||||
required: false
|
||||
range: Frequency
|
||||
|
|
@ -121,100 +132,42 @@ classes:
|
|||
|
||||
examples:
|
||||
- value:
|
||||
access_type: PUBLIC
|
||||
access_description: "Open to general public during gallery hours"
|
||||
eligible_users:
|
||||
has_or_had_type: PUBLIC
|
||||
has_or_had_description: "Open to general public during gallery hours"
|
||||
has_or_had_user_category:
|
||||
- "general public"
|
||||
access_conditions:
|
||||
condition_of_access:
|
||||
- "during posted gallery hours"
|
||||
description: "Public access during gallery hours"
|
||||
|
||||
- value:
|
||||
access_type: BY_APPOINTMENT
|
||||
eligible_users:
|
||||
has_or_had_type: BY_APPOINTMENT
|
||||
has_or_had_user_category:
|
||||
- "credentialed researchers"
|
||||
- "graduate students with faculty sponsor"
|
||||
access_conditions:
|
||||
condition_of_access:
|
||||
- "48-hour advance booking required"
|
||||
- "handling training required for original materials"
|
||||
access_restrictions:
|
||||
- "fragile materials limited to supervised viewing only"
|
||||
description: "Research access by appointment with conditions"
|
||||
|
||||
- value:
|
||||
access_type: ACADEMIC
|
||||
access_description: "Open to enrolled students and faculty; public by appointment"
|
||||
eligible_users:
|
||||
has_or_had_type: ACADEMIC
|
||||
has_or_had_description: "Open to enrolled students and faculty; public by appointment"
|
||||
has_or_had_user_category:
|
||||
- "enrolled students"
|
||||
- "faculty"
|
||||
- "research staff"
|
||||
access_conditions:
|
||||
condition_of_access:
|
||||
- "valid university ID"
|
||||
is_digital_access: false
|
||||
description: "Academic community access with public by appointment"
|
||||
|
||||
- value:
|
||||
access_type: DIGITAL_ONLY
|
||||
access_description: "Collection accessible only through online database"
|
||||
eligible_users:
|
||||
has_or_had_type: DIGITAL_ONLY
|
||||
has_or_had_description: "Collection accessible only through online database"
|
||||
has_or_had_user_category:
|
||||
- "anyone with internet access"
|
||||
is_digital_access: true
|
||||
description: "Digital-only access"
|
||||
|
||||
slots:
|
||||
access_type:
|
||||
slot_uri: dcterms:accessRights
|
||||
description: Type of access offered
|
||||
range: string
|
||||
required: true
|
||||
|
||||
eligible_users:
|
||||
slot_uri: schema:eligibleRegion
|
||||
description: Categories of users eligible for access
|
||||
range: string
|
||||
multivalued: true
|
||||
|
||||
access_conditions:
|
||||
slot_uri: schema:termsOfService
|
||||
description: Conditions for access
|
||||
range: string
|
||||
multivalued: true
|
||||
|
||||
access_restrictions:
|
||||
slot_uri: schema:usageInfo
|
||||
description: Restrictions on access
|
||||
range: string
|
||||
multivalued: true
|
||||
|
||||
access_description:
|
||||
slot_uri: schema:description
|
||||
description: Free-text description of access policy
|
||||
range: string
|
||||
|
||||
is_digital_access:
|
||||
slot_uri: schema:isAccessibleForFree
|
||||
description: Whether this is digital access
|
||||
range: boolean
|
||||
|
||||
enums:
|
||||
AccessTypeEnum:
|
||||
description: Types of access to collections or services
|
||||
permissible_values:
|
||||
PUBLIC:
|
||||
description: Open to general public
|
||||
BY_APPOINTMENT:
|
||||
description: Requires advance appointment
|
||||
ACADEMIC:
|
||||
description: Restricted to academic community
|
||||
RESEARCHER:
|
||||
description: Restricted to credentialed researchers
|
||||
MEMBER:
|
||||
description: Requires membership
|
||||
RESTRICTED:
|
||||
description: Limited access with specific conditions
|
||||
CLOSED:
|
||||
description: Not currently accessible
|
||||
DIGITAL_ONLY:
|
||||
description: Available only in digital form
|
||||
MIXED:
|
||||
description: Multiple access types apply
|
||||
|
|
|
|||
|
|
@ -282,7 +282,8 @@ classes:
|
|||
latitude: 52.1561
|
||||
longitude: 5.3878
|
||||
has_or_had_geometry:
|
||||
- as_wkt: POLYGON((5.385 52.154, 5.390 52.154, 5.390 52.158, 5.385 52.158, 5.385 52.154))
|
||||
- has_or_had_format:
|
||||
has_or_had_value: POLYGON((5.385 52.154, 5.390 52.154, 5.390 52.158, 5.385 52.158, 5.385 52.154))
|
||||
has_or_had_type:
|
||||
has_or_had_label: POLYGON
|
||||
osm_id: way/234567890
|
||||
|
|
@ -296,7 +297,8 @@ classes:
|
|||
latitude: 52.3086
|
||||
longitude: 4.7639
|
||||
has_or_had_geometry:
|
||||
- as_wkt: POINT(4.7639 52.3086)
|
||||
- has_or_had_format:
|
||||
has_or_had_value: POINT(4.7639 52.3086)
|
||||
has_or_had_type:
|
||||
has_or_had_label: POINT
|
||||
geonames_id: 2747891
|
||||
|
|
|
|||
|
|
@ -284,7 +284,8 @@ classes:
|
|||
latitude: 52.36
|
||||
longitude: 4.8852
|
||||
has_or_had_geometry:
|
||||
- as_wkt: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830 52.3610, 4.8830 52.3590))
|
||||
- has_or_had_format:
|
||||
has_or_had_value: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830 52.3610, 4.8830 52.3590))
|
||||
has_or_had_type:
|
||||
has_or_had_label: POLYGON
|
||||
geonames_id: 6930126
|
||||
|
|
|
|||
|
|
@ -10,12 +10,17 @@ default_prefix: hc
|
|||
imports:
|
||||
- linkml:types
|
||||
- ../slots/has_or_had_label
|
||||
- ../slots/is_or_was_generated_by
|
||||
- ./GenerationEvent
|
||||
- ./ConfidenceScore
|
||||
classes:
|
||||
DetectedLandmark:
|
||||
class_uri: schema:LandmarksOrHistoricalBuildings
|
||||
description: Detected landmark.
|
||||
slots:
|
||||
- has_or_had_label
|
||||
- is_or_was_generated_by
|
||||
|
||||
annotations:
|
||||
specificity_score: 0.1
|
||||
specificity_rationale: Generic utility class/slot created during migration
|
||||
|
|
|
|||
|
|
@ -158,7 +158,8 @@ classes:
|
|||
precision: 1.0
|
||||
altitude: 0.0
|
||||
has_or_had_geometry:
|
||||
- as_wkt: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830 52.3610, 4.8830 52.3590))
|
||||
- has_or_had_format:
|
||||
has_or_had_value: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830 52.3610, 4.8830 52.3590))
|
||||
has_or_had_type:
|
||||
has_or_had_label: POLYGON
|
||||
coordinate_reference_system: EPSG:4326
|
||||
|
|
@ -196,7 +197,8 @@ classes:
|
|||
longitude: 4.8
|
||||
precision: 1000.0
|
||||
has_or_had_geometry:
|
||||
- as_wkt: MULTIPOLYGON(((4.5 52.2, 5.2 52.2, 5.2 52.8, 4.5 52.8, 4.5 52.2)))
|
||||
- has_or_had_format:
|
||||
has_or_had_value: MULTIPOLYGON(((4.5 52.2, 5.2 52.2, 5.2 52.8, 4.5 52.8, 4.5 52.2)))
|
||||
has_or_had_type:
|
||||
has_or_had_label: MULTIPOLYGON
|
||||
coordinate_reference_system: EPSG:4326
|
||||
|
|
|
|||
|
|
@ -162,7 +162,8 @@ classes:
|
|||
has_boundary:
|
||||
- geospatial_id: https://nde.nl/ontology/hc/geo/nha-boundary
|
||||
has_or_had_geometry:
|
||||
- as_wkt: MULTIPOLYGON(((4.5 52.2, 5.0 52.2, 5.0 52.5, 4.5 52.5, 4.5 52.2)))
|
||||
- has_or_had_format:
|
||||
has_or_had_value: MULTIPOLYGON(((4.5 52.2, 5.0 52.2, 5.0 52.5, 4.5 52.5, 4.5 52.2)))
|
||||
has_or_had_type:
|
||||
has_or_had_label: MULTIPOLYGON
|
||||
temporal_extent:
|
||||
|
|
|
|||
28
schemas/20251121/linkml/modules/enums/AccessTypeEnum.yaml
Normal file
28
schemas/20251121/linkml/modules/enums/AccessTypeEnum.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
id: https://nde.nl/ontology/hc/enum/AccessTypeEnum
|
||||
name: AccessTypeEnum
|
||||
title: Access Type Enum
|
||||
description: Types of access to collections or services.
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
enums:
|
||||
AccessTypeEnum:
|
||||
description: Types of access to collections or services
|
||||
permissible_values:
|
||||
ACADEMIC:
|
||||
description: Restricted to academic community
|
||||
BY_APPOINTMENT:
|
||||
description: Requires advance appointment
|
||||
CLOSED:
|
||||
description: Not currently accessible
|
||||
DIGITAL_ONLY:
|
||||
description: Available only in digital form
|
||||
MEMBER:
|
||||
description: Requires membership
|
||||
MIXED:
|
||||
description: Multiple access types apply
|
||||
PUBLIC:
|
||||
description: Open to general public
|
||||
RESEARCHER:
|
||||
description: Restricted to credentialed researchers
|
||||
RESTRICTED:
|
||||
description: Limited access with specific conditions
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
id: https://nde.nl/ontology/hc/slot/has_or_had_user_category
|
||||
name: has_or_had_user_category
|
||||
title: Has or Had User Category
|
||||
description: >-
|
||||
Categories of users eligible for access.
|
||||
MIGRATED from eligible_users.
|
||||
prefixes:
|
||||
linkml: https://w3id.org/linkml/
|
||||
hc: https://nde.nl/ontology/hc/
|
||||
schema: http://schema.org/
|
||||
default_prefix: hc
|
||||
imports:
|
||||
- linkml:types
|
||||
slots:
|
||||
has_or_had_user_category:
|
||||
slot_uri: schema:eligibleRegion
|
||||
description: Categories of users eligible for access.
|
||||
range: string
|
||||
multivalued: true
|
||||
inlined: true
|
||||
annotations:
|
||||
custodian_types: ["*"]
|
||||
custodian_types_rationale: "Universal utility concept"
|
||||
Loading…
Reference in a new issue