ERA Knowledge Graph
This webpage contains a catalogue of SPARQL queries (together with their correspondance in natural language) that can be useful for different purposes.
Queries will be provided as independent files inside this webpage, to facilitate their maintenance and the generation of references to them from other parts of the ERA ecosystem (e.g., ontology documentation, demo sites, etc.), especially in case of ontology changes.
And some of these queries will be also grouped together in SPARQL notebooks, for convenience, providing a unified view over a specific need (e.g., parameter completeness reports per member state).
1. Provide the number of operational points loaded in the Knowledge Graph, grouped by member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?id ?inCountry ?count WHERE{ {SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?OP) AS ?count) WHERE { ?OP a era:OperationalPoint. ?OP era:inCountry ?inCountry. }} SERVICE { ?inCountry dc:identifier ?id } } |
2. Provide the number of sections of line loaded in the Knowledge Graph, grouped by member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?id ?inCountry (COUNT(DISTINCT ?SL) AS ?count) WHERE { ?SL a era:SectionOfLine. ?SL era:inCountry ?inCountry. ?inCountry dc:identifier ?id } |
3. Provide the total length of lines loaded in the Knowledge Graph, grouped by member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?id ?inCountry ?totalLengthKm { {SELECT DISTINCT ?inCountry (round(xsd:decimal(SUM(?length)/1000)) AS ?totalLengthKm) WHERE { ?element a ?y . # currently includes sections of line and tunnels ?element era:length ?length . ?element era:inCountry ?inCountry. }} SERVICE <http://publications.europa.eu/webapi/rdf/sparql>{ ?inCountry dc:identifier ?id} } |
3.1. Provide the total length of lines (grouped by member state and type of line - currently section of line or tunnel). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?id ?inCountry ?y ?totalLengthKm WHERE { {SELECT DISTINCT ?inCountry ?y (round(xsd:decimal(SUM(?length)/1000)) AS ?totalLengthKm) WHERE { ?element a ?y . ?element era:length ?length . ?element era:inCountry ?inCountry. }} SERVICE <http://publications.europa.eu/webapi/rdf/sparql>{ ?inCountry dc:identifier ?id} } |
3.2. Provide the total length of lines (understood as sections of line) loaded in the Knowledge Graph, grouped by member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?id ?inCountry ?totalLengthKm { {SELECT DISTINCT ?inCountry (round(xsd:decimal(SUM(?length)/1000)) AS ?totalLengthKm) WHERE { ?element a era:SectionOfLine . ?element era:length ?length . ?element era:inCountry ?inCountry. }} SERVICE <http://publications.europa.eu/webapi/rdf/sparql>{ ?inCountry dc:identifier ?id} } |
4. Provide a summary of the presence of the core parameter load capability (1.1.1.1.2.4) across all tracks per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?inCountry ?numTotalTracks ?numTracksWithLoadCapability ?numTracksWithoutLoadCapability WHERE { { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTotalTracks) WHERE { ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTracksWithLoadCapability) WHERE { ?track a era:Track . ?track era:loadCapability ?loadCapability . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. } } OPTIONAL { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTracksWithoutLoadCapability) WHERE { ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. FILTER NOT EXISTS {?track era:loadCapability ?loadCapability .} } } } |
4.1. Provide a summary of the sections of lines and tracks where the core parameter load capability (1.1.1.1.2.4) does not appear (example with Spain).Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?inCountry ?sectionOfLine ?trackWithoutLoadCapability WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . ?trackWithoutLoadCapability a era:Track . ?sectionOfLine era:track ?trackWithoutLoadCapability . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. FILTER NOT EXISTS {?trackWithoutLoadCapability era:loadCapability ?loadcapability .} } |
5. Auxiliary query: determine which core parameters are applicable to which types of ontology elements. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?Class ?p WHERE { VALUES ?p {era:loadCapability era:maximumPermittedSpeed era:hasSevereWeatherConditions era:gaugingProfile era:gradientProfile era:minimumHorizontalRadius era:wheelSetGauge era:railInclination era:minimumWheelDiameter era:maximumTrainDeceleration era:eddyCurrentBraking era:magneticBraking era:hasHotAxleBoxDetector era:cantDefficiency era:contactLineSystemType era:energySupplySystem era:rollingStockFireCategory era:protectionLegacySystem era:legacyRadioSystem era:trainDetectionSystemType era:maximumBrakingDistance era:hasAdditionalBrakingInformation era:lineReference era:gaugingProfile era:length era:platformHeight era:temperatureRange era:geographicalLocationOperationalPoint era:gaugingProfile} ?xx a ?Class . ?xx ?p ?value } ORDER BY ?Class |
As a result of these previous queries, the following relationships exist between core parameters and these types of elements, according to the current knowledge graph (this will be validated against the ontology):
6. Summary of the presence of core parameters applicale to tracks per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalTracks ?numTracksWithPropertyAsCoreParameter ?numTracksWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:wheelSetGauge era:gaugingProfile era:railInclination era:eddyCurrentBraking era:magneticBraking era:minimumWheelDiameter era:minimumHorizontalRadius era:protectionLegacySystem era:legacyRadioSystem era:maximumTrainDeceleration era:gradientProfile era:hasHotAxleBoxDetector era:hasSevereWeatherConditions era:loadCapability era:maximumBrakingDistance era:maximumPermittedSpeed era:hasAdditionalBrakingInformation era:minimumTemperature era:maximumTemperature era:cantDefficiency} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTotalTracks) WHERE { ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:wheelSetGauge era:gaugingProfile era:railInclination era:eddyCurrentBraking era:magneticBraking era:minimumWheelDiameter era:minimumHorizontalRadius era:protectionLegacySystem era:legacyRadioSystem era:maximumTrainDeceleration era:gradientProfile era:hasHotAxleBoxDetector era:hasSevereWeatherConditions era:loadCapability era:maximumBrakingDistance era:maximumPermittedSpeed era:hasAdditionalBrakingInformation era:minimumTemperature era:maximumTemperature era:cantDefficiency} ?track a era:Track . ?track ?p ?propertyValue . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:wheelSetGauge era:gaugingProfile era:railInclination era:eddyCurrentBraking era:magneticBraking era:minimumWheelDiameter era:minimumHorizontalRadius era:protectionLegacySystem era:legacyRadioSystem era:maximumTrainDeceleration era:gradientProfile era:hasHotAxleBoxDetector era:hasSevereWeatherConditions era:loadCapability era:maximumBrakingDistance era:maximumPermittedSpeed era:hasAdditionalBrakingInformation era:minimumTemperature era:maximumTemperature era:cantDefficiency} ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. FILTER NOT EXISTS {?track ?p ?propertyValue .} } } } ORDER BY ?p ?inCountry |
6.1. Provide a summary of the presence of the core parameter load capability (1.1.1.1.2.4) across all tracks per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?track ?p #?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:wheelSetGauge era:gaugingProfile era:railInclination era:eddyCurrentBraking era:magneticBraking era:minimumWheelDiameter era:minimumHorizontalRadius era:protectionLegacySystem era:legacyRadioSystem era:maximumTrainDeceleration era:gradientProfile era:hasHotAxleBoxDetector era:hasSevereWeatherConditions era:loadCapability era:maximumBrakingDistance era:maximumPermittedSpeed era:hasAdditionalBrakingInformation era:minimumTemperature era:maximumTemperature era:cantDefficiency} ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?track ?p ?propertyValue .} } ORDER BY ?track LIMIT 1000 |
7. Summary of the presence of core parameters applicale to sections of line per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalSOLs ?numSOLsWithPropertyAsCoreParameter ?numSOLsWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:length} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?sectionOfLine) AS ?numTotalSOLs) WHERE { ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?sectionOfLine) AS ?numSOLsWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:length} ?sectionOfLine a era:SectionOfLine . ?sectionOfLine ?p ?propertyValue . ?sectionOfLine era:inCountry ?inCountry. } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?sectionOfLine) AS ?numSOLsWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:length} ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. FILTER NOT EXISTS {?sectionOfLine ?p ?propertyValue . VALUES ?p {era:length}} } } } ORDER BY ?p ?inCountry |
7.1. Provide all the sections of line where core parameters do not appear (example with Spain). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?sectionOfLine ?p ?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:length} ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. ?p era:rinfIndex ?rinfIndex. FILTER NOT EXISTS {?sectionOfLine ?p ?propertyValue } } ORDER BY ?sectionOfLine LIMIT 1000 |
8. Summary of the presence of core parameters applicable to tunnels per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalEntities ?numEntitiesWithPropertyAsCoreParameter ?numEntitiesWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:length era:rollingStockFireCategory era:tunnelIdentification} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?entity) AS ?numTotalEntities) WHERE { ?entity a era:Tunnel . ?entity era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?entity) AS ?numEntitiesWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:length era:rollingStockFireCategory era:tunnelIdentification} ?entity a era:Tunnel . ?entity ?p ?propertyValue . ?entity era:inCountry ?inCountry. } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?entity) AS ?numEntitiesWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:length era:rollingStockFireCategory era:tunnelIdentification} ?entity a era:Tunnel . ?entity era:inCountry ?inCountry. FILTER NOT EXISTS {?entity ?p ?propertyValue } } } } ORDER BY ?p ?inCountry |
8.1 Provide all the tunnels where core parameters do not appear (example with Spain). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?entity ?p ?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:length era:rollingStockFireCategory era:tunnelIdentification} ?entity a era:Tunnel . ?entity era:inCountry ?inCountry. ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?entity ?p ?propertyValue } } ORDER BY ?entity LIMIT 1000 |
9. Summary of the presence of core parameters applicable to sidings per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalEntities ?numEntitiesWithPropertyAsCoreParameter ?numEntitiesWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:length era:minimumHorizontalRadius} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?entity) AS ?numTotalEntities) WHERE { ?entity a era:Siding . ?op a era:OperationalPoint . ?op era:siding ?entity . ?op era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?entity) AS ?numEntitiesWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:length era:minimumHorizontalRadius} ?entity a era:Siding . ?entity ?p ?propertyValue . ?op a era:OperationalPoint . ?op era:siding ?entity . ?op era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?entity) AS ?numEntitiesWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:length era:minimumHorizontalRadius} ?entity a era:Siding . ?op a era:OperationalPoint . ?op era:siding ?entity . ?op era:inCountry ?inCountry FILTER NOT EXISTS {?entity ?p ?propertyValue } } } } ORDER BY ?p ?inCountry |
9.1. Provide all the sidings where core parameters do not appear (example with Spain). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?entity ?p ?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:length era:minimumHorizontalRadius} ?entity a era:Siding . ?op a era:OperationalPoint . ?op era:siding ?entity . ?op era:inCountry ?inCountry . ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?entity ?p ?propertyValue} } ORDER BY ?entity LIMIT 1000 |
10. Summary of the presence of core parameters applicable to operational points per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalEntities ?numEntitiesWithPropertyAsCoreParameter ?numEntitiesWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:lineReference} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?entity) AS ?numTotalEntities) WHERE { ?entity a era:OperationalPoint . ?entity era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?entity) AS ?numEntitiesWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:lineReference} ?entity a era:OperationalPoint . ?entity era:inCountry ?inCountry . ?entity ?p ?propertyValue . } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?entity) AS ?numEntitiesWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:lineReference} ?entity a era:OperationalPoint . ?entity era:inCountry ?inCountry . FILTER NOT EXISTS {?entity ?p ?propertyValue } } } } ORDER BY ?p ?inCountry |
10.1. Provide all the operational points where core parameters do not appear (example with Spain). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?entity ?p ?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:lineReference} ?entity a era:OperationalPoint . ?entity era:inCountry ?inCountry ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?entity ?p ?propertyValue} } ORDER BY ?entity LIMIT 1000 |
11. Summary of the presence of core parameters applicable to platforms per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalTracks ?numTracksWithPropertyAsCoreParameter ?numTracksWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:platformId era:length era:platformHeight} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTotalTracks) WHERE { ?entity a era:Platform . ?track a era:Track. ?track era:platform ?entity . ?sectionOfLine era:track ?track . ?sectionOfLine era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:platformId era:length era:platformHeight} ?entity a era:Platform . ?track a era:Track. ?track era:platform ?entity . ?sectionOfLine era:track ?track . ?sectionOfLine era:inCountry ?inCountry . ?entity ?p ?propertyValue . } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:platformId era:length era:platformHeight} ?entity a era:Platform . ?track a era:Track. ?track era:platform ?entity . ?sectionOfLine era:track ?track . ?sectionOfLine era:inCountry ?inCountry FILTER NOT EXISTS {?entity ?p ?propertyValue .} } } } ORDER BY ?p ?inCountry |
11.1. Provide all the platforms where core parameters do not appear (example with Spain). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?entity ?p ?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:platformId era:length era:platformHeight} ?entity a era:Platform . ?track a era:Track. ?track era:platform ?entity . ?sectionOfLine era:track ?track . ?sectionOfLine era:inCountry ?inCountry . ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?entity ?p ?propertyValue} } ORDER BY ?entity LIMIT 1000 |
12. Summary of the presence of core parameters applicable to tracks' contact line systems per member state.
Query without checking parameter applicability. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalTracks ?numTracksWithPropertyAsCoreParameter ?numTracksWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:energySupplySystem era:contactLineSystemType} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTotalTracks) WHERE { ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:energySupplySystem era:contactLineSystemType} ?track a era:Track . ?track era:contactLineSystem ?cls . ?cls ?p ?propertyValue . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:energySupplySystem era:contactLineSystemType} ?track a era:Track . ?track era:contactLineSystem ?cls . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. FILTER NOT EXISTS {?cls ?p ?propertyValue .} } } } ORDER BY ?p ?inCountry |
Query checking parameter applicability. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalTracks ?numTracksWithPropertyAsCoreParameter ?numTracksWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:energySupplySystem era:contactLineSystemType} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTotalTracks) WHERE { ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry . FILTER NOT EXISTS {?track era:notApplicable ?p}. } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:energySupplySystem era:contactLineSystemType} ?track a era:Track . ?track era:contactLineSystem ?cls . ?cls ?p ?propertyValue . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:energySupplySystem era:contactLineSystemType} ?track a era:Track . ?track era:contactLineSystem ?cls . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. FILTER NOT EXISTS {?cls ?p ?propertyValue .} } } } ORDER BY ?p ?inCountry |
12.1. Provide all the tracks and contact line systems where core parameters do not appear (example with Spain):
Query without checking parameter applicability. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?track ?cls ?p #?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:energySupplySystem era:contactLineSystemType} ?track a era:Track . ?track era:contactLineSystem ?cls . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?cls ?p ?propertyValue .} } ORDER BY ?track ?cls LIMIT 1000 |
Query checking parameter applicability. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?track ?cls ?p #?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:energySupplySystem era:contactLineSystemType} ?track a era:Track . ?track era:contactLineSystem ?cls . FILTER NOT EXISTS {?track era:notApplicable ?p}. ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?cls ?p ?propertyValue .} } ORDER BY ?track ?cls LIMIT 1000 |
13. Summary of the presence of core parameters applicable to tracks' train detection systems per member state. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?p ?inCountry ?numTotalTracks ?numTracksWithPropertyAsCoreParameter ?numTracksWithoutPropertyAsCoreParameter WHERE { VALUES ?p {era:trainDetectionSystemType} { SELECT DISTINCT ?inCountry (COUNT(DISTINCT ?track) AS ?numTotalTracks) WHERE { ?track a era:Track . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithPropertyAsCoreParameter) WHERE { VALUES ?p {era:trainDetectionSystemType} ?track a era:Track . ?track era:trainDetectionSystem ?tds . ?tds ?p ?propertyValue . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. } } OPTIONAL { SELECT DISTINCT ?inCountry ?p (COUNT(DISTINCT ?track) AS ?numTracksWithoutPropertyAsCoreParameter) WHERE { VALUES ?p {era:trainDetectionSystemType} ?track a era:Track . ?track era:trainDetectionSystem ?tds . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. FILTER NOT EXISTS {?tds ?p ?propertyValue .} } } } ORDER BY ?p ?inCountry |
13.1. Provide all the tracks and train detection systems where core parameters do not appear (example with Spain). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?track ?tds ?p #?rinfIndex WHERE { VALUES ?inCountry {<http://publications.europa.eu/resource/authority/country/ESP>} . VALUES ?p {era:trainDetectionSystemType} ?track a era:Track . ?track era:trainDetectionSystem ?tds . ?sectionOfLine era:track ?track . ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?inCountry. ?p era:rinfIndex ?rinfIndex . FILTER NOT EXISTS {?tds ?p ?propertyValue .} } ORDER BY ?track ?tds LIMIT 1000 |
14. Number of tracks, per country, that are not TSI compliant. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?country COUNT(DISTINCT ?track) WHERE { ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?country . ?sectionOfLine era:track ?track . ?track a era:Track . ?track era:hasTSITrainDetection "false"^^xsd:boolean } ORDER BY ?country |
15. Number of tracks, per country, whose associated train detection systems are not TSI compliant. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT ?country ?p COUNT(DISTINCT ?track) AS ?numberTracks WHERE { ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?country . ?sectionOfLine era:track ?track . ?track a era:Track . ?track era:trainDetectionSystem ?tds . ?tds a era:TrainDetectionSystem . VALUES ?p {era:tsiCompliantCompositeBrakeBlocks era:tsiCompliantFerromagneticWheel era:tsiCompliantMaxImpedanceWheelset era:tsiCompliantMetalConstruction era:tsiCompliantMetalFreeSpace era:tsiCompliantRSTShuntImpedance era:tsiCompliantSandCharacteristics era:tsiCompliantSanding era:tsiCompliantShuntDevices } ?tds ?p <http://data.europa.eu/949/concepts/tsi-compliances/not_TSI_compliant> } ORDER BY ?country ?p |
16. Types of gauging profiles of tracks in neighbouring countries to Ukraine. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX country: <http://publications.europa.eu/resource/authority/country/> SELECT DISTINCT ?country ?gprofile WHERE { VALUES ?country {country:HUN country:ROU country:SVK} ?sectionOfLine a era:SectionOfLine . ?sectionOfLine era:inCountry ?country . ?sectionOfLine era:track ?track . ?track a era:Track . ?track era:gaugingProfile ?gprofile . } ORDER BY ?country |
17. Query for identifying unreachable Operational Points. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX era-dir: <http://data.europa.eu/949/concepts/track-running-directions/rinf/> SELECT DISTINCT ?op ?uopid ?country WHERE { # Main OP to be analized ?op era:inCountry ?country; era:uopid ?uopid. # Main SoL to be analized with tracks only departing from the main OP ?sol a era:SectionOfLine; era:track [ era:trackDirection era-dir:10 ]; era:opStart ?op. # Condition: There are no other tracks in the main SoL with arriving directions FILTER NOT EXISTS { ?sol era:track [ era:trackDirection era-dir:20 ] } FILTER NOT EXISTS { ?sol era:track [ era:trackDirection era-dir:30 ] } # Condition: There are no SoLs also departing on the main OP with tracks having arriving directions FILTER NOT EXISTS { ?sol1 era:opStart ?op; era:track [ era:trackDirection era-dir:20 ] } FILTER NOT EXISTS { ?sol1 era:opStart ?op; era:track [ era:trackDirection era-dir:30 ] } # Condition: There are no other SoLs arriving on the main OP with tracks having arriving directions FILTER NOT EXISTS { ?sol2 era:opEnd ?op; era:track [ era:trackDirection era-dir:10 ] } FILTER NOT EXISTS { ?sol2 era:opEnd ?op; era:track [ era:trackDirection era-dir:30 ] } } ORDER BY ?op ?country |
18. Query for identifying sink Operational Points. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX era-dir: <http://data.europa.eu/949/concepts/track-running-directions/rinf/> SELECT DISTINCT ?op ?uopid ?country WHERE { # Main OP to be analyzed ?op era:inCountry ?country; era:uopid ?uopid. # Main SoL to be analyzed with tracks only arriving to the main OP ?sol a era:SectionOfLine; era:track [ era:trackDirection era-dir:10 ]; era:opEnd ?op. # Condition: There are no other tracks in the main SoL with departing directions FILTER NOT EXISTS { ?sol era:track [ era:trackDirection era-dir:20 ] } FILTER NOT EXISTS { ?sol era:track [ era:trackDirection era-dir:30 ] } # Condition: There are no SoLs also arriving on the main OP with tracks having departing directions FILTER NOT EXISTS { ?sol1 era:opEnd ?op; era:track [ era:trackDirection era-dir:20 ] } FILTER NOT EXISTS { ?sol1 era:opEnd ?op; era:track [ era:trackDirection era-dir:30 ] } # Condition: There are no other SoLs departing on the main OP with tracks having departing directions FILTER NOT EXISTS { ?sol2 era:opStart ?op; era:track [ era:trackDirection era-dir:10 ] } FILTER NOT EXISTS { ?sol2 era:opStart ?op; era:track [ era:trackDirection era-dir:30 ] } } ORDER BY ?op ?country |
19. Query that allows generating INSPIRE-related data according to the INSPIRE ontologies at. Execute it (HTML). Execute it (TTL)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> PREFIX inspire: <http://inspire.ec.europa.eu/ont/net#> CONSTRUCT { ?track a inspire:Link; inspire:Link.startNode ?startOP; inspire:Link.endNode ?endOP. ?startOP a inspire:Node. ?endOP a inspire:Node. } WHERE { ?track a era:Track; ^era:track [ era:opStart ?startOP; era:opEnd ?endOP; era:inCountry <http://publications.europa.eu/resource/authority/country/BEL> ]. } |
Most of these queries are restricted to the section of line (and its related tracks) that starts in an operational point named Dendermonde and finishes in an operational point named Baasrode-Zuid. Changing the names of the operational points or knowing their URIs or those of the section of line to be requested would allow evaluating these queries in other parts of the knowledge graph.
Query TEN-T 1 - Determine the compliance of tracks with the High Speed Load Model (HSLM) - era:highSpeedLoadModelCompliance, RINF index 1.1.1.1.2.4.2. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_startName,"Dendermonde")) . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . OPTIONAL {?track era:highSpeedLoadModelCompliance ?highSpeedLoadModelCompliance} . } |
Query TEN-T 2 - Classification of a line according to the INF TSI - era:lineCategory, RINF index 1.2.1.0.2.2. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_startName,"Dendermonde")) . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:lineNationalId ?x . ?x era:lineCategory ?lineCategory . } |
Query TEN-T 3 - Number of tracks for a sectin of line. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT COUNT(DISTINCT ?track) AS ?tracks { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_startName,"Dendermonde")) . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . } |
Query TEN-T 4 - Type of contact line systems of the tracks in a section of line. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_startName,"Dendermonde")) . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clstype . } |
Query TEN-T 5 - Wheel set gauge of the tracks of a section of line. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_startName,"Dendermonde")) . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:wheelSetGauge ?wheelSetGauge . } |
Query TEN-T 6 - Energy supply system associated to the tracks of a section of line. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_startName,"Dendermonde")) . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:contactLineSystem ?cls . ?cls era:energySupplySystem ?energySupplySystem . } |
Query TEN-T 7 - ERTMS / ETCS application level of a track, which expresses the possible operating relationships between track and train. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_startName,"Dendermonde")) . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:etcsLevel ?etcsLevel . ?etcsLevelURI era:etcsLevelType ?etcsLevelType . FILTER(uri(?etcsLevel)=?etcsLevelURI) } |
Query TEN-T 8 - ETCS baseline installed in the track. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . FILTER (regex(?op_startName,"Dendermonde")) . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:etcsLevel ?etcsLevel . OPTIONAL{?etcsLevelURI era:etcsBaseline ?etcsBaseline . FILTER(uri(?etcsLevel)=?etcsLevelURI)} . } |
Query TEN-T 9 - Location of particular points requiring specific checks due to deviations from gauging. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . FILTER (regex(?op_startName,"Dendermonde")) . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:gaugingCheckLocation ?location . } |
Query TEN-T 10 - Combined transport profile for semi-trailers. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . FILTER (regex(?op_startName,"Dendermonde")) . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:profileNumberSemiTrailers ?profileNumberSemiTrailers . } |
Query TEN-T 11 - If ETCS in operation, fill in parameters ETCS Baseline and ETCS Level for tracks. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . FILTER (regex(?op_startName,"Dendermonde")) . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:highSpeedLoadModelCompliance "true"^^xsd:boolean . ?track era:etcsLevel ?etcsLevel . ?etcsLevelURI era:etcsBaseline ?etcsBaseline . FILTER(uri(?etcsLevel)=?etcsLevelURI) . ?etcsLevelURI era:etcsLevelType ?etcsLevelType . FILTER(uri(?etcsLevel)=?etcsLevelURI) } } |
Query TEN-T 12 - GSM-R version installed in the tracks of a section of line. Execute it (HTML). Execute it (CSV)
<
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . FILTER (regex(?op_startName,"Dendermonde")) . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:gsmRVersion ?gsmRVersion . } |
Query TEN-T 13 - Maximum Axle Load (note that this parameter does not exist and we use minAxleLoad instead, which returns currently no values). Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . FILTER (regex(?op_startName,"Dendermonde")) . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:trainDetectionSystem ?tds . OPTIONAL{?tds era:minAxleLoad ?minAxleLoad} } |
Query TEN-T 14 - Nominal maximum operational speed on the line as a result of INF, ENE and CCS subsystem characteristics expressed in kilometres/hour. Execute it (HTML). Execute it (CSV)
Query |
---|
PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT * { ?sol a era:SectionOfLine. ?sol era:opStart ?op_start. ?op_start era:opName ?op_startName . FILTER (regex(?op_startName,"Dendermonde")) . ?sol era:opEnd ?op_end. ?op_end era:opName ?op_endName . FILTER (regex(?op_endName,"Baasrode-Zuid")). ?sol era:track ?track . ?track era:trackId ?trackId . ?track era:maximumPermittedSpeed ?maximumPermittedSpeed } |
We welcome issues and enhancement requests that follow these guidelines:
Please label your issues using the corresponding version tag. For example, using the label `v0.9.0`.
For contributions we follow the "fork-and-pull" Git workflow:
NOTE: Make sure to merge the latest "upstream" version before submitting a pull request.
The ERA Railway Terminology Collection (ERA RTC) gathers terms and abbreviations that are contained in the EU legal framework for railway, technical documents produced by bodies which are engaged in the development of important evolution in the railway system and other relevant glossaries.
ERA RTC is intended to become a terminology single-entry point for the railway sector actors running the Single European Railway Area (SERA). Its main aim is to sustain the development of a common understanding in the rail sector, essential to achieve the level of harmonisation required by the EU legal framework.
Click here for more information
Click on the picture below to access the ERA Terminology Collection:
This is the human and machine readable Vocabulary/Ontology governed by the European Union Agency for Railways. It represents the concepts and relationships linked to the sectorial legal framework and the use cases under the Agency´s remit. Currently, this vocabulary covers the European railway infrastructure and the vehicles authorized to operate over it. It is a semantic/browsable representation of the RINF and ERATV application guides that were built by the domain experts from RINF and ERATV working parties.
This is the human and machine readable Controlled Vocabulary / Taxonomy governed by the European Union Agency for Railways. It represents the list of values per each data property linked to the sectorial legal framework and to the use cases under the Agency´s remit.
Here's a catalogue of SPARQL queries (together with their correspondence in natural language) that can be useful for different purposes. Send us your information request and we build the query for you. (Email RinfProjectTeamera [dot] europa [dot] eu (RinfProjectTeam[at]era[dot]europa[dot]eu))
Use this search engine to visualize your query in the EU Map.