533 lines
18 KiB
YAML
533 lines
18 KiB
YAML
# AccessPolicy Class - Access restrictions and conditions for heritage collections
|
|
#
|
|
# This class defines access policies governing how heritage collections can be accessed.
|
|
# Used by Collection class to specify access conditions.
|
|
#
|
|
# Ontology alignment:
|
|
# - PREMIS: premis:RightsDeclaration
|
|
# - Dublin Core: dcterms:accessRights
|
|
# - RiC-O: rico:hasOrHadAllMembersWithAccessConditions
|
|
#
|
|
# Generation date: 2025-12-08
|
|
|
|
id: https://nde.nl/ontology/hc/class/AccessPolicy
|
|
name: access_policy_class
|
|
title: AccessPolicy Class
|
|
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
premis: http://www.loc.gov/premis/rdf/v3/
|
|
dcterms: http://purl.org/dc/terms/
|
|
rico: https://www.ica.org/standards/RiC/ontology#
|
|
schema: http://schema.org/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
wd: http://www.wikidata.org/entity/
|
|
|
|
default_prefix: hc
|
|
|
|
imports:
|
|
- linkml:types
|
|
- ../slots/valid_from
|
|
- ../slots/valid_to
|
|
- ../slots/embargo_end_date
|
|
- ../slots/contact_email
|
|
- ../slots/policy_id
|
|
- ../slots/policy_name
|
|
|
|
classes:
|
|
AccessPolicy:
|
|
class_uri: premis:RightsDeclaration
|
|
description: |
|
|
Access policy defining conditions under which heritage collections can be accessed.
|
|
|
|
**PURPOSE**:
|
|
|
|
AccessPolicy captures the access conditions governing a Collection:
|
|
- WHO can access (public, researchers, staff only)
|
|
- HOW access is granted (open, by appointment, with credentials)
|
|
- WHEN access is available (opening hours, embargo periods)
|
|
- WHAT restrictions apply (fragile materials, privacy, cultural sensitivity)
|
|
|
|
**ONTOLOGY ALIGNMENT**:
|
|
|
|
1. **PREMIS**:
|
|
- `premis:RightsDeclaration` - "An assertion of one or more rights or
|
|
permissions pertaining to an object and/or its content."
|
|
- Links to Collection via premis:hasRightsDeclaration
|
|
|
|
2. **Dublin Core**:
|
|
- `dcterms:accessRights` - "Information about who may access the resource
|
|
or an indication of its security status."
|
|
|
|
3. **RiC-O**:
|
|
- `rico:hasOrHadAllMembersWithAccessConditions` - Links RecordSet to access
|
|
conditions applying to all members
|
|
|
|
4. **RightsStatements.org**:
|
|
- Standardized rights statements for cultural heritage
|
|
- E.g., "In Copyright", "No Copyright", "Unknown Copyright"
|
|
|
|
**ACCESS LEVEL TAXONOMY**:
|
|
|
|
```
|
|
AccessPolicy (root)
|
|
│
|
|
├── OpenAccess
|
|
│ ├── PUBLIC_OPEN - No restrictions, walk-in access
|
|
│ ├── PUBLIC_REGISTRATION - Free registration required
|
|
│ └── PUBLIC_ONLINE - Digital access freely available
|
|
│
|
|
├── RestrictedAccess
|
|
│ ├── RESEARCHERS_ONLY - Academic researchers with credentials
|
|
│ ├── BY_APPOINTMENT - Advance booking required
|
|
│ ├── STAFF_ONLY - Internal access only
|
|
│ └── PERMISSION_REQUIRED - Written permission needed
|
|
│
|
|
├── ClosedAccess
|
|
│ ├── TEMPORARILY_CLOSED - Renovation, conservation
|
|
│ ├── EMBARGOED - Time-limited closure
|
|
│ ├── PERMANENTLY_CLOSED - Not accessible
|
|
│ └── REPATRIATED - Returned to community of origin
|
|
│
|
|
└── ConditionalAccess
|
|
├── CULTURALLY_SENSITIVE - Indigenous/sacred materials
|
|
├── PRIVACY_RESTRICTED - Personal data protection
|
|
├── FRAGILE_HANDLING - Special handling required
|
|
└── LEGAL_RESTRICTION - Copyright, legal constraints
|
|
```
|
|
|
|
**USE CASES**:
|
|
|
|
1. **Archive Open Access**:
|
|
```yaml
|
|
AccessPolicy:
|
|
policy_id: "hc:access-policy/nationaal-archief-open"
|
|
access_level: "PUBLIC_OPEN"
|
|
access_description: "Open to all visitors during reading room hours"
|
|
conditions: "Valid ID required for registration"
|
|
```
|
|
|
|
2. **Restricted Research Materials**:
|
|
```yaml
|
|
AccessPolicy:
|
|
policy_id: "hc:access-policy/university-special-collections"
|
|
access_level: "RESEARCHERS_ONLY"
|
|
access_description: "Academic researchers with institutional affiliation"
|
|
conditions: "Letter of introduction required from supervising institution"
|
|
appointment_required: true
|
|
```
|
|
|
|
3. **Embargoed Collection**:
|
|
```yaml
|
|
AccessPolicy:
|
|
policy_id: "hc:access-policy/donor-embargo-2050"
|
|
access_level: "EMBARGOED"
|
|
access_description: "Closed until 2050 per donor agreement"
|
|
embargo_end_date: "2050-01-01"
|
|
embargo_reason: "Donor privacy restrictions"
|
|
```
|
|
|
|
4. **Culturally Sensitive**:
|
|
```yaml
|
|
AccessPolicy:
|
|
policy_id: "hc:access-policy/indigenous-protocols"
|
|
access_level: "CULTURALLY_SENSITIVE"
|
|
access_description: "Access governed by Traditional Knowledge protocols"
|
|
conditions: "Consultation with originating community required"
|
|
cultural_protocol_url: "https://localcontexts.org/tk-labels/"
|
|
```
|
|
|
|
**RELATIONSHIP TO DIM ARCHIVE**:
|
|
|
|
DimArchive (Dark archive / Preservation-only storage) uses AccessPolicy to express:
|
|
- Materials stored for preservation, not current access
|
|
- Access restricted until triggering conditions (time, event)
|
|
- "Gray literature" or un-catalogued backlogs awaiting processing
|
|
|
|
exact_mappings:
|
|
- premis:RightsDeclaration
|
|
- dcterms:accessRights
|
|
|
|
close_mappings:
|
|
- rico:Rule
|
|
- schema:ActionAccessSpecification
|
|
|
|
related_mappings:
|
|
- rico:hasOrHadAllMembersWithAccessConditions
|
|
|
|
slots:
|
|
- policy_id
|
|
- policy_name
|
|
- access_level
|
|
- access_description
|
|
- conditions
|
|
- rights_statement
|
|
- rights_statement_url
|
|
- appointment_required
|
|
- registration_required
|
|
- credentials_required
|
|
- fee_required
|
|
- fee_amount
|
|
- embargo_end_date
|
|
- embargo_reason
|
|
- cultural_protocol_url
|
|
- legal_basis
|
|
- review_date
|
|
- contact_email
|
|
- valid_from
|
|
- valid_to
|
|
|
|
slot_usage:
|
|
policy_id:
|
|
slot_uri: dcterms:identifier
|
|
description: |
|
|
Unique identifier for this access policy.
|
|
range: uriorcurie
|
|
required: true
|
|
identifier: true
|
|
examples:
|
|
- value: "https://nde.nl/ontology/hc/access-policy/open-access"
|
|
description: "Standard open access policy"
|
|
|
|
policy_name:
|
|
slot_uri: skos:prefLabel
|
|
description: |
|
|
Human-readable name for this policy.
|
|
range: string
|
|
required: true
|
|
examples:
|
|
- value: "Open Access"
|
|
description: "Public open access"
|
|
- value: "Researchers Only"
|
|
description: "Restricted to researchers"
|
|
- value: "Embargoed until 2050"
|
|
description: "Time-limited closure"
|
|
|
|
access_level:
|
|
slot_uri: dcterms:accessRights
|
|
description: |
|
|
Primary access level classification.
|
|
|
|
Values:
|
|
- PUBLIC_OPEN: No restrictions, walk-in access
|
|
- PUBLIC_REGISTRATION: Free registration required
|
|
- PUBLIC_ONLINE: Digital access freely available
|
|
- RESEARCHERS_ONLY: Academic researchers with credentials
|
|
- BY_APPOINTMENT: Advance booking required
|
|
- STAFF_ONLY: Internal access only
|
|
- PERMISSION_REQUIRED: Written permission needed
|
|
- TEMPORARILY_CLOSED: Renovation, conservation
|
|
- EMBARGOED: Time-limited closure
|
|
- PERMANENTLY_CLOSED: Not accessible
|
|
- CULTURALLY_SENSITIVE: Indigenous/sacred materials
|
|
- PRIVACY_RESTRICTED: Personal data protection
|
|
- FRAGILE_HANDLING: Special handling required
|
|
- LEGAL_RESTRICTION: Copyright, legal constraints
|
|
range: string
|
|
required: true
|
|
examples:
|
|
- value: "PUBLIC_OPEN"
|
|
- value: "RESEARCHERS_ONLY"
|
|
- value: "EMBARGOED"
|
|
|
|
access_description:
|
|
slot_uri: dcterms:description
|
|
description: |
|
|
Narrative description of access conditions.
|
|
range: string
|
|
examples:
|
|
- value: "Open to all visitors during reading room hours (Mon-Fri 9-17)"
|
|
description: "Archive public access"
|
|
- value: "Access restricted to academic researchers with institutional affiliation"
|
|
description: "University special collections"
|
|
|
|
conditions:
|
|
slot_uri: rico:conditionOfAccess
|
|
description: |
|
|
Specific conditions or requirements for access.
|
|
|
|
RiC-O: conditionOfAccess for access requirements.
|
|
range: string
|
|
multivalued: true
|
|
examples:
|
|
- value:
|
|
- "Valid government-issued ID required"
|
|
- "Registration form must be completed"
|
|
- "Bags and coats must be stored in lockers"
|
|
description: "Archive access conditions"
|
|
|
|
rights_statement:
|
|
slot_uri: dcterms:rights
|
|
description: |
|
|
Rights statement text (from RightsStatements.org or similar).
|
|
range: string
|
|
examples:
|
|
- value: "In Copyright"
|
|
description: "Copyright protected"
|
|
- value: "No Copyright - United States"
|
|
description: "Public domain (US)"
|
|
|
|
rights_statement_url:
|
|
slot_uri: dcterms:rights
|
|
description: |
|
|
URL to standardized rights statement (RightsStatements.org).
|
|
range: uri
|
|
examples:
|
|
- value: "http://rightsstatements.org/vocab/InC/1.0/"
|
|
description: "In Copyright"
|
|
- value: "http://rightsstatements.org/vocab/NoC-US/1.0/"
|
|
description: "No Copyright - United States"
|
|
|
|
appointment_required:
|
|
slot_uri: schema:requiresAppointment
|
|
description: |
|
|
Whether advance appointment is required.
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
description: "Appointment required"
|
|
- value: false
|
|
description: "Walk-in access"
|
|
|
|
registration_required:
|
|
slot_uri: schema:eligibleCustomerType
|
|
description: |
|
|
Whether registration is required (even for free access).
|
|
range: boolean
|
|
examples:
|
|
- value: true
|
|
description: "Must register as reader"
|
|
|
|
credentials_required:
|
|
slot_uri: schema:eligibleCustomerType
|
|
description: |
|
|
Type of credentials required for access.
|
|
|
|
Values:
|
|
- NONE: No credentials needed
|
|
- INSTITUTIONAL: Affiliation with research institution
|
|
- PROFESSIONAL: Professional membership (archivist, librarian)
|
|
- ACADEMIC: Academic degree or enrollment
|
|
- GOVERNMENT: Government clearance
|
|
range: string
|
|
examples:
|
|
- value: "INSTITUTIONAL"
|
|
description: "Must be affiliated with research institution"
|
|
|
|
fee_required:
|
|
slot_uri: schema:isAccessibleForFree
|
|
description: |
|
|
Whether access requires payment.
|
|
range: boolean
|
|
examples:
|
|
- value: false
|
|
description: "Free access"
|
|
- value: true
|
|
description: "Fee required"
|
|
|
|
fee_amount:
|
|
slot_uri: schema:price
|
|
description: |
|
|
Fee amount if access requires payment.
|
|
range: string
|
|
examples:
|
|
- value: "€5.00 per day"
|
|
description: "Daily reading room fee"
|
|
- value: "Free for researchers, €10 for general public"
|
|
description: "Tiered fee structure"
|
|
|
|
embargo_end_date:
|
|
slot_uri: premis:endDate
|
|
description: |
|
|
Date when embargo ends (for EMBARGOED access level).
|
|
|
|
PREMIS: endDate for rights expiration.
|
|
range: date
|
|
examples:
|
|
- value: "2050-01-01"
|
|
description: "Embargo lifts January 1, 2050"
|
|
|
|
embargo_reason:
|
|
slot_uri: premis:determinationBasis
|
|
description: |
|
|
Reason for embargo (donor restriction, legal, etc.).
|
|
range: string
|
|
examples:
|
|
- value: "Donor privacy restrictions per deed of gift"
|
|
description: "Donor-imposed embargo"
|
|
- value: "Contains personal data protected under GDPR"
|
|
description: "Privacy law embargo"
|
|
|
|
cultural_protocol_url:
|
|
slot_uri: dcterms:conformsTo
|
|
description: |
|
|
URL to cultural protocol (for CULTURALLY_SENSITIVE materials).
|
|
|
|
E.g., Local Contexts Traditional Knowledge labels.
|
|
range: uri
|
|
examples:
|
|
- value: "https://localcontexts.org/tk-labels/"
|
|
description: "Traditional Knowledge labels"
|
|
|
|
legal_basis:
|
|
slot_uri: premis:statute
|
|
description: |
|
|
Legal basis for access restriction.
|
|
|
|
PREMIS: statute for legal foundation.
|
|
range: string
|
|
examples:
|
|
- value: "General Data Protection Regulation (GDPR)"
|
|
description: "EU privacy law"
|
|
- value: "Freedom of Information Act exemption 6"
|
|
description: "US FOIA exemption"
|
|
|
|
review_date:
|
|
slot_uri: dcterms:modified
|
|
description: |
|
|
Date when access policy should be reviewed.
|
|
range: date
|
|
examples:
|
|
- value: "2025-12-31"
|
|
description: "Annual review date"
|
|
|
|
contact_email:
|
|
slot_uri: schema:email
|
|
description: |
|
|
Email contact for access inquiries.
|
|
range: string
|
|
examples:
|
|
- value: "access@nationaalarchief.nl"
|
|
description: "Access request contact"
|
|
|
|
valid_from:
|
|
slot_uri: schema:validFrom
|
|
description: |
|
|
Date when this policy became effective.
|
|
range: date
|
|
|
|
valid_to:
|
|
slot_uri: schema:validThrough
|
|
description: |
|
|
Date when this policy expires (if applicable).
|
|
range: date
|
|
|
|
comments:
|
|
- "AccessPolicy defines access conditions for Collection instances"
|
|
- "Used by Collection.access_policy_ref to link policies to holdings"
|
|
- "Supports RightsStatements.org and Local Contexts protocols"
|
|
- "Temporal validity enables policy versioning and embargo expiration"
|
|
- "DimArchive (dark archive) uses AccessPolicy to express preservation-only access"
|
|
|
|
see_also:
|
|
- "http://www.loc.gov/premis/rdf/v3/RightsDeclaration"
|
|
- "https://rightsstatements.org/"
|
|
- "https://localcontexts.org/"
|
|
- "https://www.ica.org/standards/RiC/ontology#Rule"
|
|
|
|
examples:
|
|
- value:
|
|
policy_id: "https://nde.nl/ontology/hc/access-policy/nationaal-archief-open"
|
|
policy_name: "Nationaal Archief Public Access"
|
|
access_level: "PUBLIC_OPEN"
|
|
access_description: "Open to all visitors during reading room hours"
|
|
conditions:
|
|
- "Valid government-issued ID required"
|
|
- "Registration form must be completed"
|
|
- "Original materials handled with gloves"
|
|
registration_required: true
|
|
appointment_required: false
|
|
fee_required: false
|
|
contact_email: "studiezaal@nationaalarchief.nl"
|
|
description: "Standard archive public access policy"
|
|
|
|
- value:
|
|
policy_id: "https://nde.nl/ontology/hc/access-policy/donor-embargo-2050"
|
|
policy_name: "Embargoed until 2050"
|
|
access_level: "EMBARGOED"
|
|
access_description: "Collection closed until 2050 per donor agreement"
|
|
embargo_end_date: "2050-01-01"
|
|
embargo_reason: "Donor privacy restrictions per deed of gift"
|
|
legal_basis: "Deed of Gift clause 4.2"
|
|
review_date: "2049-06-01"
|
|
description: "Time-limited embargo policy"
|
|
|
|
- value:
|
|
policy_id: "https://nde.nl/ontology/hc/access-policy/dim-archive-preservation"
|
|
policy_name: "DIM Archive - Preservation Only"
|
|
access_level: "TEMPORARILY_CLOSED"
|
|
access_description: "Materials in preservation storage, not currently accessible"
|
|
conditions:
|
|
- "Awaiting processing and cataloging"
|
|
- "Access may be arranged for urgent research needs"
|
|
appointment_required: true
|
|
credentials_required: "PROFESSIONAL"
|
|
contact_email: "preservation@archive.org"
|
|
description: "Dark archive / DIM access policy"
|
|
|
|
# Basic slot definitions
|
|
slots:
|
|
# policy_id: imported from ../slots/policy_id
|
|
# policy_name: imported from ../slots/policy_name
|
|
|
|
access_level:
|
|
description: Primary access level classification
|
|
range: string
|
|
|
|
access_description:
|
|
description: Narrative description of access
|
|
range: string
|
|
|
|
conditions:
|
|
description: Specific access conditions
|
|
range: string
|
|
multivalued: true
|
|
|
|
rights_statement:
|
|
description: Rights statement text
|
|
range: string
|
|
|
|
rights_statement_url:
|
|
description: URL to standardized rights statement
|
|
range: uri
|
|
|
|
appointment_required:
|
|
description: Whether appointment is required
|
|
range: boolean
|
|
|
|
registration_required:
|
|
description: Whether registration is required
|
|
range: boolean
|
|
|
|
credentials_required:
|
|
description: Type of credentials required
|
|
range: string
|
|
|
|
fee_required:
|
|
description: Whether fee is required
|
|
range: boolean
|
|
|
|
fee_amount:
|
|
description: Fee amount description
|
|
range: string
|
|
|
|
# embargo_end_date: imported from ../slots/embargo_end_date
|
|
|
|
embargo_reason:
|
|
description: Reason for embargo
|
|
range: string
|
|
|
|
cultural_protocol_url:
|
|
description: URL to cultural protocol
|
|
range: uri
|
|
|
|
legal_basis:
|
|
description: Legal basis for restriction
|
|
range: string
|
|
|
|
review_date:
|
|
description: Policy review date
|
|
range: date
|
|
|
|
# contact_email: imported from ../slots/contact_email
|