glam/schemas/20251121/linkml/modules/classes/AddressComponent.yaml

218 lines
7.4 KiB
YAML

id: https://nde.nl/ontology/hc/classes/AddressComponent
name: AddressComponent
title: Address Component
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
vcard: http://www.w3.org/2006/vcard/ns#
locn: http://www.w3.org/ns/locn#
imports:
- linkml:types
- ../classes/ComponentType
- ../slots/has_type
- ../slots/has_literal_form
- ../slots/shortened_as
classes:
AddressComponent:
class_uri: hc:AddressComponent
description: >-
Single component of a structured address.
alt_descriptions:
nl: "Enkel onderdeel van een gestructureerd adres."
de: "Einzelne Komponente einer strukturierten Adresse."
fr: "Composant unique d'une adresse structurée."
es: "Componente único de una dirección estructurada."
ar: "مكون واحد من عنوان منظم."
id: "Komponen tunggal dari alamat terstruktur."
zh: "结构化地址的单个组件。"
examples:
- value:
has_literal_form: '1'
shortened_as: '1'
has_type:
- StreetNumber
description: Street number component
- value:
has_literal_form: Museumstraat
shortened_as: Museumstraat
has_type:
- Route
description: Street name component
- value:
has_literal_form: Noord-Holland
shortened_as: NH
has_type:
- Region
description: Province/region component with abbreviation
- value:
has_literal_form: Netherlands
shortened_as: NL
has_type:
- Country
description: Country component with ISO code
close_mappings:
- locn:AddressRepresentation
related_mappings:
- schema:PostalAddress
- vcard:Address
structured_aliases:
- literal_form: adrescomponent
in_language: nl
- literal_form: adresonderdeel
in_language: nl
- literal_form: Adresskomponente
in_language: de
- literal_form: Adressbestandteil
in_language: de
- literal_form: composant d'adresse
in_language: fr
- literal_form: élément d'adresse
in_language: fr
- literal_form: componente de dirección
in_language: es
- literal_form: elemento de dirección
in_language: es
- literal_form: مكون العنوان
in_language: ar
- literal_form: عنصر العنوان
in_language: ar
- literal_form: komponen alamat
in_language: id
- literal_form: elemen alamat
in_language: id
- literal_form: 地址组件
in_language: zh
- literal_form: 地址元素
in_language: zh
keywords:
- address component
- street number
- locality
- region
- country
- postal code
- parsing
- normalization
slots:
- has_literal_form
- shortened_as
- has_type
slot_usage:
has_literal_form:
required: false
examples:
- value: Netherlands
- value: Noord-Holland
- value: Museumstraat
shortened_as:
required: false
examples:
- value: NL
- value: NH
- value: Museumstraat
has_type:
range: ComponentType
multivalued: true
inlined_as_list: true
required: false
examples:
- value: StreetNumber
- value: Locality
- value: Region
- value: Country
annotations:
specificity_score: "0.35"
specificity_rationale: "Generic address parsing component. Broadly applicable across all address sources and custodian types."
custodian_types: "['*']"
custodian_types_rationale: "Any custodian with address data may use address components during parsing/normalization."
component_types: "street_number, route, locality, postal_code, subregion, region, country, premise, subpremise"
comments:
- Source-agnostic representation of address components
- Use for parsing/normalization workflows before constructing Address objects
- Component types follow common geographic hierarchy conventions
- Multiple types allowed for components that serve multiple roles
- Intermediate representation between raw data and Address objects
- |
Preserved from prior description:
**PURPOSE**:
AddressComponent represents one discrete element of an address, such as
the street number, street name, city, region, or country. This enables:
- Parsing addresses from various sources into standardized components
- Normalizing address data from different formats/APIs
- Supporting multilingual address representations (long_name vs short_name)
**COMPONENT STRUCTURE**:
Each AddressComponent has:
- `long_name`: Full form of the value (e.g., "Netherlands", "Noord-Holland")
- `short_name`: Abbreviated form (e.g., "NL", "NH") - may equal long_name
- `has_type`: Semantic type(s) via ComponentType (e.g., Country, Locality)
**STANDARD COMPONENT TYPES**:
| Type | Description | Example long_name | Example short_name |
|------|-------------|-------------------|-------------------|
| `street_number` | House/building number | "1", "221B" | same |
| `route` | Street/road name | "Museumstraat" | same |
| `locality` | City/town/village | "Amsterdam" | same |
| `postal_code` | ZIP/postal code | "1071 XX" | same |
| `subregion` | County/district | "Amsterdam" | same |
| `region` | State/province | "Noord-Holland" | "NH" |
| `country` | Country | "Netherlands" | "NL" |
| `premise` | Building/complex name | "Rijksmuseum" | same |
| `subpremise` | Unit/floor/suite | "Floor 3" | "3" |
**RELATIONSHIP TO Address CLASS**:
AddressComponent is used for:
1. **Parsing workflows**: Breaking down raw address strings into components
2. **Normalization**: Standardizing addresses from different sources
3. **Intermediate representation**: Before constructing a full Address object
The Address class provides the final, ontology-aligned representation with
dedicated slots (street_name, locality, region, country_name, etc.).
```
Raw Address Data (any source)
└── parse → AddressComponent[] # Intermediate representation
└── normalize → Address # vCard/LOCN aligned
```
**USAGE EXAMPLES**:
```yaml
# Street number component (MIGRATED 2026-01-22: Rule 53)
- long_name: "1"
short_name: "1"
has_type: [StreetNumber]
# Province with abbreviation
- long_name: "Noord-Holland"
short_name: "NH"
has_type: [Region]
# Country with ISO code
- long_name: "Netherlands"
short_name: "NL"
has_type: [Country]
```
**SOURCE-AGNOSTIC DESIGN**:
This class is designed to work with addresses from ANY source:
- Website scraping
- Registry data (ISIL, KvK, etc.)
- API responses (when normalized)
- Manual data entry
- OCR/document extraction
API-specific raw data formats are handled by Endpoint classes.
- 'Preserved from prior description: Single component of a structured address. Represents one discrete element of an address such as street number, street name, city, region, or country. Used for parsing addresses from various sources into standardized components and normalizing address data from different formats/APIs.'
see_also:
- Address
- https://www.w3.org/ns/locn#Address