glam/schemas/20251121/linkml/modules/classes/GeoSpatialPlace.yaml
kempersc 80eb3d969c Add new slots for heritage custodian ontology
- Introduced `has_api_version`, `has_appellation_language`, `has_appellation_type`, `has_appellation_value`, `has_applicable_country`, `has_application_deadline`, `has_application_opening_date`, `has_appraisal_note`, `has_approval_date`, `has_archdiocese_name`, `has_architectural_style`, `has_archival_reference`, `has_archive_description`, `has_archive_memento_uri`, `has_archive_name`, `has_archive_path`, `has_archive_search_score`, `has_arrangement`, `has_arrangement_level`, `has_arrangement_note`, `has_articles_archival_stage`, `has_articles_document_format`, `has_articles_document_url`, `has_articles_of_association`, `has_or_had_altitude`, `has_or_had_annotation`, `has_or_had_arrangement`, `has_or_had_document`, `has_or_had_reason`, `has_or_had_style`, `is_or_was_amended_through`, `is_or_was_approved_on`, `is_or_was_archived_as`, `is_or_was_due_on`, `is_or_was_opened_on`, and `is_or_was_used_in` slots.
- Each slot includes detailed descriptions, range specifications, and appropriate mappings to existing ontologies.
2026-01-27 10:07:16 +01:00

312 lines
11 KiB
YAML

