@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@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/GOVE> a skos:Concept ;
    skos:prefLabel "Government and public sector"@en .

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

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

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

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

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

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

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

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

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/058f4256-c228-4eca-bec0-9dca5ba040db> 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/emzask3opaecj2x4td52pjc6zzxeciii. 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 Zero 1.0; the data is reused under it.

An MCP client reaches it with this configuration:

    {"mcpServers":{"catalog":{"type":"http","url":"https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/mcp"}}}
""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON> ;
    dct:issued "2026-10-25T06:07:16.319804"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC0> ;
    dct:modified "2026-10-25T08:35:24.769145"^^xsd:dateTime ;
    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/emzask3opaecj2x4td52pjc6zzxeciii/mcp> ;
            dcat:servesDataset <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14> ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/mcp> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/7a171098-35bc-4c2d-be8f-da257db95682> 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-25T06:07:16.319804"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC0> ;
    dct:modified "2026-10-25T08:35:24.769283"^^xsd:dateTime ;
    dct:title "DCAT-AP record" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/ld+json> .

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/bea34d21-8cdb-40e0-873d-06eabf402ea8> 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/emzask3opaecj2x4td52pjc6zzxeciii/ws'
    {"metadata":{"x-op":"x-subscribe","x-id":"s1"},"body":{"type":"Subscription","watchedAttributes":["location"]}}

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-25T06:07:16.319804"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC0> ;
    dct:modified "2026-10-25T08:35:24.769022"^^xsd:dateTime ;
    dct:title "Live updates over WebSocket" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/ws> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/cede481e-e68d-4e10-9775-98e202424a0b> 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/emzask3opaecj2x4td52pjc6zzxeciii/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/emzask3opaecj2x4td52pjc6zzxeciii/ogc/features/. With curl:

    curl 'https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/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/emzask3opaecj2x4td52pjc6zzxeciii""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/GEOJSON> ;
    dct:issued "2026-10-25T06:07:16.319804"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC0> ;
    dct:modified "2026-10-25T08:35:24.769083"^^xsd:dateTime ;
    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/emzask3opaecj2x4td52pjc6zzxeciii/ogc/features/> ;
            dcat:servesDataset <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14> ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/ogc/features/> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/geo+json> .

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/cff397c6-21b4-42a9-a5ef-de109639ade7> a dcat:Distribution ;
    dct:description """The NGSI-LD API (ETSI GS CIM 009) of this dataset: query, filter and page its entities. The entity types it serves:

    curl -H 'Accept: application/ld+json' 'https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/ngsi-ld/v1/types'

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/emzask3opaecj2x4td52pjc6zzxeciii""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/JSON_LD> ;
    dct:issued "2026-10-25T06:07:16.319804"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC0> ;
    dct:modified "2026-10-25T08:35:24.768845"^^xsd:dateTime ;
    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/emzask3opaecj2x4td52pjc6zzxeciii/ngsi-ld/v1/> ;
            dcat:servesDataset <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14> ] ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/ngsi-ld/v1/> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/ef63079e-a11c-438b-adef-33b4aec46a8c> 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-25T06:07:16.319804"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC0> ;
    dct:modified "2026-10-25T08:35:24.769206"^^xsd:dateTime ;
    dct:title "Schema artifacts" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/schema/index.json> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/application/json> .

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/f2535d2e-f4dd-4be7-8192-04e863af2e24> 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/emzask3opaecj2x4td52pjc6zzxeciii/file.csv'

Open to anyone, with no sign-in.""" ;
    dct:format <http://publications.europa.eu/resource/authority/file-type/CSV> ;
    dct:issued "2026-10-25T06:07:16.319804"^^xsd:dateTime ;
    dct:license <http://publications.europa.eu/resource/authority/licence/CC0> ;
    dct:modified "2026-10-25T08:35:24.768954"^^xsd:dateTime ;
    dct:title "CSV" ;
    dcat:accessURL <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/file.csv> ;
    dcat:mediaType <http://www.iana.org/assignments/media-types/text/csv> .

<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" .

<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 .

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

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

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

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

<https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14> a dcat:Dataset ;
    dct:accrualPeriodicity <http://publications.europa.eu/resource/authority/frequency/CONT> ;
    dct:description "Find a dataset of the project by its title, theme or place (type=Dataset, q=searchText~=…, georel=near), then go on to its own Endpoint." ;
    dct:identifier "emzask3opaecj2x4td52pjc6zzxeciii" ;
    dct:issued "2026-10-25T06:07:16.319804"^^xsd:dateTime ;
    dct:modified "2026-10-25T08:35:24.756099"^^xsd:dateTime ;
    dct:publisher <https://www.hel.fi/> ;
    dct:spatial <http://data.europa.eu/nuts/code/FI1B1> ;
    dct:title "Helsinki – data catalogue" ;
    dcat:contactPoint [ a vcard:Kind,
                vcard:Organization ;
            vcard:fn "joinedcontext" ;
            vcard:hasEmail <mailto:hello@joinedcontext.com> ] ;
    dcat:distribution <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/058f4256-c228-4eca-bec0-9dca5ba040db>,
        <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/7a171098-35bc-4c2d-be8f-da257db95682>,
        <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/bea34d21-8cdb-40e0-873d-06eabf402ea8>,
        <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/cede481e-e68d-4e10-9775-98e202424a0b>,
        <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/cff397c6-21b4-42a9-a5ef-de109639ade7>,
        <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/ef63079e-a11c-438b-adef-33b4aec46a8c>,
        <https://opendata.dev.joinedcontext.com/dataset/30a5ff78-cf94-4dc3-b9b5-5e3c32ca5b14/resource/f2535d2e-f4dd-4be7-8192-04e863af2e24> ;
    dcat:keyword "DCAT-AP",
        "NGSI-LD",
        "avoin data",
        "data catalogue",
        "datakatalogi",
        "open data" ;
    dcat:landingPage <https://api.dev.joinedcontext.com/api/endpoint/emzask3opaecj2x4td52pjc6zzxeciii/> ;
    dcat:theme <http://publications.europa.eu/resource/authority/data-theme/GOVE> .

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

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

