- Updated WorldCatIdentifier.yaml to remove unnecessary description and ensure consistent formatting. - Enhanced WorldHeritageSite.yaml by breaking long description into multiple lines for better readability and removed unused attributes. - Simplified WritingSystem.yaml by removing redundant attributes and ensuring consistent formatting. - Cleaned up XPathScore.yaml by removing unnecessary attributes and ensuring consistent formatting. - Improved YoutubeChannel.yaml by breaking long description into multiple lines for better readability. - Enhanced YoutubeEnrichment.yaml by breaking long description into multiple lines for better readability. - Updated YoutubeVideo.yaml to break long description into multiple lines and removed legacy field name. - Refined has_or_had_affiliation.yaml by removing unnecessary comments and ensuring clarity. - Cleaned up is_or_was_retrieved_at.yaml by removing unnecessary comments and ensuring clarity. - Added rules for generic slots and avoiding rough edits in schema files to maintain structural integrity. - Introduced changes_or_changed_through.yaml to define a new slot for linking entities to change events.
282 lines
11 KiB
YAML
282 lines
11 KiB
YAML
id: https://nde.nl/ontology/hc/class/Address
|
|
name: address_class
|
|
title: Address Class
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
vcard: http://www.w3.org/2006/vcard/ns#
|
|
schema: http://schema.org/
|
|
locn: http://www.w3.org/ns/locn#
|
|
gleif_base: https://www.gleif.org/ontology/Base/
|
|
org: http://www.w3.org/ns/org#
|
|
dcterms: http://purl.org/dc/terms/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
imports:
|
|
- linkml:types
|
|
- ../slots/country_name
|
|
- ../slots/has_or_had_label
|
|
- ../slots/has_or_had_section
|
|
- ../slots/has_or_had_type
|
|
- ../slots/is_or_was_derived_from # was: was_derived_from
|
|
- ../slots/is_or_was_generated_by # was: was_generated_by
|
|
- ../slots/is_or_was_located_in
|
|
- ../slots/latitude
|
|
- ../slots/locality
|
|
- ../slots/longitude
|
|
- ../slots/postal_code
|
|
- ../slots/region
|
|
- ./AddressType
|
|
- ./City # Added for is_or_was_located_in range (2026-01-18, Rule 53)
|
|
- ./Country
|
|
- ./CustodianObservation
|
|
- ./ReconstructionActivity
|
|
- ./Settlement
|
|
- ./Subregion
|
|
- ./HouseNumber
|
|
- ./Label
|
|
default_range: string
|
|
classes:
|
|
Address:
|
|
class_uri: vcard:Address
|
|
description: |
|
|
Physical or postal address for heritage custodians and related entities.
|
|
**ONTOLOGY ALIGNMENT**:
|
|
This class aligns with multiple established address ontologies:
|
|
| Ontology | Class | Notes |
|
|
|----------|-------|-------|
|
|
| **vCard** | `vcard:Address` | RFC6350 ADR property components |
|
|
| **Schema.org** | `schema:PostalAddress` | Web semantics |
|
|
| **LOCN** | `locn:Address` | EU Location Core Vocabulary |
|
|
| **GLEIF** | `gleif_base:PhysicalAddress` | Legal entity addresses |
|
|
**COMPONENT STRUCTURE**:
|
|
An address consists of hierarchical components:
|
|
```
|
|
Address
|
|
├── has_or_had_section (e.g., "1", "221B", "25-27")
|
|
├── has_or_had_label (street name as Label, e.g., "Museumstraat")
|
|
├── postal_code (e.g., "1071 XX")
|
|
├── locality (e.g., "Amsterdam")
|
|
├── region (e.g., "Noord-Holland", "NL-NH")
|
|
├── country_name (e.g., "Netherlands", "NL")
|
|
└── has_or_had_label (formatted address as Label)
|
|
```
|
|
NOTE: street_name slot migrated to has_or_had_label + Label (2026-01-17, Rule 53/56)
|
|
NOTE: street_address slot removed - was redundant string; use house_number + has_or_had_label (2026-01-17, Rule 53/56)
|
|
**ADDRESS TYPES FOR HERITAGE CUSTODIANS**:
|
|
| Type | Use Case |
|
|
|------|----------|
|
|
| `HEADQUARTERS` | Main organizational address |
|
|
| `LEGAL` | Registered legal/business address |
|
|
| `VISITING` | Public visitor entrance |
|
|
| `MAILING` | Correspondence/postal address |
|
|
| `STORAGE` | Depot, warehouse, off-site storage |
|
|
| `BRANCH` | Branch office location |
|
|
**USAGE EXAMPLES**:
|
|
```yaml
|
|
# Simple address with formatted string
|
|
has_or_had_address:
|
|
- address_formatted: "Museumstraat 1, 1071 XX Amsterdam, Netherlands"
|
|
address_type: HEADQUARTERS
|
|
# Structured address with components
|
|
has_or_had_address:
|
|
- has_or_had_label:
|
|
- has_or_had_label: "Museumstraat"
|
|
language: "nl"
|
|
has_or_had_section:
|
|
- has_or_had_value: "1"
|
|
postal_code: "1071 XX"
|
|
locality: "Amsterdam"
|
|
region: "Noord-Holland"
|
|
country_name: "NL"
|
|
address_type: HEADQUARTERS
|
|
latitude: 52.3600
|
|
longitude: 4.8852
|
|
geonames_id: 2759794
|
|
```
|
|
**RELATIONSHIP TO OTHER CLASSES**:
|
|
- `AuxiliaryPlace`: Uses Address for structured address data
|
|
- `CustodianPlace`: May reference Address for place location
|
|
- `ContactPoint`: Uses Address for contact location
|
|
- `Settlement`/`Subregion`/`Country`: Hierarchical geographic entities
|
|
**PROVENANCE**:
|
|
Address data may be extracted from various sources (websites, Google Maps,
|
|
registries). Track provenance with:
|
|
- `was_derived_from`: Link to source observation
|
|
- `is_or_was_generated_by`: Link to extraction activity
|
|
exact_mappings:
|
|
- vcard:Address
|
|
close_mappings:
|
|
- schema:PostalAddress
|
|
- locn:Address
|
|
- gleif_base:PhysicalAddress
|
|
related_mappings:
|
|
- org:siteAddress
|
|
- schema:address
|
|
slots:
|
|
# Street-level components
|
|
- has_or_had_section
|
|
# REMOVED: street_name - migrated to has_or_had_label + Label (2026-01-17, Rule 53/56)
|
|
# REMOVED: street_address - redundant string slot; use house_number + has_or_had_label (2026-01-17, Rule 53/56)
|
|
# Postal components
|
|
- postal_code
|
|
# Locality/geographic hierarchy
|
|
- locality
|
|
# REMOVED: city - migrated to is_or_was_located_in + City (2026-01-18, Rule 53)
|
|
- is_or_was_located_in
|
|
- region
|
|
- country_name
|
|
# Formatted representation (MIGRATED: address_formatted → has_or_had_label)
|
|
- has_or_had_label
|
|
# Classification (MIGRATED: address_type → has_or_had_type)
|
|
- has_or_had_type
|
|
# Geographic coordinates (for geocoded addresses)
|
|
- latitude
|
|
- longitude
|
|
# Provenance
|
|
- 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
|
|
slot_usage:
|
|
has_or_had_section:
|
|
range: HouseNumber
|
|
required: false
|
|
examples:
|
|
- value:
|
|
has_or_had_value: "1"
|
|
- value:
|
|
has_or_had_value: "221B"
|
|
# REMOVED: street_name slot_usage - migrated to has_or_had_label + Label (2026-01-17, Rule 53/56)
|
|
# Street names should now use Label class with language tagging via has_or_had_label
|
|
# REMOVED: street_address slot_usage - redundant string slot removed (2026-01-17, Rule 53/56)
|
|
# Use house_number + has_or_had_label (street name as Label) instead of combined string
|
|
postal_code:
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: "1071 XX"
|
|
locality:
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: "Amsterdam"
|
|
# REMOVED: city slot_usage - migrated to is_or_was_located_in + City (2026-01-18, Rule 53)
|
|
# city:
|
|
# range: string
|
|
# required: false
|
|
# description: Alternative slot for locality (schema:addressLocality)
|
|
is_or_was_located_in:
|
|
range: string
|
|
required: false
|
|
inlined: true
|
|
examples:
|
|
- value:
|
|
settlement_name: "Amsterdam"
|
|
country: "NL"
|
|
region:
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: "Noord-Holland"
|
|
- value: "NL-NH"
|
|
country_name:
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: "Netherlands"
|
|
- value: "NL"
|
|
# REMOVED 2026-01-22: address_formatted - migrated to has_or_had_label + Label (Rule 53, Feedback F1)
|
|
# Formatted address strings now use has_or_had_label slot_usage below
|
|
# REMOVED: address_type slot_usage - migrated to has_or_had_type (2026-01-17, Rule 53/56)
|
|
has_or_had_label: # was: address_formatted + street_name - migrated per Rule 53 (2026-01-17, 2026-01-22)
|
|
range: string
|
|
multivalued: true
|
|
inlined: true
|
|
inlined_as_list: true
|
|
required: false
|
|
examples:
|
|
- value:
|
|
- has_or_had_label: "Museumstraat"
|
|
language: "nl"
|
|
- has_or_had_label: "Museumstraat 1, 1071 XX Amsterdam, Netherlands"
|
|
language: "nl"
|
|
has_or_had_type: # was: address_type - migrated per Rule 53/56 (2026-01-17)
|
|
range: AddressType
|
|
required: false
|
|
multivalued: false
|
|
examples:
|
|
- value: HeadquartersAddress
|
|
latitude:
|
|
range: float
|
|
required: false
|
|
examples:
|
|
- value: 52.3600
|
|
longitude:
|
|
range: float
|
|
required: false
|
|
examples:
|
|
- value: 4.8852
|
|
- value: 2759794
|
|
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
|
|
comments:
|
|
- vCard Address is the primary ontology class (RFC6350 standard)
|
|
- Use structured components when available, address_formatted as fallback
|
|
- Multiple addresses supported via has_or_had_address slot (multivalued, Rule 39 compliant)
|
|
- address_type distinguishes headquarters, legal, visiting, mailing, storage
|
|
- Coordinates (lat/lon) optional but recommended for visualization/mapping
|
|
see_also:
|
|
- https://www.w3.org/TR/vcard-rdf/#d4e936
|
|
- https://schema.org/PostalAddress
|
|
- https://www.w3.org/ns/locn#Address
|
|
- https://www.gleif.org/ontology/Base/PhysicalAddress
|
|
examples:
|
|
- value:
|
|
has_or_had_section:
|
|
- has_or_had_value: "1"
|
|
has_or_had_label:
|
|
- has_or_had_label: "Museumstraat"
|
|
language: "nl"
|
|
- has_or_had_label: "Museumstraat 1, 1071 XX Amsterdam, Netherlands"
|
|
language: "nl"
|
|
# REMOVED: street_address - migrated to house_number + has_or_had_label (2026-01-17, Rule 53/56)
|
|
postal_code: "1071 XX"
|
|
locality: "Amsterdam"
|
|
region: "Noord-Holland"
|
|
country_name: "NL"
|
|
latitude: 52.3600
|
|
longitude: 4.8852
|
|
- value:
|
|
has_or_had_section:
|
|
- has_or_had_value: "40"
|
|
# REMOVED: street_address - migrated to house_number + has_or_had_label (2026-01-17, Rule 53/56)
|
|
postal_code: "2011 RX"
|
|
locality: "Haarlem"
|
|
country_name: "NL"
|
|
- value:
|
|
has_or_had_label:
|
|
- has_or_had_label: "1600 Pennsylvania Avenue NW, Washington, DC 20500, USA"
|
|
language: "en"
|
|
locality: "Washington"
|
|
region: "DC"
|
|
country_name: "US"
|
|
- value:
|
|
has_or_had_label:
|
|
- has_or_had_label: "Euterpelaan"
|
|
language: "nl"
|
|
- has_or_had_label: "Euterpelaan 25, 3824 BK Amersfoort, Netherlands"
|
|
language: "nl"
|
|
has_or_had_section:
|
|
- has_or_had_value: "25"
|
|
postal_code: "3824 BK"
|
|
locality: "Amersfoort"
|
|
region: "Utrecht"
|
|
country_name: "NL"
|
|
annotations:
|
|
specificity_score: 0.25
|
|
specificity_rationale: "Address is broadly applicable to all heritage custodian types and many other entities. Universal across domains."
|
|
custodian_types: '["*"]'
|
|
custodian_types_rationale: "All heritage custodians have physical addresses - museums, archives, libraries, etc."
|