From b0f8335d0379fb4031d272ffedd47c88d0fd3d21 Mon Sep 17 00:00:00 2001 From: smart-data-models Date: Sun, 6 Sep 2026 18:20:33 +0200 Subject: [PATCH] feat(edint-contaminacion-acustica): add NoiseObservation candidate model Translates the EDINT Noise Pollution Ontology (v0.2.0), a small domain extension of edint-medio-ambiente's EnvironmentalObservation adding acoustic-measurement-specific properties. One entity: NoiseObservation, inheriting the full EnvironmentalObservation property set plus 5 of its own (noiseReferenceInterval, noisePonderation, noiseEmitterPredominantType, noiseRateType, noiseTimeConstantType). Unlike edint-medio-ambiente's own open vocabularies, these 5 are modeled as closed enums since they represent standard, stable acoustic-engineering categories (ISO 1996, IEC 61672), not an open, cross-domain-extensible taxonomy. Real example data used, grounded in the source's own real Madrid acoustic monitoring station example. A likely typo in that same source example (two bare triples missing their property name) is noted but not reproduced. Co-Authored-By: Claude Sonnet 5 --- docs/index-data.json | 23 ++++ standards-index.json | 23 ++++ .../models/NoiseObservation/context.jsonld | 25 ++++ .../examples/example-normalized.json | 48 ++++++++ .../examples/example-normalized.jsonld | 51 ++++++++ .../NoiseObservation/examples/example.json | 15 +++ .../NoiseObservation/examples/example.jsonld | 18 +++ .../models/NoiseObservation/schema.json | 114 ++++++++++++++++++ .../standard-metadata.yaml | 63 ++++++++++ 9 files changed, 380 insertions(+) create mode 100644 standards/edint-contaminacion-acustica/models/NoiseObservation/context.jsonld create mode 100644 standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.json create mode 100644 standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.jsonld create mode 100644 standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.json create mode 100644 standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.jsonld create mode 100644 standards/edint-contaminacion-acustica/models/NoiseObservation/schema.json create mode 100644 standards/edint-contaminacion-acustica/standard-metadata.yaml diff --git a/docs/index-data.json b/docs/index-data.json index 6d28062..5d97c9e 100644 --- a/docs/index-data.json +++ b/docs/index-data.json @@ -333,6 +333,29 @@ ], "githubUrl": "https://github.com/smart-data-models/Candidates/tree/master/standards/cityjson-v2" }, + { + "slug": "edint-contaminacion-acustica", + "title": "EDINT Noise Pollution Ontology (Ontología de Contaminación Acústica)", + "description": "Small domain extension of the EDINT Environmental Sensors Ontology (edint-medio-ambiente) for noise pollution observations, adding acoustic-measurement-specific properties (frequency weighting, time constant, reference interval, level statistic, predominant emitter type).", + "publisher": "EDINT - Espacio de Datos para las Infraestructuras Urbanas Inteligentes (EU-funded), with Universidad Politécnica de Madrid (UPM/OEG) as technical developer", + "sourceUrl": "https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica/tree/main", + "license": "CC-BY-4.0", + "domains": [ + "SmartCities", + "Environment" + ], + "modelCount": 1, + "models": [ + { + "name": "NoiseObservation", + "title": "Smart Data Models - EDINT Noise Pollution - NoiseObservation", + "description": "An observation of a noise property made by a noise sensor (edintacus:NoiseObservation, subclass of edint-medio-ambiente's EnvironmentalObservation). Small domain extension adding acoustic-measurement-specific properties on top of the base EnvironmentalObservation pattern.", + "schemaUrl": "https://raw.githubusercontent.com/smart-data-models/Candidates/master/standards/edint-contaminacion-acustica/models/NoiseObservation/schema.json", + "githubUrl": "https://github.com/smart-data-models/Candidates/tree/master/standards/edint-contaminacion-acustica/models/NoiseObservation" + } + ], + "githubUrl": "https://github.com/smart-data-models/Candidates/tree/master/standards/edint-contaminacion-acustica" + }, { "slug": "edint-infraestructura", "title": "EDINT Infrastructure Ontology (Ontología de Infraestructura)", diff --git a/standards-index.json b/standards-index.json index 6d28062..5d97c9e 100644 --- a/standards-index.json +++ b/standards-index.json @@ -333,6 +333,29 @@ ], "githubUrl": "https://github.com/smart-data-models/Candidates/tree/master/standards/cityjson-v2" }, + { + "slug": "edint-contaminacion-acustica", + "title": "EDINT Noise Pollution Ontology (Ontología de Contaminación Acústica)", + "description": "Small domain extension of the EDINT Environmental Sensors Ontology (edint-medio-ambiente) for noise pollution observations, adding acoustic-measurement-specific properties (frequency weighting, time constant, reference interval, level statistic, predominant emitter type).", + "publisher": "EDINT - Espacio de Datos para las Infraestructuras Urbanas Inteligentes (EU-funded), with Universidad Politécnica de Madrid (UPM/OEG) as technical developer", + "sourceUrl": "https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica/tree/main", + "license": "CC-BY-4.0", + "domains": [ + "SmartCities", + "Environment" + ], + "modelCount": 1, + "models": [ + { + "name": "NoiseObservation", + "title": "Smart Data Models - EDINT Noise Pollution - NoiseObservation", + "description": "An observation of a noise property made by a noise sensor (edintacus:NoiseObservation, subclass of edint-medio-ambiente's EnvironmentalObservation). Small domain extension adding acoustic-measurement-specific properties on top of the base EnvironmentalObservation pattern.", + "schemaUrl": "https://raw.githubusercontent.com/smart-data-models/Candidates/master/standards/edint-contaminacion-acustica/models/NoiseObservation/schema.json", + "githubUrl": "https://github.com/smart-data-models/Candidates/tree/master/standards/edint-contaminacion-acustica/models/NoiseObservation" + } + ], + "githubUrl": "https://github.com/smart-data-models/Candidates/tree/master/standards/edint-contaminacion-acustica" + }, { "slug": "edint-infraestructura", "title": "EDINT Infrastructure Ontology (Ontología de Infraestructura)", diff --git a/standards/edint-contaminacion-acustica/models/NoiseObservation/context.jsonld b/standards/edint-contaminacion-acustica/models/NoiseObservation/context.jsonld new file mode 100644 index 0000000..d1853aa --- /dev/null +++ b/standards/edint-contaminacion-acustica/models/NoiseObservation/context.jsonld @@ -0,0 +1,25 @@ +{ + "@context": { + "NoiseObservation": "http://vocab.linkeddata.es/datosabiertos/def/contaminacionacustica/NoiseObservation", + "dateCreated": "https://schema.org/dateCreated", + "dateModified": "https://schema.org/dateModified", + "name": "https://schema.org/name", + "alternateName": "https://schema.org/alternateName", + "description": "https://schema.org/description", + "source": "https://purl.org/dc/terms/source", + "dataProvider": "https://smartdatamodels.org/dataProvider", + "seeAlso": "https://schema.org/seeAlso", + "identifier": "http://purl.org/dc/terms/identifier", + "madeBySensor": "http://www.w3.org/ns/sosa/madeBySensor", + "featureOfInterest": "http://www.w3.org/ns/sosa/hasFeatureOfInterest", + "result": "http://www.w3.org/ns/sosa/hasSimpleResult", + "unitCode": "http://qudt.org/schema/qudt/unit", + "resultTime": "http://www.w3.org/ns/sosa/resultTime", + "phenomenonTime": "http://www.w3.org/ns/sosa/phenomenonTime", + "noiseReferenceInterval": "http://vocab.linkeddata.es/datosabiertos/def/contaminacionacustica/noiseReferenceInterval", + "noisePonderation": "http://vocab.linkeddata.es/datosabiertos/def/contaminacionacustica/noisePonderation", + "noiseEmitterPredominantType": "http://vocab.linkeddata.es/datosabiertos/def/contaminacionacustica/noiseEmitterPredominantType", + "noiseRateType": "http://vocab.linkeddata.es/datosabiertos/def/contaminacionacustica/noiseRateType", + "noiseTimeConstantType": "http://vocab.linkeddata.es/datosabiertos/def/contaminacionacustica/noiseTimeConstantType" + } +} diff --git a/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.json b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.json new file mode 100644 index 0000000..352f219 --- /dev/null +++ b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.json @@ -0,0 +1,48 @@ +{ + "id": "urn:ngsi-ld:NoiseObservation:LAeq-001-2026-03-18T08", + "type": "NoiseObservation", + "name": { + "type": "Text", + "value": "A-weighting equivalent noise pressure level - 18/03/2026 08:00" + }, + "source": { + "type": "URL", + "value": "https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica" + }, + "identifier": { + "type": "Text", + "value": "Medicion_001" + }, + "madeBySensor": { + "type": "URL", + "value": "urn:ngsi-ld:EnvironmentalSensor:NOISE-001" + }, + "featureOfInterest": { + "type": "URL", + "value": "http://vocab.linkeddata.es/datosabiertos/kos/edint/foi/AcousticEnvironment" + }, + "result": { + "type": "Number", + "value": 57.4 + }, + "unitCode": { + "type": "Text", + "value": "DeciB" + }, + "resultTime": { + "type": "DateTime", + "value": "2026-03-18T08:00:00+01:00" + }, + "noiseReferenceInterval": { + "type": "Text", + "value": "EquivalentLevel" + }, + "noisePonderation": { + "type": "Text", + "value": "A" + }, + "noiseEmitterPredominantType": { + "type": "Text", + "value": "motorvehicle" + } +} diff --git a/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.jsonld b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.jsonld new file mode 100644 index 0000000..07cd9df --- /dev/null +++ b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example-normalized.jsonld @@ -0,0 +1,51 @@ +{ + "id": "urn:ngsi-ld:NoiseObservation:LAeq-001-2026-03-18T08", + "type": "NoiseObservation", + "name": { + "type": "Property", + "value": "A-weighting equivalent noise pressure level - 18/03/2026 08:00" + }, + "source": { + "type": "Relationship", + "object": "https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica" + }, + "identifier": { + "type": "Property", + "value": "Medicion_001" + }, + "madeBySensor": { + "type": "Relationship", + "object": "urn:ngsi-ld:EnvironmentalSensor:NOISE-001" + }, + "featureOfInterest": { + "type": "Relationship", + "object": "http://vocab.linkeddata.es/datosabiertos/kos/edint/foi/AcousticEnvironment" + }, + "result": { + "type": "Property", + "value": 57.4 + }, + "unitCode": { + "type": "Property", + "value": "DeciB" + }, + "resultTime": { + "type": "Property", + "value": "2026-03-18T08:00:00+01:00" + }, + "noiseReferenceInterval": { + "type": "Property", + "value": "EquivalentLevel" + }, + "noisePonderation": { + "type": "Property", + "value": "A" + }, + "noiseEmitterPredominantType": { + "type": "Property", + "value": "motorvehicle" + }, + "@context": [ + "https://raw.githubusercontent.com/smart-data-models/Candidates/master/standards/edint-contaminacion-acustica/models/NoiseObservation/context.jsonld" + ] +} diff --git a/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.json b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.json new file mode 100644 index 0000000..b0176d3 --- /dev/null +++ b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.json @@ -0,0 +1,15 @@ +{ + "id": "urn:ngsi-ld:NoiseObservation:LAeq-001-2026-03-18T08", + "type": "NoiseObservation", + "name": "A-weighting equivalent noise pressure level - 18/03/2026 08:00", + "source": "https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica", + "identifier": "Medicion_001", + "madeBySensor": "urn:ngsi-ld:EnvironmentalSensor:NOISE-001", + "featureOfInterest": "http://vocab.linkeddata.es/datosabiertos/kos/edint/foi/AcousticEnvironment", + "result": 57.4, + "unitCode": "DeciB", + "resultTime": "2026-03-18T08:00:00+01:00", + "noiseReferenceInterval": "EquivalentLevel", + "noisePonderation": "A", + "noiseEmitterPredominantType": "motorvehicle" +} diff --git a/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.jsonld b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.jsonld new file mode 100644 index 0000000..3d4c8c5 --- /dev/null +++ b/standards/edint-contaminacion-acustica/models/NoiseObservation/examples/example.jsonld @@ -0,0 +1,18 @@ +{ + "id": "urn:ngsi-ld:NoiseObservation:LAeq-001-2026-03-18T08", + "type": "NoiseObservation", + "name": "A-weighting equivalent noise pressure level - 18/03/2026 08:00", + "source": "https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica", + "identifier": "Medicion_001", + "madeBySensor": "urn:ngsi-ld:EnvironmentalSensor:NOISE-001", + "featureOfInterest": "http://vocab.linkeddata.es/datosabiertos/kos/edint/foi/AcousticEnvironment", + "result": 57.4, + "unitCode": "DeciB", + "resultTime": "2026-03-18T08:00:00+01:00", + "noiseReferenceInterval": "EquivalentLevel", + "noisePonderation": "A", + "noiseEmitterPredominantType": "motorvehicle", + "@context": [ + "https://raw.githubusercontent.com/smart-data-models/Candidates/master/standards/edint-contaminacion-acustica/models/NoiseObservation/context.jsonld" + ] +} diff --git a/standards/edint-contaminacion-acustica/models/NoiseObservation/schema.json b/standards/edint-contaminacion-acustica/models/NoiseObservation/schema.json new file mode 100644 index 0000000..0bbe21c --- /dev/null +++ b/standards/edint-contaminacion-acustica/models/NoiseObservation/schema.json @@ -0,0 +1,114 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$schemaVersion": "0.0.1", + "$id": "https://raw.githubusercontent.com/smart-data-models/Candidates/master/standards/edint-contaminacion-acustica/models/NoiseObservation/schema.json", + "modelTags": "EDINT,Environment", + "title": "Smart Data Models - EDINT Noise Pollution - NoiseObservation", + "description": "An observation of a noise property made by a noise sensor (edintacus:NoiseObservation, subclass of edint-medio-ambiente's EnvironmentalObservation). Small domain extension adding acoustic-measurement-specific properties on top of the base EnvironmentalObservation pattern.", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uri", + "description": "Property. Unique identifier of the entity" + }, + "type": { + "type": "string", + "enum": ["NoiseObservation"], + "description": "Property. NGSI-LD Entity type. It must be equal to 'NoiseObservation'" + }, + "dateCreated": { + "type": "string", + "format": "date-time", + "description": "Property. Model:'https://schema.org/DateTime'. Entity creation timestamp. This will usually be allocated by the storage platform." + }, + "dateModified": { + "type": "string", + "format": "date-time", + "description": "Property. Model:'https://schema.org/DateTime'. Timestamp of the last modification of the entity. This will usually be allocated by the storage platform." + }, + "name": { + "type": "string", + "description": "Property. Model:'https://schema.org/name'. Name of this item." + }, + "alternateName": { + "type": "string", + "description": "Property. Model:'https://schema.org/alternateName'. An alternative name for this item." + }, + "description": { + "type": "string", + "description": "Property. Model:'https://schema.org/description'. Description of this item." + }, + "source": { + "type": "string", + "description": "Property. A sequence of characters giving the source of the entity data." + }, + "dataProvider": { + "type": "string", + "description": "Property. A sequence of characters identifying the provider of the harmonised data entity." + }, + "seeAlso": { + "type": "array", + "items": {"type": "string", "format": "uri"}, + "description": "Property. Model:'https://schema.org/URL'. list of uri pointing to additional resources about the item." + }, + "identifier": { + "type": "string", + "description": "Property. A human-readable code shared by all values calculated for the same measurement session (dct:identifier)." + }, + "madeBySensor": { + "type": "string", + "format": "uri", + "description": "Relationship. The EnvironmentalSensor (noise sensor) that made this observation (sosa:madeBySensor). Inherited from EnvironmentalObservation." + }, + "featureOfInterest": { + "type": "string", + "format": "uri", + "description": "Relationship. The environmental medium observed, e.g. the acoustic environment (sosa:hasFeatureOfInterest). Inherited from EnvironmentalObservation." + }, + "result": { + "type": "number", + "description": "Property. The simple value of the observation, typically a sound pressure level (sosa:hasSimpleResult). Inherited from EnvironmentalObservation." + }, + "unitCode": { + "type": "string", + "description": "Property. The unit the result is expressed in, e.g. 'DeciB'. Inherited from EnvironmentalObservation." + }, + "resultTime": { + "type": "string", + "format": "date-time", + "description": "Property. Model:'https://schema.org/DateTime'. Instant when the observation result was generated (sosa:resultTime). Inherited from EnvironmentalObservation." + }, + "phenomenonTime": { + "type": "string", + "format": "date-time", + "description": "Property. Model:'https://schema.org/DateTime'. Instant or interval when the observed situation occurred (sosa:phenomenonTime). Inherited from EnvironmentalObservation." + }, + "noiseReferenceInterval": { + "type": "string", + "enum": ["EquivalentLevel", "Day_evening_night", "Day", "Evening", "Night", "PeakLevel"], + "description": "Property. The measurement period this noise observation refers to (edintacus:noiseReferenceInterval)." + }, + "noisePonderation": { + "type": "string", + "enum": ["A", "C"], + "description": "Property. The frequency weighting applied to the noise measurement, per ISO 1996 (edintacus:noisePonderation)." + }, + "noiseEmitterPredominantType": { + "type": "string", + "enum": ["motorvehicle", "train", "aircraft", "transportationindustry", "railwayindustry", "airportinfrastructure", "machineryandequipment", "constructionsite", "industrialactivity", "commercialactivity", "sportandleisureactivity", "portinfrastructure"], + "description": "Property. The predominant type of noise emitter for this observation (edintacus:noiseEmitterPredominantType)." + }, + "noiseRateType": { + "type": "string", + "enum": ["Max", "Min", "P01", "P10", "P50", "P90", "P99"], + "description": "Property. The type of level statistic for the noise pressure level -- maximum, minimum, or a percentile (P01/P10/P50/P90/P99), from the source's own numeric concept notations '01'/'10'/'50'/'90'/'99' (edintacus:noiseRateType)." + }, + "noiseTimeConstantType": { + "type": "string", + "enum": ["Slow", "Fast", "Impulse"], + "description": "Property. The time constant used for the noise measurement, per IEC 61672 (edintacus:noiseTimeConstantType)." + } + }, + "required": ["id", "type"] +} diff --git a/standards/edint-contaminacion-acustica/standard-metadata.yaml b/standards/edint-contaminacion-acustica/standard-metadata.yaml new file mode 100644 index 0000000..3e78278 --- /dev/null +++ b/standards/edint-contaminacion-acustica/standard-metadata.yaml @@ -0,0 +1,63 @@ +title: "EDINT Noise Pollution Ontology (Ontología de Contaminación Acústica)" +publisher: "EDINT - Espacio de Datos para las Infraestructuras Urbanas Inteligentes (EU-funded), with Universidad Politécnica de Madrid (UPM/OEG) as technical developer" +sourceUrl: "https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica/tree/main" +sourceOntologyIRI: "http://vocab.linkeddata.es/datosabiertos/def/contaminacionacustica/" +sourceOntologyVersion: "0.2.0" +domains: + - SmartCities + - Environment +description: > + Small domain extension of the EDINT Environmental Sensors Ontology + (edint-medio-ambiente) for noise pollution observations, adding + acoustic-measurement-specific properties (frequency weighting, time + constant, reference interval, level statistic, predominant emitter type). +license: "CC-BY-4.0" +licenseNote: > + Same as its sibling EDINT ontologies (edint-censo-vehiculos, + edint-aparcamiento, edint-fotovoltaica, edint-organizaciones, + edint-catastro, edint-medio-ambiente), this source ontology is CC-BY-4.0. +contributors: + - name: "Claude (sdm-translate skill)" + role: "automated translation from source ontology to SDM candidate artifacts" +notes: | + Translated on 2026-09-06 from documentation/ontology.ttl (version 0.2.0) at + https://github.com/EDINT-Ontologia/edint-ontologia-contaminacion-acustica. + Unlike edint-ontologia-calidad-aire and edint-ontologia-climatologia (both + folded into edint-medio-ambiente rather than translated separately, since + they have no ontology.ttl of their own), this repository genuinely does + define its own class -- NoiseObservation -- so it is translated as its own + standard. + + ONE ENTITY: NoiseObservation, subclass of edint-medio-ambiente's + EnvironmentalObservation. Carries the full inherited EnvironmentalObservation + property set (madeBySensor, featureOfInterest, result, unitCode, + resultTime, phenomenonTime) plus 5 of its own. + + UNLIKE edint-medio-ambiente's OWN OPEN VOCABULARIES, THIS ONTOLOGY'S 5 NEW + PROPERTIES ARE MODELED AS CLOSED ENUMS: noiseReferenceInterval, + noisePonderation, noiseEmitterPredominantType, noiseRateType and + noiseTimeConstantType are all small (2-12 concepts) and represent + standard, stable acoustic-engineering categories (ISO 1996 frequency + weightings A/C, IEC 61672 time constants Slow/Fast/Impulse) rather than + an open-ended, cross-domain-extensible taxonomy like edint-medio-ambiente's + EnvironmentalProperty/SensorVariables scheme -- so the usual + enum-when-small convention applies here, unlike in the base ontology. + + noiseRateType ENUM VALUES RELABELED FROM NUMERIC NOTATIONS: the source's + own concept notations are literally '01', '10', '50', '90', '99' + (percentiles) plus 'max'/'min'. Relabeled as P01/P10/P50/P90/P99/Max/Min + for JSON Schema enum readability (bare numeric strings as enum values + would be easy to confuse with an actual numeric percentile value). + + SOURCE EXAMPLE HAS A LIKELY TYPO, NOT REPRODUCED: examples/example.ttl + includes two bare triples -- "edintnoisetimecon:Slow ;" and + "edintnoiseratetype:10 ;" -- with no property name before the value, + where "edintacus:noiseTimeConstantType" / "edintacus:noiseRateType" was + evidently intended. This candidate's own example uses only the + observation the source's typo-free triples support (noiseReferenceInterval, + noisePonderation, noiseEmitterPredominantType), and does not reproduce the + broken pair. + + REAL EXAMPLE DATA USED: grounded in this repository's own examples/example.ttl + (a real Madrid Plaza Mayor acoustic monitoring station and its + A-weighted equivalent noise level observations).