Skip to content

feat(edint-zona-regulatoria): add RegulatedZone candidate model - #6

Open
albertoabellagarcia wants to merge 1 commit into
masterfrom
edint-zona-regulatoria-candidates
Open

feat(edint-zona-regulatoria): add RegulatedZone candidate model#6
albertoabellagarcia wants to merge 1 commit into
masterfrom
edint-zona-regulatoria-candidates

Conversation

@albertoabellagarcia

Copy link
Copy Markdown
Contributor

Summary

Translates the EDINT Regulated Zone Ontology (v0.1.0) from
https://github.com/EDINT-Ontologia/edint-ontologia-zona-regulatoria — a
companion ontology to edint-infraestructura, covering functional urban
zones (low emission zones, regulated parking, pedestrian zones, historical
centers, economic interest zones, ...) that overlay the urban grid without
necessarily following fixed administrative boundaries.

Modeling: one entity, not 22

The source ontology defines RegulatedZone plus 22 subclasses
(LowEmissionZone, PedestrianZone, ResidentialParkingZone,
HistoricalCenter, ...). None of the 22 declares any property of its own —
every real property (composedOf, locatedIn, managedBy, startDate,
endDate, legalReference, scheduleDescription) is declared directly on
the base class. This candidate models a single RegulatedZone entity with a
zoneType enum covering all 22 (including the two intermediate classes
EconomicInterestZone/RegulatedParkingZone, since the real Madrid example
instantiates RegulatedParkingZone directly).

zoneType has no backing property in the source ontology (the source
expresses it via rdf:type/subclassing, not a dedicated property), so its
context.jsonld mapping uses schema:additionalType rather than a
fabricated ontology-specific IRI.

hasGeometry mirrors the source's own real-world pattern: an opaque
Relationship to an external WKT geometry resource, not an inline GeoProperty
— the real Madrid examples reference geometry files up to 3.3MB externally
rather than embedding coordinates, and zones are areas/polygons, not points.

Real example data

Grounded in examples/zaragoza/example_zona1.ttl — a real Zaragoza
short-term ("zona azul") regulated parking zone, with real street names,
schedule and legal reference. Chosen over the Madrid examples because
Zaragoza's is small and self-contained; Madrid's embed the very large WKT
files mentioned above.

⚠️ Known issue, not resolved here (see standard-metadata.yaml)

This ontology's RegulatedZone (confirmed via an identical rdfs:comment)
is the real, authoritative definition of the same class that
edint-infraestructura added as a thin stub in its own v0.2.1 update
(#5, already merged) — same entity type name, different property sets. Per
explicit decision, this is translated as its own separate standard rather
than folded into edint-infraestructura, so there is now a real NGSI-LD
type collision between the two candidates that needs reconciling before
either is promoted further (most likely resolution: replace
edint-infraestructura's stub with this one).

There's also a namespace mismatch: edint-infraestructura's
Facility.locatedInZone already points at https://edint.es/def/zone#...
(anticipating a future migration), while this ontology's own currently
real, declared namespace is still
http://vocab.linkeddata.es/datosabiertos/def/common/zone# (not yet
migrated). This candidate uses the ontology's real current namespace, per
explicit decision.

Testing

  • schema.json/context.jsonld/all four example files parse as JSON.
  • example.json validates against schema.json.
  • standard-metadata.yaml parses as YAML.
  • Candidates index regenerated.

Translates the EDINT Regulated Zone Ontology (v0.1.0), a companion
ontology to edint-infraestructura covering functional urban zones
(low emission zones, regulated parking, pedestrian zones, historical
centers, economic interest zones...) that overlay the urban grid
without following fixed administrative boundaries.

Modeled as a single RegulatedZone entity with a zoneType enum, since
none of the source ontology's 22 concrete subclasses declare any
property of their own -- all real properties (composedOf, locatedIn,
managedBy, startDate, endDate, legalReference, scheduleDescription)
are on the base class. Example grounded in real Zaragoza regulated
parking zone data.

Known issue, documented in standard-metadata.yaml and left
unresolved per explicit decision: this creates a type collision with
the thin RegulatedZone stub already added to edint-infraestructura in
its v0.2.1 update (PR #5), and a namespace mismatch between the two
ontologies' current states -- both need reconciling before either
candidate is promoted further.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant