feat(edint-aparcamiento): add 5 candidate models for parking - #8
Open
albertoabellagarcia wants to merge 1 commit into
Open
feat(edint-aparcamiento): add 5 candidate models for parking#8albertoabellagarcia wants to merge 1 commit into
albertoabellagarcia wants to merge 1 commit into
Conversation
Translates the EDINT Parking Ontology (v0.1.0), covering on-street and off-street public/private parking, fees, individual spots, and spot groupings by permit type or vehicle type. Parking collapses the source's two concrete subclasses (OnStreetParking/OffStreetParking) into one entity with a parkingType discriminator, since bare Parking is never directly instantiated in the source's own real example data and the only distinguishing property (isPartOfZone) is small enough to keep as an always-optional field. Parking inherits edint-infraestructura's full Facility property set, confirmed by the source's own real examples using several of them directly (belongsTo, containsFacility, hasInfrastructureType, hasObservationPoint, hasRegisteredOwner, address, openingHours). ParkingFee and ParkingSpot are thin entities (no source-declared properties). ParkingSpotsByPermitType/ByVehicleType group individual spots and reuse edint-censo-vehiculos's VehicleType/VehiclePermitType controlled vocabularies. Real example data used throughout, grounded in the source's own examples/example.ttl (5 real Madrid/Zaragoza parking instances). Known issues, documented in standard-metadata.yaml and left unresolved per this candidate family's established pattern: a type collision with edint-infraestructura's existing thin "Parking" stub (same as the RegulatedZone/Vehicle situations already flagged in prior PRs), and two apparent domain-declaration bugs in the source ontology (permitType/vehicleType) worked around rather than copied literally. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Translates the EDINT Parking Ontology (v0.1.0) from
https://github.com/EDINT-Ontologia/edint-ontologia-aparcamiento — on-street
and off-street public/private parking, fees, individual spots, and spot
groupings by permit type or vehicle type. Closely related to
edint-infraestructura(Parking subClassOf Facility, explicitly stated bythe source: "Parking facilities are part of the city's infrastructure...
their access points are represented as a relationship to the
infrastructure's sensor representation"),
edint-zona-regulatoria(
RegulatedParkingZoneis one of its 22RegulatedZonesubtypes), andedint-censo-vehiculos(reuses itsVehicleType/VehiclePermitTypecontrolled vocabularies).
Five entities
Parking: collapses the source's two concrete subclasses(
OnStreetParking/OffStreetParking) into one entity with aparkingTypediscriminator — bare
Parkingis never directly instantiated in thesource's own real example data, and
OnStreetParking's only distinguishingproperty (
isPartOfZone) is small enough to keep as an always-optionalfield rather than a second entity type. Inherits
edint-infraestructura'sfull
Facilityproperty set, confirmed by the source's own real examplesusing several of them directly (
belongsTo,containsFacility,hasInfrastructureType,hasObservationPoint,hasRegisteredOwner,address,openingHours).ParkingFee,ParkingSpot: thin entities, no source-declaredproperties of their own (same treatment as
edint-infraestructura'sObservationPoint/edint-zona-regulatoria'sRegulatedZone/CadastralProperty).ParkingSpotsByPermitType,ParkingSpotsByVehicleType: groupindividual spots and carry the vocabulary-backed enums.
All 5 examples are grounded in the source's own real
examples/example.ttl(5 real Madrid/Zaragoza parking instances).
Two source ontology bugs found, worked around rather than copied literally
permitType'srdfs:domainis declared asParkingSpotsByVehicleType,not
ParkingSpotsByPermitType— almost certainly a copy-paste error giventhe property's own name and comment ("group of places by TYPE OF PERMIT").
vehicleTypehas nordfs:domaindeclared at all.Copying either literally would produce a nonsensical schema
(
ParkingSpotsByVehicleTypewith apermitTypeproperty and novehicleTypeanywhere), so both are assigned per their evident intentinstead. Flagged for the EDINT maintainers, not silently papered over.
Same pattern as
RegulatedZone/Vehiclein prior PRs:edint-infraestructuraalready has its own thin
Parkingentity from its first translation pass("modeled as a thin Facility specialization... no attributes of its own").
This candidate's much fuller
Parkingreuses the same entity type name witha different property set — a real NGSI-LD type collision, left unresolved
here per the same reasoning already applied to the two prior cases (most
likely resolution: replace the thin stub with this one).
Testing
schema.json/context.jsonld/example files parse as JSON, all 5example.jsonvalidate against their ownschema.json.standard-metadata.yamlparses as YAML.Note: based on current
master, which doesn't yet include the still-open#6 (
edint-zona-regulatoria) or #7 (edint-censo-vehiculos) — no dependencybetween any of them.