id: https://nde.nl/ontology/hc/class/GeoSpatialPlace
name: geospatial_place_class
title: GeoSpatialPlace Class
prefixes:
geosparql: http://www.opengis.net/ont/geosparql#
wgs84: http://www.w3.org/2003/01/geo/wgs84_pos#
sf: http://www.opengis.net/ont/sf#
gn: http://www.geonames.org/ontology#
gn_entity: http://sws.geonames.org/
tooi: https://identifier.overheid.nl/tooi/def/ont/
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_coordinates # was: latitude, longitude, accuracy - migrated per Rule 53 (2026-01-26)
- ./Coordinates
- ../slots/has_or_had_altitude # was: has_altitude - migrated per Rule 53 (2026-01-27)
- ./Altitude
- ../slots/has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17)
- ../slots/has_or_had_identifier
- ../slots/coordinate_reference_system
- ../slots/has_or_had_geofeature # was: feature_class, feature_code - migrated per Rule 53 (2026-01-26)
- ./GeoFeature
- ./GeoFeatureType
- ./GeoFeatureTypes
- ./Code
- ../slots/geometry_type # ARCHIVED 2026-01-26: migrated to has_or_had_geometry + Geometry + has_or_had_type + GeometryType (Rule 53)
- ../slots/geometry_wkt # ARCHIVED 2026-01-26: migrated to has_or_had_geometry + Geometry + as_wkt (Rule 53)
- ../slots/has_or_had_geometry # MIGRATED 2026-01-26
- ./Geometry
- ../slots/geospatial_id
- ../slots/geospatial_source
- ../slots/osm_id
- ../slots/spatial_resolution
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ../slots/temporal_extent # was: valid_from_geo + valid_to_geo - migrated per Rule 53
- ./TimeSpan
- ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ../enums/GeometryTypeEnum
types:
WktLiteral:
uri: geosparql:wktLiteral
base: str
description: 'Well-Known Text (WKT) representation of geometry.
See OGC Simple Features specification.
'
examples:
- value: POINT(4.2894 52.0705)
- value: POLYGON((4.0 52.0, 4.5 52.0, 4.5 52.5, 4.0 52.5, 4.0 52.0))
classes:
GeoSpatialPlace:
class_uri: geosparql:Feature
description: 'Geospatial location with coordinates, geometry, and projections.
CRITICAL DISTINCTION FROM CustodianPlace:
| Aspect | CustodianPlace | GeoSpatialPlace |
|--------|----------------|-----------------|
| Nature | Nominal reference | Geospatial data |
| Content | "het herenhuis in de Schilderswijk" | lat: 52.0705, lon: 4.2894 |
| Purpose | Identify custodian by place name | Locate custodian precisely |
| Ambiguity | May be vague ("the mansion") | Precise, measurable |
| Source | Archival documents, oral history | GPS, cadastral surveys, geocoding |
**TOOI Ontology Alignment**:
This class follows the TOOI pattern for geospatial data:
- `tooi:BestuurlijkeRuimte` is a subclass of `geosparql:Feature` and `prov:Entity`
- `tooi:BestuurlijkeRuimte-hasGeometry` → `geosparql:Geometry`
- `tooi:RegistratieveRuimte` for administrative boundaries
- `tooi:JuridischeRuimte` for legal jurisdiction boundaries
Like TOOI, we separate:
- **geosparql:Feature** (this class): The real-world place with location data
- **geosparql:Geometry**: The mathematical representation (WKT, GeoJSON)
**Use Cases**:
1. **Building-level precision**: Museum building footprint (Polygon)
2. **City-level approximation**: Heritage institution centroid (Point)
3. **Administrative boundaries**: Archive jurisdiction area (MultiPolygon)
4. **Historical boundaries**: Pre-merger municipal territory (Polygon + temporal_extent)
**Relationship to CustodianPlace**:
CustodianPlace.has_geospatial_location → GeoSpatialPlace
A nominal place reference ("Rijksmuseum") links to its geospatial location
(lat: 52.3600, lon: 4.8852, geometry: building footprint polygon).
**Relationship to AuxiliaryPlace**:
AuxiliaryPlace.has_geospatial_location → GeoSpatialPlace
Secondary/subordinate locations (branch offices, storage depots, reading rooms)
can also link to precise geospatial coordinates. This enables:
- Mapping all custodian locations (primary + auxiliary)
- Spatial queries across an organization''s entire footprint
- Building footprints for off-site storage facilities
- Historical boundary tracking for branch offices
**Relationship to OrganizationalChangeEvent**:
Organizational changes may affect geographic location:
- RELOCATION: New GeoSpatialPlace, old one gets temporal_extent.end_of_the_end
- MERGER: Multiple locations → single primary + auxiliary locations
- SPLIT: One location → multiple successor locations
'
exact_mappings:
- geosparql:Feature
close_mappings:
- geo:SpatialThing
- schema:Place
- schema:GeoCoordinates
related_mappings:
- prov:Entity
- tooi:BestuurlijkeRuimte
- crm:E53_Place
slots:
- has_or_had_coordinates # was: latitude, longitude, accuracy
- has_or_had_altitude # was: has_altitude - migrated per Rule 53 (2026-01-27)
- has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17)
- has_or_had_identifier
- coordinate_reference_system
- has_or_had_geofeature # was: feature_class, feature_code - migrated per Rule 53 (2026-01-26)
- has_or_had_geometry # was: geometry_type, geometry_wkt - migrated per Rule 53 (2026-01-26)
# - geometry_type (migrated to has_or_had_geometry + Geometry)
# - geometry_wkt (migrated to has_or_had_geometry + Geometry)
- geonames_id
- geospatial_id
- geospatial_source
# - latitude # migrated to has_or_had_coordinates
# - longitude # migrated to has_or_had_coordinates
- osm_id
- spatial_resolution
- specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- temporal_extent # was: valid_from_geo + valid_to_geo - migrated per Rule 53
slot_usage:
geospatial_id:
identifier: true
required: true
examples:
- value: https://nde.nl/ontology/hc/geo/rijksmuseum-building
- value: https://nde.nl/ontology/hc/geo/amsterdam-centroid
has_or_had_coordinates:
range: Coordinates
inlined: true
required: true
examples:
- value:
latitude: 52.36
longitude: 4.8852
precision: 1.0
description: Rijksmuseum coordinates
geometry_wkt:
examples:
- value: POLYGON((4.883 52.359, 4.887 52.359, 4.887 52.361, 4.883 52.361, 4.883 52.359))
description: Rijksmuseum building footprint (simplified)
coordinate_reference_system:
ifabsent: string(EPSG:4326)
geonames_id:
examples:
- value: 6930126
description: Rijksmuseum GeoNames ID
has_or_had_identifier:
description: >-
Cadastral identifiers for this geospatial place.
MIGRATION NOTE (2026-01-14): Replaces cadastral_id per slot_fixes.yaml.
Use Identifier with identifier_scheme='cadastral' for parcel IDs.
Netherlands: Kadaster perceelnummer format {gemeente}-{sectie}-{perceelnummer}
examples:
- value:
identifier_scheme: cadastral
identifier_value: ASD04-H-4567
description: Amsterdam cadastral parcel identifier
temporal_extent: # was: valid_from_geo + valid_to_geo - migrated per Rule 53
description: |
Validity period for geospatial data using CIDOC-CRM TimeSpan.
MIGRATED from valid_from_geo + valid_to_geo per slot_fixes.yaml (Rule 53).
Use for tracking boundary changes (e.g., municipal mergers).
range: TimeSpan
inlined: true
required: false
examples:
- value:
begin_of_the_begin: '1920-01-01'
end_of_the_end: '2001-01-01'
description: Historical archive jurisdiction boundary validity (pre-merger)
comments:
- Follows TOOI BestuurlijkeRuimte pattern using GeoSPARQL
- 'CRITICAL: NOT a nominal reference - this is measured/surveyed location data'
- Use CustodianPlace for nominal references, this class for coordinates
- lat/lon required; geometry_wkt optional for point locations
- Link from CustodianPlace via has_geospatial_location slot
- Link from AuxiliaryPlace via has_geospatial_location slot (subordinate sites)
- Link from OrganizationalChangeEvent via has_or_had_affected_territory slot
- temporal_extent tracks boundary changes over time (was valid_from_geo/valid_to_geo)
- OSM and GeoNames IDs enable external linking
see_also:
- http://www.opengis.net/ont/geosparql
- https://www.geonames.org/
- https://www.openstreetmap.org/
- https://identifier.overheid.nl/tooi/def/ont/
examples:
- value:
geospatial_id: https://nde.nl/ontology/hc/geo/rijksmuseum-building
has_or_had_coordinates:
latitude: 52.36
longitude: 4.8852
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_type:
has_or_had_label: POLYGON
coordinate_reference_system: EPSG:4326
geonames_id: 6930126
osm_id: way/27083908
geospatial_source: OpenStreetMap
spatial_resolution: BUILDING
has_or_had_geofeature:
- has_or_had_type: SpotFeature
has_or_had_code:
has_or_had_label: S.MUS
description: Rijksmuseum building with full geospatial detail
- value:
geospatial_id: https://nde.nl/ontology/hc/geo/amsterdam-centroid
has_or_had_coordinates:
latitude: 52.3676
longitude: 4.9041
precision: 500.0
has_or_had_geometry:
- has_or_had_type:
has_or_had_label: POINT
coordinate_reference_system: EPSG:4326
geonames_id: 2759794
geospatial_source: GeoNames API
spatial_resolution: CITY
has_or_had_geofeature:
- has_or_had_type: PopulatedPlace
has_or_had_code:
has_or_had_label: P.PPLC
description: Amsterdam city centroid (approximate)
- value:
geospatial_id: https://nde.nl/ontology/hc/geo/noord-holland-archive-territory-pre-2001
has_or_had_coordinates:
latitude: 52.5
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_type:
has_or_had_label: MULTIPOLYGON
coordinate_reference_system: EPSG:4326
geospatial_source: Historical cadastral records
spatial_resolution: REGION
has_or_had_geofeature:
- has_or_had_type: AdministrativeBoundary
has_or_had_code:
has_or_had_label: A.ADM1
temporal_extent: # was: valid_from_geo + valid_to_geo
begin_of_the_begin: '1920-01-01'
end_of_the_end: '2001-01-01'
description: Historical archive jurisdiction boundary (pre-merger)