@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix spdx: <http://spdx.org/rdf/terms#> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://data.europa.eu/nuts/code/FI1B1> a dct:Location .

<http://publications.europa.eu/resource/authority/data-theme/ENVI> a skos:Concept ;
    skos:prefLabel "Environment"@en .

<http://publications.europa.eu/resource/authority/data-theme/HEAL> a skos:Concept ;
    skos:prefLabel "Health"@en .

<http://publications.europa.eu/resource/authority/file-type/GEOJSON> a dct:MediaTypeOrExtent .

<http://publications.europa.eu/resource/authority/file-type/MARKDOWN> a dct:MediaTypeOrExtent .

<http://publications.europa.eu/resource/authority/file-type/OWL> a dct:MediaTypeOrExtent .

<http://publications.europa.eu/resource/authority/file-type/YAML> a dct:MediaTypeOrExtent .

<http://publications.europa.eu/resource/authority/frequency/HOURLY> a dct:Frequency .

<http://www.iana.org/assignments/media-types/application/geo+json> a dct:MediaType .

<http://www.iana.org/assignments/media-types/application/schema+json> a dct:MediaType .

<http://www.iana.org/assignments/media-types/text/csv> a dct:MediaType .

<http://www.iana.org/assignments/media-types/text/markdown> a dct:MediaType .

<http://www.iana.org/assignments/media-types/text/yaml> a dct:MediaType .

<http://www.opengis.net/doc/IS/ogcapi-features-1/1.0> a dct:Standard .

<https://en.ilmatieteenlaitos.fi/open-data> a dcat:Dataset ;
    dct:description "Hourly air quality observations (urban::observations::airquality::hourly::simple), CC BY 4.0." ;
    dct:title "FMI open data" .

<https://modelcontextprotocol.io/specification> a dct:Standard .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/0124abd1-c3be-420c-8892-c2051d1cc966> a dcat:Distribution ;
    dct:description """OGC API - Features, read-only: Part 1 (Core: collections and items), Part 2 (coordinate reference systems by reference) and Part 3 (Filtering with CQL2). https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ogc/features/conformance lists the classes this endpoint serves. In QGIS: Layer, Add Layer, Add WFS / OGC API - Features Layer, a new connection with the URL https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ogc/features/. With curl:

    curl 'https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ogc/features/collections'

Always live: the catalogue holds this link, never a copy. Open to anyone, with no sign-in.

The fields it filters on and example queries that answered with this dataset's data: https://api.dev.joinedcontext.com/d/jtjnhkaau64zmzz5csmcwem52icvufy2""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/GEOJSON> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261751"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "OGC API - Features" ;
    dcat:accessService [ a dcat:DataService ;
            dct:conformsTo <http://www.opengis.net/doc/IS/ogcapi-features-1/1.0> ;
            dct:title "OGC API - Features" ;
            dcat:endpointURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ogc/features/> ;
            dcat:servesDataset <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21> ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ogc/features/> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/geo+json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/10d4c194-a86b-4a62-9f2b-137877f662e2> a dcat:Distribution ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/CSV> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.262349"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "AirQualityObserved" ;
    dcat:accessURL <https://opendata.dev.joinedcontext.com/datastore/dump/10d4c194-a86b-4a62-9f2b-137877f662e2> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/161e1826-bb58-44b9-9930-b274d428186f> a dcat:Distribution ;
    dct:description """OData v4, read-only: each entity type is an entity set, with $filter, $select, $orderby and $top. In Excel: Data, Get Data, From Other Sources, From OData Feed, then the URL https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/odata/v4/. In Power BI: Get data, OData feed, the same URL. With curl:

    curl 'https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/odata/v4/'

Its entity sets: https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/odata/v4/AirQualityObserved.

Always live: the catalogue holds this link, never a copy. Open to anyone, with no sign-in.

The fields it filters on and example queries that answered with this dataset's data: https://api.dev.joinedcontext.com/d/jtjnhkaau64zmzz5csmcwem52icvufy2""" ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261806"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "OData v4" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/odata/v4/> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/16939075-3abe-43df-b38b-4c0bcfab0509> a dcat:Distribution ;
    dct:description "The data model as LinkML; sha256 e8095f1076600b53ae4823c1aa15ecb8ee1b571ac4cf6392b88e41c1fb11981e." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/YAML> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.262016"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "helsinki model.linkml.yaml" ;
    spdx:checksum [ a spdx:Checksum ;
            spdx:algorithm spdx:checksumAlgorithm_sha256 ;
            spdx:checksumValue "e8095f1076600b53ae4823c1aa15ecb8ee1b571ac4cf6392b88e41c1fb11981e"^^xsd:hexBinary ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/v1/model.linkml.yaml> ;
    dcat:byteSize "8732"^^xsd:nonNegativeInteger ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/text/yaml> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/245538db-7cdc-44b7-956c-2f6231dd92df> a dcat:Distribution ;
    dct:description "The data model as JSON-LD; sha256 ecbb0099ebb4283eff2871a7357620428a66527479d6e409f3a44ebe280e0af7." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON_LD> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261965"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "helsinki context.jsonld" ;
    spdx:checksum [ a spdx:Checksum ;
            spdx:algorithm spdx:checksumAlgorithm_sha256 ;
            spdx:checksumValue "ecbb0099ebb4283eff2871a7357620428a66527479d6e409f3a44ebe280e0af7"^^xsd:hexBinary ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/v1/context.jsonld> ;
    dcat:byteSize "1132"^^xsd:nonNegativeInteger ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/ld+json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/68094323-84c7-4593-82af-57f54d2e12c2> a dcat:Distribution ;
    dct:description """The NGSI-LD API (ETSI GS CIM 009) of this dataset: query, filter and page its entities. The first ten AirQualityObserved entities:

    curl -H 'Accept: application/ld+json' 'https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ngsi-ld/v1/entities?type=AirQualityObserved&limit=10'

Always live: the catalogue holds this link, never a copy. Open to anyone, with no sign-in.

The fields it filters on and example queries that answered with this dataset's data: https://api.dev.joinedcontext.com/d/jtjnhkaau64zmzz5csmcwem52icvufy2""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON_LD> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261462"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "NGSI-LD API" ;
    dcat:accessService [ a dcat:DataService ;
            dct:conformsTo <https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/> ;
            dct:title "NGSI-LD API" ;
            dcat:endpointURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ngsi-ld/v1/> ;
            dcat:servesDataset <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21> ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ngsi-ld/v1/> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/6a526377-24df-42f4-8c85-23e16ee93c97> a dcat:Distribution ;
    dct:description "The data model as JSON Schema; sha256 018d0b325226a139e558ed181e2a95c4486f22c524dc7c4a53e30f05311b6931." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.262238"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "helsinki model.schema.json" ;
    spdx:checksum [ a spdx:Checksum ;
            spdx:algorithm spdx:checksumAlgorithm_sha256 ;
            spdx:checksumValue "018d0b325226a139e558ed181e2a95c4486f22c524dc7c4a53e30f05311b6931"^^xsd:hexBinary ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/v1/model.schema.json> ;
    dcat:byteSize "2293"^^xsd:nonNegativeInteger ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/schema+json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/6f5e8585-282d-4ac3-bd2a-0ab98f420ff2> a dcat:Distribution ;
    dct:description "The data model as OWL; sha256 d7f986364a4a93c0711dc90ff6c9200d534034ca29f183116c7b792744964778." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/OWL> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.262119"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "helsinki model.owl.ttl" ;
    spdx:checksum [ a spdx:Checksum ;
            spdx:algorithm spdx:checksumAlgorithm_sha256 ;
            spdx:checksumValue "d7f986364a4a93c0711dc90ff6c9200d534034ca29f183116c7b792744964778"^^xsd:hexBinary ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/v1/model.owl.ttl> ;
    dcat:byteSize "2544"^^xsd:nonNegativeInteger ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/text/turtle> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/799947be-fa4b-42a1-81c5-be0f362f2fd1> a dcat:Distribution ;
    dct:description "The data model as RDF; sha256 8fedcb6d394f03c7b3dc36cf543b106e78bd3484cfacc78289020c92a2fea759." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/RDF_TURTLE> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.262171"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "helsinki model.rdf.ttl" ;
    spdx:checksum [ a spdx:Checksum ;
            spdx:algorithm spdx:checksumAlgorithm_sha256 ;
            spdx:checksumValue "8fedcb6d394f03c7b3dc36cf543b106e78bd3484cfacc78289020c92a2fea759"^^xsd:hexBinary ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/v1/model.rdf.ttl> ;
    dcat:byteSize "1323"^^xsd:nonNegativeInteger ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/text/turtle> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/8b305c7a-7216-45e2-b3dd-8bfdc7bc0903> a dcat:Distribution ;
    dct:description "The data model in every formalism, for every model version, each artifact with its sha256 (EP-68)." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261858"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "Schema artifacts" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/index.json> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/97d675e5-c73d-44fa-bdf2-ed0aa06f33fb> a dcat:Distribution ;
    dct:description "The Endpoint's own DCAT-AP 3.0 description, which this dataset is published from (EP-63)." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON_LD> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261911"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "DCAT-AP record" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/ld+json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/9eac4ff5-9cd8-4e32-b858-97b26a182c78> a dcat:Distribution ;
    dct:description """For AI assistants: a Model Context Protocol server over this dataset's endpoint https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2. It answers anyone, with no sign-in, what the endpoint serves the public.

Tools: `query_entities` (the rows of an entity type, with an NGSI-LD `q` filter, `attrs`, `count` and paging), `get_entity` (one entity by its URN), `describe_schema` (the data model: read it first) and `describe_access` (what you may read).

Licence: Creative Commons Attribution 4.0; the data is reused under it.

An MCP client reaches it with this configuration:

    {"mcpServers":{"helsinki-air-quality":{"type":"http","url":"https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/mcp"}}}
""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261624"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "Model Context Protocol" ;
    dcat:accessService [ a dcat:DataService ;
            dct:conformsTo <https://modelcontextprotocol.io/specification> ;
            dct:title "Model Context Protocol" ;
            dcat:endpointURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/mcp> ;
            dcat:servesDataset <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21> ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/mcp> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/a98d2b86-f453-4dac-8c22-af0e8e86f259> a dcat:Distribution ;
    dct:description """A CSV table, generated on each download from the endpoint's live data.

    curl -o file.csv 'https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/file.csv'

Open to anyone, with no sign-in.""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/CSV> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261558"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "CSV" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/file.csv> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/text/csv> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/ae86ede7-4793-4d04-b6aa-8b52d8f2093e> a dcat:Distribution ;
    dct:description "The data model as Markdown; sha256 2702ede0341b0c408db15c7b29a8ff7028676c8aa39f055369f964c64f825597." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/MARKDOWN> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.262068"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "helsinki model.md" ;
    spdx:checksum [ a spdx:Checksum ;
            spdx:algorithm spdx:checksumAlgorithm_sha256 ;
            spdx:checksumValue "2702ede0341b0c408db15c7b29a8ff7028676c8aa39f055369f964c64f825597"^^xsd:hexBinary ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/v1/model.md> ;
    dcat:byteSize "1392"^^xsd:nonNegativeInteger ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/text/markdown> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/e604394f-25b7-4a79-84ee-0c04af9cee9e> a dcat:Distribution ;
    dct:description "The data model as SHACL; sha256 5d1ac410725d9bf512954a4a1dc298c3b29ecbb0d1b5c84fffdc9387c93880ae." ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/RDF_TURTLE> ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.262291"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "helsinki model.shacl.ttl" ;
    spdx:checksum [ a spdx:Checksum ;
            spdx:algorithm spdx:checksumAlgorithm_sha256 ;
            spdx:checksumValue "5d1ac410725d9bf512954a4a1dc298c3b29ecbb0d1b5c84fffdc9387c93880ae"^^xsd:hexBinary ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/schema/v1/model.shacl.ttl> ;
    dcat:byteSize "3871"^^xsd:nonNegativeInteger ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/text/turtle> .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/f386762e-24f3-4395-ab29-717ede431587> a dcat:Distribution ;
    dct:description """Live updates: open one WebSocket, subscribe to the entities you want, and each change arrives as a message, with no server of your own. With websocat, then type the subscription:

    websocat --protocol ngsi-ld-ws 'wss://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ws'
    {"metadata":{"x-op":"x-subscribe","x-id":"s1"},"body":{"type":"Subscription","entities":[{"type":"AirQualityObserved"}]}}

Always live: the catalogue holds this link, never a copy. Open to anyone, with no sign-in.

The message format, the limits and examples in JavaScript and Python: https://dev.joinedcontext.com/docs/API/07-websocket""" ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> ;
    dct:modified "2026-10-23T03:55:33.261694"^^xsd:dateTime ;
    dct:rights [ a dct:RightsStatement ;
            rdfs:label "Source: Finnish Meteorological Institute open data, CC BY 4.0" ] ;
    dct:title "Live updates over WebSocket" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ws> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/> a dct:Standard .

<https://www.hel.fi/> a foaf:Agent ;
    foaf:name "City of Helsinki" .

<https://www.w3.org/TR/json-ld11/> a dct:Standard .

<http://publications.europa.eu/resource/authority/file-type/CSV> a dct:MediaTypeOrExtent .

<http://publications.europa.eu/resource/authority/file-type/RDF_TURTLE> a dct:MediaTypeOrExtent .

<http://www.iana.org/assignments/media-types/application/ld+json> a dct:MediaType .

<https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/> a foaf:Document .

<https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/mcp> a rdfs:Resource .

<https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ngsi-ld/v1/> a rdfs:Resource .

<https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/ogc/features/> a rdfs:Resource .

<http://publications.europa.eu/resource/authority/file-type/JSON> a dct:MediaTypeOrExtent .

<http://publications.europa.eu/resource/authority/file-type/JSON_LD> a dct:MediaTypeOrExtent .

<http://www.iana.org/assignments/media-types/text/turtle> a dct:MediaType .

<https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21> a dcat:Dataset ;
    dct:accrualPeriodicity <http://publications.europa.eu/resource/authority/frequency/HOURLY> ;
    dct:conformsTo <https://www.w3.org/TR/json-ld11/> ;
    dct:description "Hourly readings of the capital region air quality stations: PM10, PM2.5 and the air quality index (AirQualityObserved). Source: Finnish Meteorological Institute open data, CC BY 4.0." ;
    dct:identifier "jtjnhkaau64zmzz5csmcwem52icvufy2" ;
    dct:issued "2026-10-23T01:46:52.879402"^^xsd:dateTime ;
    dct:modified "2026-10-23T03:55:33.256430"^^xsd:dateTime ;
    dct:publisher <https://www.hel.fi/> ;
    dct:source <https://en.ilmatieteenlaitos.fi/open-data> ;
    dct:spatial <http://data.europa.eu/nuts/code/FI1B1> ;
    dct:title "Helsinki air quality" ;
    dcat:contactPoint [ a vcard:Kind,
                vcard:Organization ;
            vcard:fn "joinedcontext" ;
            vcard:hasEmail <mailto:hello@joinedcontext.com> ] ;
    dcat:distribution <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/0124abd1-c3be-420c-8892-c2051d1cc966>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/10d4c194-a86b-4a62-9f2b-137877f662e2>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/161e1826-bb58-44b9-9930-b274d428186f>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/16939075-3abe-43df-b38b-4c0bcfab0509>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/245538db-7cdc-44b7-956c-2f6231dd92df>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/68094323-84c7-4593-82af-57f54d2e12c2>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/6a526377-24df-42f4-8c85-23e16ee93c97>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/6f5e8585-282d-4ac3-bd2a-0ab98f420ff2>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/799947be-fa4b-42a1-81c5-be0f362f2fd1>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/8b305c7a-7216-45e2-b3dd-8bfdc7bc0903>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/97d675e5-c73d-44fa-bdf2-ed0aa06f33fb>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/9eac4ff5-9cd8-4e32-b858-97b26a182c78>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/a98d2b86-f453-4dac-8c22-af0e8e86f259>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/ae86ede7-4793-4d04-b6aa-8b52d8f2093e>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/e604394f-25b7-4a79-84ee-0c04af9cee9e>,
        <https://opendata.dev.joinedcontext.com/dataset/e70c78d1-d4c6-4bf8-976e-d08f36db6c21/resource/f386762e-24f3-4395-ab29-717ede431587> ;
    dcat:keyword "PM10",
        "PM2.5",
        "air quality",
        "fina partiklar",
        "hengitettävät hiukkaset",
        "ilmanlaatu",
        "luftkvalitet",
        "pienhiukkaset" ;
    dcat:landingPage <https://api.dev.joinedcontext.com/api/endpoint/jtjnhkaau64zmzz5csmcwem52icvufy2/> ;
    dcat:theme <http://publications.europa.eu/resource/authority/data-theme/ENVI>,
        <http://publications.europa.eu/resource/authority/data-theme/HEAL> ;
    prov:wasGeneratedBy [ a prov:Activity ;
            rdfs:label "pipeline air-quality" ] .

<http://www.iana.org/assignments/media-types/application/json> a dct:MediaType .

spdx:checksumAlgorithm_sha256 a spdx:ChecksumAlgorithm .

<http://publications.europa.eu/resource/authority/licence/CC_BY_4_0> a dct:LicenseDocument .

