SHACL Shapes for ERATV dataset compliant with ERA ontology
type: Dataset
description: SHACL constraints validating RDF ERATV datasets according to the ERA ontology .
publisher: ERA
creator: ERA
issued: 2026-03-15
landing page: https://data-interop.era.europa.eu/era-vocabulary/era-shapes
conforms to: shacl
conforms to: http://data.europa.eu/949/
license: oj
language: ENG
version info: 3.2.0
distribution: ERA ERATV SHACL shapes (Turtle)
was attributed to: ERA

ERA ERATV SHACL shapes (Turtle)
type: Distribution
download URL: https://data-interop.era.europa.eu/era-vocabulary/eratv/era-shapes
media type: text/turtle
format: RDF TURTLE
license: oj

AxleSpacingDistanceA
type: PropertyShape
affected property: axleSpacingDistanceA
affected class: AxleSpacing
scope: local
comment: Validation for axleSpacingDistanceA property. Position of the axles along the unit: a: Distance between axles.
path: axleSpacingDistanceA
datatype: decimal
severity: Violation
message: axleSpacingDistanceA: The value must be a decimal representing the distance between axles.
eratv index: 4.5.3.4

AxleSpacingDistanceB
type: PropertyShape
affected property: axleSpacingDistanceB
affected class: AxleSpacing
scope: local
comment: Validation for axleSpacingDistanceB property. Position of the axles along the unit: b: Distance from end axle to the end of the nearest coupling plane.
path: axleSpacingDistanceB
datatype: decimal
severity: Violation
message: axleSpacingDistanceB: The value must be a decimal representing the distance from end axle to the end of the nearest coupling plane.
eratv index: 4.5.3.4

AxleSpacingDistanceC
type: PropertyShape
affected property: axleSpacingDistanceC
affected class: AxleSpacing
scope: local
comment: Validation for axleSpacingDistanceC property. Position of the axles along the unit: c: distance between two inside axles.
path: axleSpacingDistanceC
datatype: decimal
severity: Violation
message: axleSpacingDistanceC: The value must be a decimal representing the distance between two inside axles.
eratv index: 4.5.3.4

AxleSpacingExplanation
type: PropertyShape
affected property: axleSpacingExplanation
affected class: AxleSpacing
scope: local
comment: Validation for axleSpacingExplanation property.
path: axleSpacingExplanation
datatype: string
severity: Violation
message: axleSpacingExplanation (4.5.3.4): The value must be a string.
eratv index: 4.5.3.4

WithBrakedMass
type: PropertyShape
affected property: withBrakedMass
affected class: BrakingPerformance
scope: local
comment: Validation for withBrakedMass property. Braked mass value.
path: withBrakedMass
datatype: decimal
severity: Violation
message: withBrakedMass: The value must be a decimal representing braked mass.

WithBrakedMassPercentage
type: PropertyShape
affected property: withBrakedMassPercentage
affected class: BrakingPerformance
scope: local
comment: Validation for withBrakedMassPercentage property. Braked mass percentage value.
path: withBrakedMassPercentage
datatype: decimal
severity: Violation
message: withBrakedMassPercentage: The value must be a decimal representing braked mass percentage.

ServiceBrakingProfile
type: PropertyShape
affected property: serviceBrakingProfile
affected class: BrakingPerformance
scope: local
comment: Validation for serviceBrakingProfile property. Links to the maximum service braking profile.
path: serviceBrakingProfile
node kind: IRI
class: BrakingProfile
severity: Violation
message: serviceBrakingProfile: The value must be an IRI pointing to a BrakingProfile.
eratv index: 4.7.7

ProfileLoadConditionMass
type: PropertyShape
affected property: profileLoadConditionMass
affected class: BrakingProfile
scope: local
comment: Validation for profileLoadConditionMass property. Load condition mass for which the braking profile applies.
path: profileLoadConditionMass
datatype: integer
severity: Violation
message: profileLoadConditionMass: The value must be an integer representing the load condition mass.
eratv index: 4.7.5.1

ProfileDeceleration
type: PropertyShape
affected property: profileDeceleration
affected class: BrakingProfile
scope: local
comment: Validation for profileDeceleration property. Maximum train deceleration for a braking profile at design maximum speed.
path: profileDeceleration
datatype: decimal
severity: Violation
message: profileDeceleration: The value must be a decimal representing maximum deceleration in m/s².
eratv index: 4.7.5
eratv index: 4.7.7

ProfileStoppingDistance
type: PropertyShape
affected property: profileStoppingDistance
affected class: BrakingProfile
scope: local
comment: Validation for profileStoppingDistance property. Maximum train stopping distance for a braking profile at design maximum speed.
path: profileStoppingDistance
datatype: integer
severity: Violation
message: profileStoppingDistance: The value must be an integer representing stopping distance in meters.
eratv index: 4.7.5
eratv index: 4.7.7

VehicleTypeMaximumCantDeficiency
type: PropertyShape
affected property: vehicleTypeMaximumCantDeficiency
affected class: MaximumSpeedAndCantDeficiency
scope: local
comment: Validation for vehicleTypeMaximumCantDeficiency property. Maximum cant deficiency for which the vehicle type has been assessed.
path: vehicleTypeMaximumCantDeficiency
datatype: integer
severity: Violation
message: vehicleTypeMaximumCantDeficiency: The value must be an integer representing cant deficiency in millimeters.
eratv index: 4.6.1.1

VehicleTypeMaximumSpeed
type: PropertyShape
affected property: vehicleTypeMaximumSpeed
affected class: MaximumSpeedAndCantDeficiency
scope: local
comment: Validation for vehicleTypeMaximumSpeed property. Maximum speed for which the vehicle type has been assessed with the corresponding cant deficiency.
path: vehicleTypeMaximumSpeed
datatype: integer
severity: Violation
message: vehicleTypeMaximumSpeed: The value must be an integer representing speed in km/h.
eratv index: 4.6.1.2

IsConditionBasedRestriction
type: PropertyShape
affected property: isConditionBasedRestriction
affected class: Restriction
scope: local
comment: Validation for isConditionBasedRestriction property.
path: isConditionBasedRestriction
datatype: boolean
severity: Violation
message: isConditionBasedRestriction: The value must be a boolean.

IsTimeBasedRestriction
type: PropertyShape
affected property: isTimeBasedRestriction
affected class: Restriction
scope: local
comment: Validation for isTimeBasedRestriction property. Indicates if the restriction is time-based.
path: isTimeBasedRestriction
datatype: boolean
severity: Violation
message: isTimeBasedRestriction: The value must be a boolean (true/false).

OtherCCSRadioSystemOnboard
type: PropertyShape
affected property: otherCCSRadioSystemOnboard
affected class: Restriction
scope: local
comment: Validation for otherCCSRadioSystemOnboard property.
path: otherCCSRadioSystemOnboard
node kind: IRI
max count: 1
severity: Violation
message: otherCCSRadioSystemOnboard: The value must be an IRI.

OtherCCSRadioSystemOnboardSKOS
type: SPARQLConstraint
affected property: otherCCSRadioSystemOnboard
affected class: Restriction
scope: local
comment: Ensures that the value of otherCCSRadioSystemOnboard is a valid SKOS concept from the other CCS radio system concept scheme.
severity: Violation
message: otherCCSRadioSystemOnboard: The Restriction {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/other-ccs-radio-system/OtherCCSRadioSystem>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:otherCCSRadioSystemOnboard AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:otherCCSRadioSystemOnboard ?concept . era:otherCCSRadioSystemOnboard era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

OtherCCSSystemOnboard
type: PropertyShape
affected property: otherCCSSystemOnboard
affected class: Restriction
scope: local
comment: Validation for otherCCSSystemOnboard property.
path: otherCCSSystemOnboard
node kind: IRI
max count: 1
severity: Violation
message: otherCCSSystemOnboard: The value must be an IRI.

OtherCCSSystemOnboardSKOS
type: SPARQLConstraint
affected property: otherCCSSystemOnboard
affected class: Restriction
scope: local
comment: Ensures that the value of otherCCSSystemOnboard is a valid SKOS concept from the other CCS signalling system concept scheme.
severity: Violation
message: otherCCSSystemOnboard: The Restriction {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/other-ccs-signalling-system/OtherCCSSignallingSystem>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:otherCCSSystemOnboard AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:otherCCSSystemOnboard ?concept . era:otherCCSSystemOnboard era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VehicleNumber
type: PropertyShape
affected property: vehicleNumber
affected class: Vehicle
scope: local
comment: Validation for vehicleNumber property.
path: vehicleNumber
datatype: string
max count: 1
severity: Violation
message: vehicleNumber: The value must be a string. At most one value is allowed.

VehicleSeries
type: PropertyShape
affected property: vehicleSeries
affected class: Vehicle
scope: local
comment: Validation for vehicleSeries property.
path: vehicleSeries
datatype: string
severity: Violation
message: vehicleSeries: The value must be a string.

HasCompositeBrakeBlockRetrofitted
type: PropertyShape
affected property: hasCompositeBrakeBlockRetrofitted
affected class: Vehicle
scope: local
comment: Validation for hasCompositeBrakeBlockRetrofitted property.
path: hasCompositeBrakeBlockRetrofitted
datatype: boolean
severity: Violation
message: hasCompositeBrakeBlockRetrofitted: The value must be a boolean.

OperationalRestriction
type: PropertyShape
affected property: operationalRestriction
affected class: Vehicle
scope: local
comment: Validation for operationalRestriction property.
path: operationalRestriction
node kind: IRI
severity: Violation
message: operationalRestriction: The value must be an IRI.

OperationalRestrictionSKOS
type: SPARQLConstraint
affected property: operationalRestriction
affected class: Vehicle
scope: local
comment: Ensures that the value of operationalRestriction is a valid SKOS concept from the restrictions concept scheme.
severity: Violation
message: operationalRestriction: The Vehicle {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/restrictions/Restrictions>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:operationalRestriction AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:operationalRestriction ?concept . era:operationalRestriction era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

QuieterRoutesExemptedCountry
type: PropertyShape
affected property: quieterRoutesExemptedCountry
affected class: VehicleTypeAuthorisationRestriction
scope: local
comment: Validation for quieterRoutesExemptedCountry property.
path: quieterRoutesExemptedCountry
node kind: IRI
severity: Violation
message: quieterRoutesExemptedCountry: The value must be an IRI.

QuieterRoutesExemptedCountrySKOS
type: SPARQLConstraint
affected property: quieterRoutesExemptedCountry
affected class: Vehicle
scope: local
comment: Ensures that the value of quieterRoutesExemptedCountry is a valid SKOS concept from the country authority concept scheme.
severity: Violation
message: quieterRoutesExemptedCountry: The Vehicle {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://publications.europa.eu/resource/authority/country>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:quieterRoutesExemptedCountry AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:quieterRoutesExemptedCountry ?concept . era:quieterRoutesExemptedCountry era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VehicleKeeper
type: PropertyShape
affected property: vehicleKeeper
affected class: Vehicle
scope: local
comment: Validation for vehicleKeeper property.
path: vehicleKeeper
node kind: IRI
class: OrganisationRole
severity: Violation
message: vehicleKeeper: The value must be an IRI pointing to an OrganisationRole.

VehicleType
type: PropertyShape
affected property: vehicleType
affected class: Vehicle
scope: local
comment: Validation for vehicleType property.
path: vehicleType
node kind: IRI
class: VehicleType
severity: Violation
message: vehicleType: The value must be an IRI pointing to a VehicleType.

VPAPermissionTypeSPARQL
type: SPARQLConstraint
message: VA Applications contain a valid authorisation case. Valid combinations are not checked.
prefixes: vpa#
prefixes: va-authcases
select: PREFIX vpa: <https://w3id.org/vpa#> PREFIX era-va-authcase: <http://data.europa.eu/949/concepts/va-authcases/> SELECT $this ?authcasetype (vpa:permissionType AS ?path) WHERE { $this vpa:constitutedBy/vpa:permissionType ?authcasetype . FILTER ( !isLiteral(?authcasetype) || # literal is not allowed !( ?authcasetype = era-va-authcase:C2T ) || # correct SKOS Concept for C2T !( ?authcasetype = era-va-authcase:NEW ) # correct SKOS Concept for NEW # incomplete ) }

IsPreEngagementApplication
type: PropertyShape
affected property: isPreEngagementApplication
affected class: VehicleTypeAuthorisationApplication
scope: local
comment: Validation for isPreEngagementApplication property.
path: isPreEngagementApplication
datatype: boolean
severity: Violation
message: isPreEngagementApplication: The value must be a boolean.

PreEngagementBaseline
type: PropertyShape
affected property: preEngagementBaseline
affected class: VehicleTypeAuthorisationApplication
scope: local
comment: Validation for preEngagementBaseline property.
path: preEngagementBaseline
node kind: IRI
class: Document
severity: Violation
message: preEngagementBaseline: The value must be an IRI pointing to a Document.

AreaOfUse
type: PropertyShape
affected class: VehicleTypeAuthorisationCase
affected class: VehicleAuthorisationCase
affected property: areaOfUse
comment: Validation for areaOfUse property.
node kind: IRI
path: areaOfUse
message: areaOfUse: The value must be an IRI.
severity: Violation

AreaOfUseSKOS
type: SPARQLConstraint
affected property: areaOfUse
affected class: VehicleTypeAuthorisationCase
affected class: VehicleAuthorisationCase
scope: local
comment: Ensures that the value of areaOfUse is a valid SKOS concept from the countries concept scheme.
severity: Violation
message: areaOfUse: The VehicleTypeAuthorisationCase {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://publications.europa.eu/resource/authority/country>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:areaOfUse AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:areaOfUse ?concept . era:areaOfUse era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }
message: areaOfUse: The VehicleTypeAuthorisationCase {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://publications.europa.eu/resource/authority/country>.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:areaOfUse AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:areaOfUse ?concept . era:areaOfUse era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

AuthorisingMemberState
type: PropertyShape
affected property: authorisingMemberState
affected class: VehicleTypeAuthorisationCase
affected class: VehicleAuthorisationCase
scope: local
comment: Indicates the member state where a vehicle type has been authorized. Not to be confused with Area Of Use.
eratv index: 3.1.1
path: authorisingMemberState
node kind: IRI
severity: Violation
message: authorisingMemberState (3.1.1): The value must be an IRI.

AuthorisingMemberStateSKOS
type: SPARQLConstraint
affected property: authorisingMemberState
affected class: VehicleTypeAuthorisationCase
affected class: VehicleAuthorisationCase
scope: local
comment: Ensures that the value of authorisingMemberState is a valid SKOS concept from the countries concept scheme.
severity: Violation
message: authorisingMemberState: The VehicleTypeAuthorisationCase {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://publications.europa.eu/resource/authority/country>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:authorisingMemberState AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:authorisingMemberState ?concept . era:authorisingMemberState era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }
message: authorisingMemberState: The VehicleTypeAuthorisationCase {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://publications.europa.eu/resource/authority/country>.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:authorisingMemberState AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:authorisingMemberState ?concept . era:authorisingMemberState era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

SafetyDeclaration
type: PropertyShape
affected property: safetyDeclaration
affected class: VehicleTypeAuthorisationCase
scope: local
comment: Validation for safetyDeclaration property. CSM-REA Safety Declaration.
path: safetyDeclaration
datatype: anyURI
severity: Violation
message: safetyDeclaration: The value must be an anyURI.

ConfigDependentCompliance
type: PropertyShape
affected property: configDependentCompliance
affected class: VehicleTypeAuthorisationCase
scope: local
comment: Validation for configDependentCompliance property.
path: configDependentCompliance
node kind: IRI
class: VehicleTypeAuthorisationCheck
severity: Violation
message: configDependentCompliance: The value must be an IRI pointing to a VehicleTypeAuthorisationCheck.

ConfigDependentCondition
type: PropertyShape
affected property: configDependentCondition
affected class: VehicleTypeAuthorisationCase
affected class: VehicleAuthorisationCase
scope: local
comment: Validation for configDependentCondition property.
path: configDependentCondition
node kind: IRI
class: VehicleTypeAuthorisationCheck
severity: Violation
message: configDependentCondition: The value must be an IRI pointing to a VehicleTypeAuthorisationCheck.

TypeRegistrationMethod
type: PropertyShape
affected property: typeRegistrationMethod
affected class: VehicleTypeAuthorisationCase
affected class: VehicleAuthorisationCase
scope: local
comment: Validation for typeRegistrationMethod property.
path: typeRegistrationMethod
node kind: IRI
severity: Violation
message: typeRegistrationMethod: The value must be an IRI.

TypeRegistrationMethodSKOS
type: SPARQLConstraint
affected property: typeRegistrationMethod
affected class: VehicleTypeAuthorisationCase
affected class: VehicleAuthorisationCase
scope: local
comment: Ensures that the value of typeRegistrationMethod is a valid SKOS concept from the vehicle type registration methods concept scheme.
severity: Violation
message: typeRegistrationMethod: The VehicleTypeAuthorisationCase {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/vehicle-type-registration-methods/VehicleTypeRegistrationMethods>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:typeRegistrationMethod AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:typeRegistrationMethod ?concept . era:typeRegistrationMethod era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

HasStrictLocalHistoricalTouristUse
type: PropertyShape
affected property: hasStrictLocalHistoricalTouristUse
affected class: VehicleTypeAuthorisationRestriction
scope: local
comment: Validation for hasStrictLocalHistoricalTouristUse property. Indicates if the restriction applies to strictly local, historical or tourist use.
path: hasStrictLocalHistoricalTouristUse
datatype: boolean
severity: Violation
message: hasStrictLocalHistoricalTouristUse: The value must be a boolean (true/false).
eratv index: 3.1.2.3

OnboardRecordingDevice
type: PropertyShape
affected property: onboardRecordingDevice
affected class: VehicleTypeAuthorisationRestriction
scope: local
comment: Validation for onboardRecordingDevice property.
path: onboardRecordingDevice
node kind: IRI
severity: Violation
message: onboardRecordingDevice: The value must be an IRI.

OnboardRecordingDeviceSKOS
type: SPARQLConstraint
affected property: onboardRecordingDevice
affected class: VehicleTypeAuthorisationRestriction
scope: local
comment: Ensures that the value of onboardRecordingDevice is a valid SKOS concept from the onboard recording devices concept scheme.
severity: Violation
message: onboardRecordingDevice: The VehicleTypeAuthorisationRestriction {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/onboard-recording-devices/OnboardRecording>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:onboardRecordingDevice AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:onboardRecordingDevice ?concept . era:onboardRecordingDevice era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

QuieterRoutesNoiseCategory
type: PropertyShape
affected property: quieterRoutesNoiseCategory
affected class: VehicleTypeAuthorisationRestriction
scope: local
comment: Validation for quieterRoutesNoiseCategory property.
path: quieterRoutesNoiseCategory
node kind: IRI
severity: Violation
message: quieterRoutesNoiseCategory: The value must be an IRI.

QuieterRoutesNoiseCategorySKOS
type: SPARQLConstraint
affected property: quieterRoutesNoiseCategory
affected class: VehicleTypeAuthorisationRestriction
scope: local
comment: Ensures that the value of quieterRoutesNoiseCategory is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: quieterRoutesNoiseCategory: The VehicleTypeAuthorisationRestriction {$this} with label {?label} has a value {?value} that is not one of the predefined values.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:quieterRoutesNoiseCategory AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:quieterRoutesNoiseCategory ?concept . era:quieterRoutesNoiseCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VehicleTypeAuthorisationHolder
type: PropertyShape
affected property: vehicleTypeAuthorisationHolder
affected class: VehicleTypeAuthorisation
scope: local
comment: Validation for vehicleTypeAuthorisationHolder property. Indicates the vehicle type authorisation holder.
path: vehicleTypeAuthorisationHolder
node kind: IRI
class: OrganisationRole
severity: Violation
message: vehicleTypeAuthorisationHolder: The value must be an IRI pointing to an OrganisationRole.
eratv index: 3.1.3.1.2
eratv index: 3.1.3.2.3
eratv index: 3.1.3.3.3
eratv index: 3.1.3.4.3
eratv index: 3.1.3.5.3
eratv index: 3.1.3.6.3
eratv index: 3.1.3.7.3
eratv index: 3.1.3.8.3

AxleSpacingDistance
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: axleSpacingDistance
comment: Validation for axleSpacingDistance property.
node kind: IRI
eratv index: 4.5.3.4
path: axleSpacingDistance
message: era:axleSpacingDistance: its value must be an IRI.
class: AxleSpacing
severity: Violation
affected class: VehicleType

CatenaryMaxRatedCurrent
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: catenaryMaxRatedCurrent
comment: Validation for catenaryMaxRatedCurrent property.
datatype: integer
eratv index: 4.10.3
path: catenaryMaxRatedCurrent
message: The catenaryMaxRatedCurrent must be an integer value.
severity: Violation

ContactStripMaterial
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: contactStripMaterial
comment: Validation for contactStripMaterial property.
node kind: IRI
max count: 1
eratv index: 4.10.10
path: contactStripMaterial
message: era:contactStripMaterial: its value must be an IRI.
severity: Violation

HasOnboardEnergyMeasurement
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasOnboardEnergyMeasurement
comment: Validation for hasOnboardEnergyMeasurement property.
datatype: boolean
eratv index: 4.10.12
path: hasOnboardEnergyMeasurement
message: The hasOnboardEnergyMeasurement must be a boolean value.
severity: Violation
scope: local
message: hasOnboardEnergyMeasurement (4.10.12): The value must be a boolean.

EnergySupplyMaxPower
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: energySupplyMaxPower
comment: Validation for energySupplyMaxPower property.
datatype: decimal
path: energySupplyMaxPower
message: The energySupplyMaxPower must be a decimal value.
eratv index: 4.10.2
severity: Violation

ForConfiguration
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected class: Restriction
affected property: forConfiguration
comment: Validation for forConfiguration property.
node kind: IRI
path: forConfiguration
message: era:forConfiguration: its value must be an IRI pointing to a VehicleTypeConfiguration.
class: VehicleTypeConfiguration
severity: Violation

HasAutomaticDroppingDevice
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasAutomaticDroppingDevice
comment: Validation for hasAutomaticDroppingDevice property.
datatype: boolean
path: hasAutomaticDroppingDevice
message: The hasAutomaticDroppingDevice must be a boolean value.
eratv index: 4.10.11
severity: Violation

HasBrakingPerformance
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasBrakingPerformance
comment: Validation for hasBrakingPerformance property.
node kind: IRI
path: hasBrakingPerformance
message: era:hasBrakingPerformance: its value must be an IRI pointing to a BrakingPerformance.
class: BrakingPerformance
eratv index: 4.7
severity: Violation
affected class: VehicleType
message: era:hasBrakingPerformance: its value must be an IRI.

HasCurrentLimitation
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasCurrentLimitation
comment: Validation for hasCurrentLimitation property.
datatype: boolean
path: hasCurrentLimitation
message: The hasCurrentLimitation must be a boolean value.
eratv index: 4.10.14
severity: Violation
affected class: VehicleType
message: The hasCurrentLimitation value must be a boolean (true/false).

HasOCLChargeableTractionStorage
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasOCLChargeableTractionStorage
comment: Validation for hasOCLChargeableTractionStorage property.
datatype: boolean
path: hasOCLChargeableTractionStorage
message: The hasOCLChargeableTractionStorage must be a boolean value.
eratv index: 4.10.16
severity: Violation

HasParkingBrake
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasParkingBrake
comment: Validation for hasParkingBrake property.
datatype: boolean
path: hasParkingBrake
message: The hasParkingBrake must be a boolean value.
eratv index: 4.7.3.4
severity: Violation
affected class: VehicleType
message: The hasParkingBrake value must be a boolean (true/false).
eratv index: 4.7.3

HasVehicleTypeConfiguration
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasVehicleTypeConfiguration
comment: Validation for hasVehicleTypeConfiguration property.
node kind: IRI
path: hasVehicleTypeConfiguration
message: era:hasVehicleTypeConfiguration: its value must be an IRI pointing to a VehicleTypeConfiguration.
class: VehicleTypeConfiguration
severity: Violation

HasWheelSlideProtectionSystem
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: hasWheelSlideProtectionSystem
comment: Validation for hasWheelSlideProtectionSystem property.
datatype: boolean
path: hasWheelSlideProtectionSystem
message: The hasWheelSlideProtectionSystem must be a boolean value.
eratv index: 4.7.8
severity: Violation
affected class: VehicleType
message: The hasWheelSlideProtectionSystem value must be a boolean (true/false).

MaxCurrentStandstillPantograph
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: maxCurrentStandstillPantograph
comment: Validation for maxCurrentStandstillPantograph property.
datatype: decimal
max count: 1
path: maxCurrentStandstillPantograph
message: The maxCurrentStandstillPantograph must be a decimal value.
eratv index: 4.10.4
severity: Violation

MaximumLocomotivesCoupled
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: maximumLocomotivesCoupled
comment: Validation for maximumLocomotivesCoupled property.
datatype: integer
path: maximumLocomotivesCoupled
message: The maximumLocomotivesCoupled must be an integer value.
eratv index: 4.1.5
severity: Violation
affected class: VehicleType
message: The maximumLocomotivesCoupled value must be an integer.

MinimumContactWireHeight
eratv index: 4.10.5
affected class: VehicleTypeConfigParameterSet
type: PropertyShape
affected property: minimumContactWireHeight
affected class: ContactLineSystem
scope: local
comment: Indication of the minimum minimum contact wire height expressed in metres
rinf index: 1.1.1.2.2.6
path: minimumContactWireHeight
datatype: double
pattern: ^([0-9])(\.\d{1,2})?$
max count: 1
severity: Violation
message: minimumContactWireHeight (1.1.1.2.2.6): The contact line system defines a minimum contact wire height expressed in metres. This error is due to having more than one value for this property, having a value that is not a double (real) number, or having a number that does not follow the pattern [N.NN] (with up to 2 decimals).

NumberOfPantographsInContactWithOCL
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: numberOfPantographsInContactWithOCL
comment: Validation for numberOfPantographsInContactWithOCL property.
datatype: integer
path: numberOfPantographsInContactWithOCL
message: The numberOfPantographsInContactWithOCL must be an integer value.
eratv index: 4.10.7
severity: Violation

OclTypeApplicabilitySPARQL
type: SPARQLConstraint
severity: Warning
eratv index: 4.10.9
message: OCL type ({?oclType}) is not applicable when numberOfPantographsInContactWithOCL (value: {?numPanto}) is less than 2.
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this ?oclType ?numPanto (era:oclType AS ?path) WHERE { $this era:oclType ?oclType . $this era:numberOfPantographsInContactWithOCL ?numPanto . FILTER(?numPanto < 2) }

QuasiStaticGuidingForce
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: quasiStaticGuidingForce
comment: Validation for quasiStaticGuidingForce property.
datatype: decimal
path: quasiStaticGuidingForce
message: The quasiStaticGuidingForce must be a decimal value.
eratv index: 4.5.4
severity: Violation

ShortestDistanceBetweenPantographsInContactWithOCL
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: shortestDistanceBetweenPantographsInContactWithOCL
comment: Validation for shortestDistanceBetweenPantographsInContactWithOCL property.
datatype: string
pattern: ^Single:
path: shortestDistanceBetweenPantographsInContactWithOCL
message: The shortestDistanceBetweenPantographsInContactWithOCL must be a string with the following format: 'Single: ___(; Multiple: ___)'.
eratv index: 4.10.8
severity: Violation

TotalVehicleMass
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: totalVehicleMass
comment: Validation for totalVehicleMass property.
datatype: integer
path: totalVehicleMass
message: The totalVehicleMass must be an integer value.
eratv index: 4.5.5
severity: Violation
affected class: VehicleType
message: The totalVehicleMass value must be an integer.

VehiclePantographHead
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: vehiclePantographHead
comment: Validation for vehiclePantographHead property.
node kind: IRI
path: vehiclePantographHead
message: era:vehiclePantographHead: its value must be an IRI.
eratv index: 4.10.6
severity: Violation

VehicleTypeMaximumSpeedAndCantDeficiency
type: PropertyShape
affected class: VehicleTypeConfigParameterSet
affected property: vehicleTypeMaximumSpeedAndCantDeficiency
comment: Validation for vehicleTypeMaximumSpeedAndCantDeficiency property.
node kind: IRI
path: vehicleTypeMaximumSpeedAndCantDeficiency
message: era:vehicleTypeMaximumSpeedAndCantDeficiency: its value must be an IRI pointing to a MaximumSpeedAndCantDeficiency.
class: MaximumSpeedAndCantDeficiency
eratv index: 4.6.4
severity: Violation

MinImpedanceFrequency
type: PropertyShape
affected class: MinVehicleImpedance
affected property: minImpedanceFrequency
scope: local
comment: Validation for minImpedanceFrequency property.
path: minImpedanceFrequency
datatype: double
max count: 1
severity: Violation
message: minImpedanceFrequency: The value must be a double.
message: Each MinVehicleImpedance (used in a VehicleTypeConfigParameterSet) can define minImpedanceFrequency, which needs to be a double. This error may be due to assigning more than one values, or an invalid data type.

MinImpedanceResistance
type: PropertyShape
affected class: MinVehicleImpedance
affected property: minImpedanceResistance
scope: local
comment: Validation for minImpedanceResistance property.
path: minImpedanceResistance
datatype: double
max count: 1
severity: Violation
message: minImpedanceResistance: The value must be a double.
message: Each MinVehicleImpedance (used in a VehicleTypeConfigParameterSet) can define minImpedanceResistance, which needs to be a double. This error may be due to assigning more than one values, or an invalid data type.

EmergencyBrakeProfile
type: PropertyShape
affected property: emergencyBrakeProfile
affected class: VehicleTypeConfigParameterSet
scope: local
comment: Validation that the value of emergencyBrakeProfile points to an instance of BrakingProfile.
path: emergencyBrakeProfile
node kind: IRI
class: BrakingProfile
severity: Violation
message: emergencyBrakeProfile: its value must be an IRI of type BrakingProfile.

EtcsBaselineIncompleteCompatibility
type: PropertyShape
affected property: etcsBaselineIncompleteCompatibility
affected class: VehicleType
affected class: VehicleTypeConfigParameterSet
scope: local
comment: Validation for etcsBaselineIncompleteCompatibility property.
path: etcsBaselineIncompleteCompatibility
datatype: string
max count: 1
severity: Violation
message: etcsBaselineIncompleteCompatibility (4.13.1.2): The value must be a string.
eratv index: 4.13.1.2

ForOnBoardClassA
type: PropertyShape
affected property: forOnBoardClassA
affected class: VehicleTypeConfiguration
scope: local
comment: Validation of the forOnBoardClassA property for VehicleTypeConfiguration.
path: forOnBoardClassA
node kind: IRI
severity: Violation
message: forOnBoardClassA: The value must be an IRI.

ForOnBoardClassASKOS
type: SPARQLConstraint
affected property: forOnBoardClassA
affected class: VehicleTypeConfiguration
scope: local
comment: Ensures that the value of forOnBoardClassA is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: forOnBoardClassA: The VehicleTypeConfiguration {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-equipment-on-board-level/ETCSEquipmentLevels>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:forOnBoardClassA AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:forOnBoardClassA ?concept . era:forOnBoardClassA era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

ForOnBoardClassB
type: PropertyShape
affected property: forOnBoardClassB
affected class: VehicleTypeConfiguration
scope: local
comment: Validation of the forOnBoardClassB property for VehicleTypeConfiguration.
path: forOnBoardClassB
node kind: IRI
severity: Violation
message: forOnBoardClassB: The value must be an IRI.

ForOnBoardClassBSKOS
type: SPARQLConstraint
affected property: forOnBoardClassB
affected class: VehicleTypeConfiguration
scope: local
comment: Ensures that the value of forOnBoardClassB is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: forOnBoardClassB: The VehicleTypeConfiguration {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-equipment-on-board-level/ETCSEquipmentLevels>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:forOnBoardClassB AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:forOnBoardClassB ?concept . era:forOnBoardClassB era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

ForWheelSetGauge
type: PropertyShape
affected class: VehicleTypeConfiguration
affected property: forWheelSetGauge
comment: Validation for forWheelSetGauge property.
node kind: IRI
path: forWheelSetGauge
message: forWheelSetGauge: The value must be an IRI.
severity: Violation

ForWheelSetGaugeSKOS
type: SPARQLConstraint
affected property: forWheelSetGauge
affected class: VehicleTypeConfiguration
scope: local
comment: Ensures that the value of forWheelSetGauge is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: forWheelSetGauge: The VehicleTypeConfiguration {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/nominal-track-gauges/NominalTrackGauges>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:forWheelSetGauge AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:forWheelSetGauge ?concept . era:forWheelSetGauge era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

ForEnergySupplySystem
type: PropertyShape
affected class: VehicleTypeConfiguration
affected property: forEnergySupplySystem
comment: Validation for forEnergySupplySystem property.
node kind: IRI
path: forEnergySupplySystem
message: forEnergySupplySystem: The value must be an IRI.
severity: Violation

ForEnergySupplySystemSKOS
type: SPARQLConstraint
affected property: forEnergySupplySystem
affected class: VehicleTypeConfiguration
scope: local
comment: Ensures that the value of forEnergySupplySystem is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: forEnergySupplySystem: The VehicleTypeConfiguration {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/energy-supply-systems/EnergySupplySystems>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:forEnergySupplySystem AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:forEnergySupplySystem ?concept . era:forEnergySupplySystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

InSkosConceptScheme
type: SPARQLConstraint
severity: Violation
affected class: PermissiblePayload
affected property: forLineCategory
eratv index: 4.5.1.1
eratv index: 4.9.2
message: Instance {$this} of class {?class} has enumerated property {?property} with value {?value} that is not in the list {?scheme}.
target: InSkosConceptSchemeSPARQL
deactivated: true
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?class ?property ?value ?scheme (?property AS ?path) { $this a ?class; ?property ?value . ?property era:inSkosConceptScheme ?scheme . FILTER NOT EXISTS {?value skos:inScheme ?scheme}}

InSkosConceptSchemeSPARQL
type: SPARQLTarget
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT distinct $this (?property AS ?path) { $this ?property ?value . ?property era:inSkosConceptScheme ?scheme . FILTER NOT EXISTS {?value skos:inScheme ?scheme}}

ForLineCategory
type: PropertyShape
affected class: PermissiblePayload
affected property: forLineCategory
comment: Validation for forLineCategory property.
node kind: IRI
message: The forLineCategory value must be an IRI
path: forLineCategory
eratv index: 4.5.1.1
severity: Violation

PermissiblePayloadMass
type: PropertyShape
affected class: PermissiblePayload
affected property: permissiblePayloadMass
comment: Validation for permissiblePayloadMass property.
datatype: decimal
message: The permissiblePayloadMass value must be a decimal
path: permissiblePayloadMass
eratv index: 4.5.1.1
severity: Violation

AlternativeTypeName
type: PropertyShape
affected class: VehicleType
affected property: alternativeTypeName
comment: Validation for alternativeTypeName property.
datatype: string
max length: 256
message: The alternativeTypeName value must be a character string with a maximum length of 256 characters.
path: alternativeTypeName
eratv index: 1.2
severity: Violation

AltitudeRange
type: PropertyShape
affected class: VehicleType
affected property: altitudeRange
comment: Validation for altitudeRange property.
datatype: string
message: The altitudeRange value must be a character string.
path: altitudeRange
eratv index: 4.3.2
severity: Violation

AltitudeRangeDetail
type: PropertyShape
affected class: VehicleType
affected property: altitudeRangeDetail
comment: Validation for altitudeRangeDetail property.
datatype: integer
message: The altitudeRangeDetail value must be an integer.
path: altitudeRangeDetail
eratv index: 4.3.2
severity: Violation

AtoOnBoardImplementation
type: PropertyShape
affected class: VehicleType
affected property: atoOnBoardImplementation
comment: Validation for atoOnBoardImplementation property.
datatype: string
message: The atoOnBoardImplementation value must be a character string.
path: atoOnBoardImplementation
eratv index: 4.13.3.2
severity: Violation

AxleBearingConditionMonitoring
type: PropertyShape
affected class: VehicleType
affected property: axleBearingConditionMonitoring
comment: Validation for axleBearingConditionMonitoring property.
node kind: IRI
path: axleBearingConditionMonitoring
message: era:axleBearingConditionMonitoring: its value must be an IRI.
eratv index: 4.9.2
severity: Violation

AxleBearingConditionMonitoringSKOS
type: SPARQLConstraint
affected property: axleBearingConditionMonitoring
affected class: VehicleType
scope: local
comment: Ensures that the value of axleBearingConditionMonitoring is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: axleBearingConditionMonitoring: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/axle-monitoring/AxleBearingMonitoring>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:axleBearingConditionMonitoring AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:axleBearingConditionMonitoring ?concept . era:axleBearingConditionMonitoring era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

BoardingAids
type: PropertyShape
affected class: VehicleType
affected property: boardingAids
comment: Validation for boardingAids property.
datatype: string
message: The boardingAids value must be a character string.
path: boardingAids
eratv index: 4.12.3.2
severity: Violation

ConfigDependentParameter
type: PropertyShape
affected class: VehicleType
affected property: configDependentParameter
comment: Validation for configDependentParameter property.
node kind: IRI
path: configDependentParameter
message: era:configDependentParameter: its value must be an IRI pointing to a VehicleTypeConfigParameterSet.
class: VehicleTypeConfigParameterSet
severity: Violation

DataGSMRNetwork
type: PropertyShape
affected class: VehicleType
affected property: dataGSMRNetwork
comment: Validation for dataGSMRNetwork property.
node kind: IRI
path: dataGSMRNetwork
message: era:dataGSMRNetwork: its value must be an IRI.
eratv index: 4.13.2.11
severity: Violation

DataGSMRNetworkSKOS
type: SPARQLConstraint
affected property: dataGSMRNetwork
affected class: VehicleType
scope: local
comment: Ensures that the value of dataGSMRNetwork is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: dataGSMRNetwork: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/gsmr-networks/GSMRNetworks>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:dataGSMRNetwork AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:dataGSMRNetwork ?concept . era:dataGSMRNetwork era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

DesignMassExceptionalPayload
type: PropertyShape
affected class: VehicleType
affected property: designMassExceptionalPayload
comment: Validation for designMassExceptionalPayload property.
datatype: integer
message: The designMassExceptionalPayload value must be an integer.
path: designMassExceptionalPayload
eratv index: 4.5.2.3
severity: Violation

DesignMassNormalPayload
type: PropertyShape
affected class: VehicleType
affected property: designMassNormalPayload
comment: Validation for designMassNormalPayload property.
datatype: integer
message: The designMassNormalPayload value must be an integer.
path: designMassNormalPayload
eratv index: 4.5.2.2
severity: Violation

DesignMassWorkingOrder
type: PropertyShape
affected class: VehicleType
affected property: designMassWorkingOrder
comment: Validation for designMassWorkingOrder property.
datatype: integer
message: The designMassWorkingOrder value must be an integer.
path: designMassWorkingOrder
eratv index: 4.5.2.1
severity: Violation

DrivingCabs
type: PropertyShape
affected class: VehicleType
affected property: drivingCabs
comment: Validation for drivingCabs property.
datatype: integer
in: 0
in: 1
in: 2
message: The drivingCabs value must be 0, 1, or 2.
path: drivingCabs
eratv index: 4.1.1
severity: Violation

HasEddyCurrentBrakePrevention
type: PropertyShape
affected class: VehicleType
affected property: hasEddyCurrentBrakePrevention
comment: Validation for hasEddyCurrentBrakePrevention property.
datatype: boolean
message: The hasEddyCurrentBrakePrevention value must be a boolean (true/false).
path: hasEddyCurrentBrakePrevention
eratv index: 4.7.4.1.2
severity: Violation
scope: local
message: hasEddyCurrentBrakePrevention (4.7.4.1.2): The value must be a boolean.

HasEddyCurrentBrake
type: PropertyShape
affected class: VehicleType
affected property: hasEddyCurrentBrake
comment: Validation for hasEddyCurrentBrake property.
datatype: boolean
message: The hasEddyCurrentBrake value must be a boolean (true/false).
path: hasEddyCurrentBrake
eratv index: 4.7.4.1.1
severity: Violation
scope: local
message: hasEddyCurrentBrake (4.7.4.1.1): The value must be a boolean.

EndCouplingType
type: PropertyShape
affected class: VehicleType
affected property: endCouplingType
comment: Validation for endCouplingType property.
node kind: IRI
path: endCouplingType
message: era:endCouplingType: its value must be an IRI.
eratv index: 4.9.1
severity: Violation

EndCouplingTypeSKOS
type: SPARQLConstraint
affected property: endCouplingType
affected class: VehicleType
scope: local
comment: Ensures that the value of endCouplingType is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: endCouplingType: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/end-coupling-type/EndCouplingType>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:endCouplingType AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:endCouplingType ?concept . era:endCouplingType era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

EtcsDataCommApp
type: PropertyShape
affected class: VehicleType
affected property: etcsDataCommApp
comment: Validation for etcsDataCommApp property.
datatype: string
message: The etcsDataCommApp value must be a character string.
path: etcsDataCommApp
eratv index: 4.13.2.9
severity: Violation

EtcsNationalApplications
type: PropertyShape
affected class: VehicleType
affected property: etcsNationalApplications
comment: Validation for etcsNationalApplications property.
datatype: string
message: The etcsNationalApplications value must be a character string.
path: etcsNationalApplications
eratv index: 4.13.1.4
severity: Violation

EtcsOnBoardImplementation
type: PropertyShape
affected class: VehicleType
affected property: etcsOnBoardImplementation
comment: Validation for etcsOnBoardImplementation property.
datatype: string
message: The etcsOnBoardImplementation value must be a character string.
path: etcsOnBoardImplementation
eratv index: 4.13.1.7
severity: Violation

EtcsOnboardSystemVersions
type: PropertyShape
affected class: VehicleType
affected property: etcsOnboardSystemVersions
comment: Validation for etcsOnboardSystemVersions property.
node kind: IRI
max count: 1
path: etcsOnboardSystemVersions
message: era:etcsOnboardSystemVersions: its value must be an IRI.
eratv index: 4.13.1.11
severity: Violation

EtcsOnboardSystemVersionsSKOS
type: SPARQLConstraint
affected property: etcsOnboardSystemVersions
affected class: VehicleType
scope: local
comment: Ensures that the value of etcsOnboardSystemVersions is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: etcsOnboardSystemVersions: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-m-versions/ETCSMVersions>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:etcsOnboardSystemVersions AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsOnboardSystemVersions ?concept . era:etcsOnboardSystemVersions era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

HasFerromagneticWheelMaterial
type: PropertyShape
affected class: VehicleType
affected property: hasFerromagneticWheelMaterial
comment: Validation for hasFerromagneticWheelMaterial property.
datatype: boolean
message: The hasFerromagneticWheelMaterial value must be a boolean (true/false).
path: hasFerromagneticWheelMaterial
eratv index: 4.14.2.12
severity: Violation
scope: local
message: hasFerromagneticWheelMaterial (4.14.2.12): The value must be a boolean.

FireSafetyCategory
type: PropertyShape
affected class: VehicleType
affected property: fireSafetyCategory
comment: Validation for fireSafetyCategory property.
node kind: IRI
path: fireSafetyCategory
message: era:fireSafetyCategory: its value must be an IRI.
eratv index: 4.4.1
severity: Violation

FireSafetyCategorySKOS
type: SPARQLConstraint
affected property: fireSafetyCategory
affected class: VehicleType
scope: local
comment: Ensures that the value of fireSafetyCategory is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: fireSafetyCategory: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/rolling-stock-fire/Categories>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:fireSafetyCategory AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:fireSafetyCategory ?concept . era:fireSafetyCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

FixedSeats
type: PropertyShape
affected class: VehicleType
affected property: fixedSeats
comment: Validation for fixedSeats property.
datatype: string
message: The fixedSeats value must be a character string.
path: fixedSeats
eratv index: 4.12.1.1
severity: Violation

GsmRRadioDataCommunication
type: PropertyShape
affected class: VehicleType
affected property: gsmRRadioDataCommunication
comment: Validation for gsmRRadioDataCommunication property.
node kind: IRI
path: gsmRRadioDataCommunication
message: era:gsmRRadioDataCommunication: its value must be an IRI.
eratv index: 4.13.2.7
severity: Violation

GsmRRadioDataCommunicationSKOS
type: SPARQLConstraint
affected property: gsmRRadioDataCommunication
affected class: VehicleType
scope: local
comment: Ensures that the value of gsmRRadioDataCommunication is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: gsmRRadioDataCommunication: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/gsm-r-radio-data-communication/GSMRRadioDataCommunications>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:gsmRRadioDataCommunication AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gsmRRadioDataCommunication ?concept . era:gsmRRadioDataCommunication era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

GsmRSetsInDrivingCab
type: PropertyShape
affected class: VehicleType
affected property: gsmRSetsInDrivingCab
comment: Validation for gsmRSetsInDrivingCab property.
datatype: integer
in: 0
in: 1
in: 2
in: 3
message: The gsmRSetsInDrivingCab value must be 0, 1, 2 or 3.
path: gsmRSetsInDrivingCab
eratv index: 4.13.2.2
severity: Violation

HasCantDeficiencyCompensation
type: PropertyShape
affected class: VehicleType
affected property: hasCantDeficiencyCompensation
comment: Validation for hasCantDeficiencyCompensation property.
datatype: boolean
message: The hasCantDeficiencyCompensation value must be a boolean (true/false).
path: hasCantDeficiencyCompensation
eratv index: 4.6.2
severity: Violation

HasLubricationDevicePrevention
type: PropertyShape
affected class: VehicleType
affected property: hasLubricationDevicePrevention
comment: Validation for hasLubricationDevicePrevention property.
datatype: boolean
message: The hasLubricationDevicePrevention value must be a boolean (true/false).
path: hasLubricationDevicePrevention
eratv index: 4.9.3.2
severity: Violation

HasOnboardDerailmentFunction
type: PropertyShape
affected class: VehicleType
affected property: hasOnboardDerailmentFunction
comment: Validation for hasOnboardDerailmentFunction property.
datatype: boolean
message: The hasOnboardDerailmentFunction value must be a boolean (true/false).
path: hasOnboardDerailmentFunction
eratv index: 4.15.2
severity: Violation

HasRegenerativeBrake
type: PropertyShape
affected class: VehicleType
affected property: hasRegenerativeBrake
comment: Validation for hasRegenerativeBrake property.
datatype: boolean
message: The hasRegenerativeBrake value must be a boolean (true/false).
path: hasRegenerativeBrake
eratv index: 4.7.4.3.1
severity: Violation

HasSandingPrevention
type: PropertyShape
affected class: VehicleType
affected property: hasSandingPrevention
comment: Validation for hasSandingPrevention property.
datatype: boolean
message: The hasSandingPrevention value must be a boolean (true/false).
path: hasSandingPrevention
eratv index: 4.14.2.14
severity: Violation

HasShuntingRestrictions
type: PropertyShape
affected class: VehicleType
affected property: hasShuntingRestrictions
comment: Validation for hasShuntingRestrictions property.
datatype: boolean
message: The hasShuntingRestrictions value must be a boolean (true/false).
path: hasShuntingRestrictions
eratv index: 4.8.3
severity: Violation

HasSignalProcessingDerailmentFunction
type: PropertyShape
affected class: VehicleType
affected property: hasSignalProcessingDerailmentFunction
comment: Validation for hasSignalProcessingDerailmentFunction property.
datatype: boolean
message: The hasSignalProcessingDerailmentFunction value must be a boolean (true/false).
path: hasSignalProcessingDerailmentFunction
eratv index: 4.15.3
severity: Violation

HasTrainIntegrityConfirmation
type: PropertyShape
affected class: VehicleType
affected property: hasTrainIntegrityConfirmation
comment: Validation for hasTrainIntegrityConfirmation property.
datatype: boolean
message: The hasTrainIntegrityConfirmation value must be a boolean (true/false).
path: hasTrainIntegrityConfirmation
eratv index: 4.13.1.9
severity: Violation

IncludedVersionsVariant
type: PropertyShape
affected class: VehicleType
affected property: includedVersionsVariant
comment: Validation for includedVersionsVariant property.
datatype: string
pattern: ^[a-zA-Z0-9]{3}(-[a-zA-Z0-9]{3})?$
message: The includedVersionsVariant value must be exactly three alphanumeric characters (e.g., 'A1B', 'XYZ', '012').
path: includedVersionsVariant
eratv index: 0.2
eratv index: 0.4
severity: Violation

LengthOfVehicle
type: PropertyShape
affected class: VehicleType
affected property: lengthOfVehicle
comment: Validation for lengthOfVehicle property.
datatype: decimal
max count: 1
message: The lengthOfVehicle value must be a decimal.
path: lengthOfVehicle
eratv index: 4.8.1
severity: Violation

LoadingPlatformHeight
type: PropertyShape
affected class: VehicleType
affected property: loadingPlatformHeight
comment: Validation for loadingPlatformHeight property.
datatype: integer
message: The loadingPlatformHeight value must be an integer.
path: loadingPlatformHeight
eratv index: 4.8.7
severity: Violation

HasMagneticBrakePrevention
type: PropertyShape
affected class: VehicleType
affected property: hasMagneticBrakePrevention
comment: Validation for hasMagneticBrakePrevention property.
datatype: boolean
message: The hasMagneticBrakePrevention value must be a boolean (true/false).
path: hasMagneticBrakePrevention
eratv index: 4.7.4.2.2
severity: Violation
scope: local
message: hasMagneticBrakePrevention (4.7.4.2.2): The value must be a boolean.

HasMagneticBrake
type: PropertyShape
affected class: VehicleType
affected property: hasMagneticBrake
comment: Validation for hasMagneticBrake property.
datatype: boolean
message: The hasMagneticBrake value must be a boolean (true/false).
path: hasMagneticBrake
eratv index: 4.7.4.2.1
severity: Violation
scope: local
message: hasMagneticBrake (4.7.4.2.1): The value must be a boolean.

MaxDistConsecutiveAxle
type: PropertyShape
affected class: VehicleType
affected property: maxDistConsecutiveAxle
comment: Validation for maxDistConsecutiveAxle property.
datatype: integer
message: The maxDistConsecutiveAxle value must be an integer.
path: maxDistConsecutiveAxle
eratv index: 4.14.2.1
severity: Violation
scope: local
message: maxDistConsecutiveAxle (4.14.2.1): The value must be an integer.

MaxFlangeHeight
type: PropertyShape
affected class: VehicleType
affected property: maxFlangeHeight
comment: Validation for maxFlangeHeight property.
datatype: decimal
message: The maxFlangeHeight value must be a decimal.
path: maxFlangeHeight
eratv index: 4.14.2.9
severity: Violation

MaxLengthVehicleNose
type: PropertyShape
affected class: VehicleType
affected property: maxLengthVehicleNose
comment: Validation for maxLengthVehicleNose property.
datatype: integer
message: The maxLengthVehicleNose value must be an integer.
path: maxLengthVehicleNose
eratv index: 4.14.2.4
severity: Violation

MaximumAverageDeceleration
type: PropertyShape
affected class: VehicleType
affected property: maximumAverageDeceleration
comment: Validation for maximumAverageDeceleration property.
datatype: decimal
message: The maximumAverageDeceleration value must be a decimal.
path: maximumAverageDeceleration
eratv index: 4.7.1
severity: Violation

MinDistConsecutiveAxle
type: PropertyShape
affected class: VehicleType
affected property: minDistConsecutiveAxle
comment: Validation for minDistConsecutiveAxle property.
datatype: integer
message: The minDistConsecutiveAxle value must be an integer.
path: minDistConsecutiveAxle
eratv index: 4.14.2.2
severity: Violation
scope: local
message: minDistConsecutiveAxle (4.14.2.2): The value must be an integer.

MinDistFirstLastAxle
type: PropertyShape
affected class: VehicleType
affected property: minDistFirstLastAxle
comment: Validation for minDistFirstLastAxle property.
datatype: integer
message: The minDistFirstLastAxle value must be an integer.
path: minDistFirstLastAxle
eratv index: 4.14.2.3
severity: Violation

MinFlangeHeight
type: PropertyShape
affected class: VehicleType
affected property: minFlangeHeight
comment: Validation for minFlangeHeight property.
datatype: decimal
message: The minFlangeHeight value must be a decimal.
path: minFlangeHeight
eratv index: 4.14.2.8
severity: Violation

MinFlangeThickness
type: PropertyShape
affected class: VehicleType
affected property: minFlangeThickness
comment: Validation for minFlangeThickness property.
datatype: decimal
message: The minFlangeThickness value must be a decimal.
path: minFlangeThickness
eratv index: 4.14.2.7
severity: Violation

MinRimWidth
type: PropertyShape
affected class: VehicleType
affected property: minRimWidth
comment: Validation for minRimWidth property.
datatype: decimal
message: The minRimWidth value must be a decimal.
path: minRimWidth
eratv index: 4.14.2.5
severity: Violation

MinWheelDiameter
type: PropertyShape
affected class: VehicleType
affected property: minWheelDiameter
comment: Validation for minWheelDiameter property.
datatype: integer
message: The minWheelDiameter value must be an integer.
path: minWheelDiameter
eratv index: 4.14.2.6
severity: Violation

MinimumConcaveVerticalRadius
type: PropertyShape
affected class: VehicleType
affected property: minimumConcaveVerticalRadius
comment: Validation for minimumConcaveVerticalRadius property.
datatype: decimal
message: The minimumConcaveVerticalRadius value must be a decimal.
path: minimumConcaveVerticalRadius
eratv index: 4.8.6
severity: Violation

MinimumConvexVerticalRadius
type: PropertyShape
affected class: VehicleType
affected property: minimumConvexVerticalRadius
comment: Validation for minimumConvexVerticalRadius property.
datatype: decimal
message: The minimumConvexVerticalRadius value must be a decimal.
path: minimumConvexVerticalRadius
eratv index: 4.8.5
severity: Violation

NumberOfToilet
type: PropertyShape
affected class: VehicleType
affected property: numberOfToilet
comment: Validation for numberOfToilet property.
datatype: integer
message: The numberOfToilet value must be an integer.
path: numberOfToilet
eratv index: 4.12.1.2
severity: Violation
scope: local
message: numberOfToilet (4.12.1.2): The value must be an integer.

OperationalMassNormalPayload
type: PropertyShape
affected class: VehicleType
affected property: operationalMassNormalPayload
comment: Validation for operationalMassNormalPayload property.
datatype: integer
message: The operationalMassNormalPayload value must be an integer.
path: operationalMassNormalPayload
eratv index: 4.5.2.5
severity: Violation

OperationalMassWorkingOrder
type: PropertyShape
affected class: VehicleType
affected property: operationalMassWorkingOrder
comment: Validation for operationalMassWorkingOrder property.
datatype: integer
message: The operationalMassWorkingOrder value must be an integer.
path: operationalMassWorkingOrder
eratv index: 4.5.2.4
severity: Violation

HasMandatoryParkingBrake
type: PropertyShape
affected class: VehicleType
affected property: hasMandatoryParkingBrake
comment: Validation for hasMandatoryParkingBrake property.
datatype: boolean
message: The hasMandatoryParkingBrake value must be a boolean (true/false).
path: hasMandatoryParkingBrake
eratv index: 4.7.3
severity: Violation
scope: local
message: hasMandatoryParkingBrake (4.7.3.1): The value must be a boolean.
eratv index: 4.7.3.1

ParkingBrakeMaximumGradient
type: PropertyShape
affected class: VehicleType
affected property: parkingBrakeMaximumGradient
comment: Validation for parkingBrakeMaximumGradient property.
datatype: decimal
message: The parkingBrakeMaximumGradient value must be a decimal.
path: parkingBrakeMaximumGradient
eratv index: 4.7.3
severity: Violation

PassByNoiseLevel
type: PropertyShape
affected class: VehicleType
affected property: passByNoiseLevel
comment: Validation for passByNoiseLevel property.
datatype: decimal
message: The passByNoiseLevel value must be a decimal.
path: passByNoiseLevel
eratv index: 4.11.1
severity: Violation

PermissiblePayloadForLineCategory
type: PropertyShape
affected class: VehicleType
affected property: permissiblePayloadForLineCategory
comment: Validation for permissiblePayloadForLineCategory property.
node kind: IRI
path: permissiblePayloadForLineCategory
message: era:permissiblePayloadForLineCategory: its value must be an IRI pointing to a PermissiblePayload.
class: PermissiblePayload
eratv index: 4.5.1
severity: Violation

PortableBoardingAids
type: PropertyShape
affected class: VehicleType
affected property: portableBoardingAids
comment: Validation for portableBoardingAids property.
datatype: string
message: The portableBoardingAids value must be a character string.
path: portableBoardingAids
eratv index: 4.12.3.2
severity: Violation

HasRegenerativeBrakePrevention
type: PropertyShape
affected class: VehicleType
affected property: hasRegenerativeBrakePrevention
comment: Validation for hasRegenerativeBrakePrevention property.
datatype: boolean
message: The hasRegenerativeBrakePrevention value must be a boolean (true/false).
path: hasRegenerativeBrakePrevention
eratv index: 4.7.4.3.2
severity: Violation
scope: local
message: hasRegenerativeBrakePrevention (4.7.4.3.2): The value must be a boolean.

PreviousVehicleType
type: PropertyShape
affected class: VehicleType
affected property: previousVehicleType
comment: Validation for previousVehicleType property.
node kind: IRI
path: previousVehicleType
message: era:previousVehicleType: its value must be an IRI pointing to a VehicleType.
class: VehicleType
severity: Violation

PrioritySeat
type: PropertyShape
affected class: VehicleType
affected property: prioritySeat
comment: Validation for prioritySeat property.
datatype: string
message: The prioritySeat value must be a character string.
path: prioritySeat
eratv index: 4.12.2.1
severity: Violation
scope: local
message: prioritySeat (4.12.2.1): The value must be a string.

PrmAccessibleToilet
type: PropertyShape
affected class: VehicleType
affected property: prmAccessibleToilet
comment: Validation for prmAccessibleToilet property.
datatype: integer
message: The prmAccessibleToilet value must be an integer.
path: prmAccessibleToilet
eratv index: 4.12.2.3
severity: Violation
scope: local
message: prmAccessibleToilet (4.12.2.3): The value must be an integer.

RadioSwitchOverSpecialCondition
type: PropertyShape
affected class: VehicleType
affected property: radioSwitchOverSpecialCondition
comment: Validation for radioSwitchOverSpecialCondition property.
datatype: string
message: The radioSwitchOverSpecialCondition value must be a character string.
path: radioSwitchOverSpecialCondition
eratv index: 4.13.2.4
severity: Violation
scope: local
message: radioSwitchOverSpecialCondition (4.13.2.4): The value must be a string.

IsPassByNoiseMeasuredUnderReferenceConditions
type: PropertyShape
affected class: VehicleType
affected property: isPassByNoiseMeasuredUnderReferenceConditions
comment: Validation for isPassByNoiseMeasuredUnderReferenceConditions property.
datatype: boolean
message: The isPassByNoiseMeasuredUnderReferenceConditions value must be a boolean (true/false).
path: isPassByNoiseMeasuredUnderReferenceConditions
eratv index: 4.11.1
severity: Violation
scope: local
message: isPassByNoiseMeasuredUnderReferenceConditions (4.11.2): The value must be a boolean.
eratv index: 4.11.2

SleepingPlace
type: PropertyShape
affected class: VehicleType
affected property: sleepingPlace
comment: Validation for sleepingPlace property.
datatype: string
message: The sleepingPlace value must be a character string.
path: sleepingPlace
eratv index: 4.12.1.3
severity: Violation
scope: local
message: sleepingPlace (4.12.1.3): The value must be a string.

SnowIceHailConditions
type: PropertyShape
affected class: VehicleType
affected property: snowIceHailConditions
comment: Validation for snowIceHailConditions property.
node kind: IRI
path: snowIceHailConditions
message: era:snowIceHailConditions: its value must be an IRI.
eratv index: 4.3.3
severity: Violation

SnowIceHailConditionsSKOS
type: SPARQLConstraint
affected property: snowIceHailConditions
affected class: VehicleType
scope: local
comment: Ensures that the value of snowIceHailConditions is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: snowIceHailConditions: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/ice-conditions/IceConditions>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:snowIceHailConditions AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:snowIceHailConditions ?concept . era:snowIceHailConditions era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

StartingNoiseLevel
type: PropertyShape
affected class: VehicleType
affected property: startingNoiseLevel
comment: Validation for startingNoiseLevel property.
datatype: decimal
message: The startingNoiseLevel value must be a decimal.
path: startingNoiseLevel
eratv index: 4.11.4
severity: Violation

StaticAxleLoadExceptionalPayload
type: PropertyShape
affected class: VehicleType
affected property: staticAxleLoadExceptionalPayload
comment: Validation for staticAxleLoadExceptionalPayload property.
datatype: decimal
message: The staticAxleLoadExceptionalPayload value must be a decimal.
path: staticAxleLoadExceptionalPayload
eratv index: 4.5.3.3
severity: Violation

StaticAxleLoadNormalPayload
type: PropertyShape
affected class: VehicleType
affected property: staticAxleLoadNormalPayload
comment: Validation for staticAxleLoadNormalPayload property.
datatype: decimal
message: The staticAxleLoadNormalPayload value must be a decimal.
path: staticAxleLoadNormalPayload
eratv index: 4.5.3.2
severity: Violation

StaticAxleLoadWorkingOrder
type: PropertyShape
affected class: VehicleType
affected property: staticAxleLoadWorkingOrder
comment: Validation for staticAxleLoadWorkingOrder property.
datatype: decimal
message: The staticAxleLoadWorkingOrder value must be a decimal.
path: staticAxleLoadWorkingOrder
eratv index: 4.5.3.1
severity: Violation

StationaryNoiseLevel
type: PropertyShape
affected class: VehicleType
affected property: stationaryNoiseLevel
comment: Validation for stationaryNoiseLevel property.
datatype: decimal
message: The stationaryNoiseLevel value must be a decimal.
path: stationaryNoiseLevel
eratv index: 4.11.3
severity: Violation

SupportedPlatformHeight
type: PropertyShape
affected class: VehicleType
affected property: supportedPlatformHeight
comment: Validation for supportedPlatformHeight property.
node kind: IRI
path: supportedPlatformHeight
message: era:supportedPlatformHeight: its value must be an IRI.
eratv index: 4.12.3.1
severity: Violation

SupportedPlatformHeightSKOS
type: SPARQLConstraint
affected property: supportedPlatformHeight
affected class: VehicleType
scope: local
comment: Ensures that the value of supportedPlatformHeight is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: supportedPlatformHeight: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/platform-heights/PlatformHeights>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:supportedPlatformHeight AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:supportedPlatformHeight ?concept . era:supportedPlatformHeight era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

ThermalCapacityDistance
type: PropertyShape
affected class: VehicleType
affected property: thermalCapacityDistance
comment: Validation for thermalCapacityDistance property.
datatype: decimal
message: The thermalCapacityDistance value must be a decimal.
path: thermalCapacityDistance
eratv index: 4.7.2.1.4
severity: Violation

ThermalCapacityGradient
type: PropertyShape
affected class: VehicleType
affected property: thermalCapacityGradient
comment: Validation for thermalCapacityGradient property.
datatype: decimal
message: The thermalCapacityGradient value must be a decimal.
path: thermalCapacityGradient
eratv index: 4.7.2.1.3
severity: Violation

ThermalCapacitySpeed
type: PropertyShape
affected class: VehicleType
affected property: thermalCapacitySpeed
comment: Validation for thermalCapacitySpeed property.
datatype: decimal
message: The thermalCapacitySpeed value must be a decimal.
path: thermalCapacitySpeed
eratv index: 4.7.2.1.2
severity: Violation

ThermalCapacityTSIReference
type: PropertyShape
affected class: VehicleType
affected property: thermalCapacityTSIReference
comment: Validation for thermalCapacityTSIReference property.
node kind: IRI
path: thermalCapacityTSIReference
message: era:thermalCapacityTSIReference: its value must be an IRI.
eratv index: 4.7.2.1.1
severity: Violation

ThermalCapacityTSIReferenceSKOS
type: SPARQLConstraint
affected property: thermalCapacityTSIReference
affected class: VehicleType
scope: local
comment: Ensures that the value of thermalCapacityTSIReference is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: thermalCapacityTSIReference: The VehicleType {$this} with label {?label} has a value {?value} is not one of the predefined values and cannot be converted into a SKOS concept on this list:<http://data.europa.eu/949/concepts/thermal-capacity/ThermalCapacityTSIReferences>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:thermalCapacityTSIReference AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:thermalCapacityTSIReference ?concept . era:thermalCapacityTSIReference era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

ThermalCapacityTime
type: PropertyShape
affected class: VehicleType
affected property: thermalCapacityTime
comment: Validation for thermalCapacityTime property.
datatype: decimal
message: The thermalCapacityTime value must be a decimal.
path: thermalCapacityTime
eratv index: 4.7.2.1.5
severity: Violation

IsTransportableOnFerry
type: PropertyShape
affected class: VehicleType
affected property: isTransportableOnFerry
comment: Validation for isTransportableOnFerry property.
datatype: boolean
message: The isTransportableOnFerry value must be a boolean (true/false).
path: isTransportableOnFerry
eratv index: 4.8.8
severity: Violation
scope: local
message: isTransportableOnFerry (4.8.8): The value must be a boolean.

TypeVersionId
type: PropertyShape
affected class: VehicleType
affected property: typeVersionId
comment: Validation for typeVersionId property.
node kind: IRI
path: typeVersionId
message: era:typeVersionId: its value must be an IRI.
severity: Violation

TypeVersionIdSKOS
type: SPARQLConstraint
affected property: typeVersionId
affected class: VehicleType
scope: local
comment: Ensures that the value of typeVersionId is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: typeVersionId: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/type-version-ids/TypeVersionIds>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:typeVersionId AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:typeVersionId ?concept . era:typeVersionId era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VehicleMaxSandingOutput
type: PropertyShape
affected class: VehicleType
affected property: vehicleMaxSandingOutput
comment: Validation for vehicleMaxSandingOutput property.
datatype: decimal
message: The vehicleMaxSandingOutput value must be a decimal indicating the grams per second value. If you provide value as a string in the format '[1st decimal] g per [2nd decimal] s' the 2nd decimal needs to be different than 0.
path: vehicleMaxSandingOutput
eratv index: 4.14.2.13
severity: Violation

VehicleTypeCategory
type: PropertyShape
affected class: VehicleType
affected property: vehicleTypeCategory
comment: Validation for vehicleTypeCategory property.
node kind: IRI
path: vehicleTypeCategory
message: era:vehicleTypeCategory: its value must be an IRI.
eratv index: 1.4
severity: Violation

VehicleTypeCategorySKOS
type: SPARQLConstraint
affected property: vehicleTypeCategory
affected class: VehicleType
scope: local
comment: Ensures that the value of vehicleTypeCategory is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: vehicleTypeCategory: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/vehicle-types/Categories>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:vehicleTypeCategory AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:vehicleTypeCategory ?concept . era:vehicleTypeCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VehicleTypeManufacturer
type: PropertyShape
affected class: VehicleType
affected property: vehicleTypeManufacturer
comment: Validation for vehicleTypeManufacturer property.
node kind: IRI
path: vehicleTypeManufacturer
message: era:vehicleTypeManufacturer: its value must be an IRI pointing to an OrganisationRole.
class: OrganisationRole
severity: Violation

VehicleTypeNumber
type: PropertyShape
affected class: VehicleType
affected property: vehicleTypeNumber
comment: Validation for vehicleTypeNumber property.
datatype: string
pattern: ^\d{2}-?\d{3}-?\d{4}-?\d{1}$
message: The vehicleTypeNumber value must be exactly 10 digits in the format 'XX-XXX-XXXX-X' (dashes optional).
path: vehicleTypeNumber
eratv index: 0.1
severity: Violation

VehicleTypeSubCategory
type: PropertyShape
affected class: VehicleType
affected property: vehicleTypeSubCategory
comment: Validation for vehicleTypeSubCategory property.
node kind: IRI
path: vehicleTypeSubCategory
message: era:vehicleTypeSubCategory: its value must be an IRI.
eratv index: 1.5
severity: Violation

VehicleTypeSubCategorySKOS
type: SPARQLConstraint
affected property: vehicleTypeSubCategory
affected class: VehicleType
scope: local
comment: Ensures that the value of vehicleTypeSubCategory is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: vehicleTypeSubCategory: The VehicleType/Certificate {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/vehicle-types/SubCategories>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:vehicleTypeSubCategory AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:vehicleTypeSubCategory ?concept . era:vehicleTypeSubCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VehiclesComposingFixedFormation
type: PropertyShape
affected class: VehicleType
affected property: vehiclesComposingFixedFormation
comment: Validation for vehiclesComposingFixedFormation property.
datatype: integer
message: The vehiclesComposingFixedFormation value must be an integer.
path: vehiclesComposingFixedFormation
eratv index: 4.1.12
severity: Violation

VoiceGSMRNetwork
type: PropertyShape
affected class: VehicleType
affected property: voiceGSMRNetwork
comment: Validation for voiceGSMRNetwork property.
node kind: IRI
path: voiceGSMRNetwork
message: era:voiceGSMRNetwork: its value must be an IRI.
eratv index: 4.13.2.10
severity: Violation

VoiceGSMRNetworkSKOS
type: SPARQLConstraint
affected property: voiceGSMRNetwork
affected class: VehicleType
scope: local
comment: Ensures that the value of voiceGSMRNetwork is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: voiceGSMRNetwork: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/gsmr-networks/GSMRNetworks>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:voiceGSMRNetwork AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:voiceGSMRNetwork ?concept . era:voiceGSMRNetwork era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VoiceOperationalCommImpl
type: PropertyShape
affected class: VehicleType
affected property: voiceOperationalCommImpl
comment: Validation for voiceOperationalCommImpl property.
datatype: string
message: The voiceOperationalCommImpl value must be a character string.
path: voiceOperationalCommImpl
eratv index: 4.13.2.6
severity: Violation

WagonDerailmentFunction
type: PropertyShape
affected class: VehicleType
affected property: wagonDerailmentFunction
comment: Validation for wagonDerailmentFunction property.
node kind: IRI
max count: 1
path: wagonDerailmentFunction
message: era:wagonDerailmentFunction: its value must be an IRI.
eratv index: 4.15.1
severity: Violation

WagonDerailmentFunctionSKOS
type: SPARQLConstraint
affected property: wagonDerailmentFunction
affected class: VehicleType
scope: local
comment: Ensures that the value of wagonDerailmentFunction is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: wagonDerailmentFunction: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/wagon-derailment-function/WagonDerailmentFunction>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:wagonDerailmentFunction AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:wagonDerailmentFunction ?concept . era:wagonDerailmentFunction era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

WheelSetGaugeChangeoverFacility
type: PropertyShape
affected class: VehicleType
affected property: wheelSetGaugeChangeoverFacility
comment: Validation for wheelSetGaugeChangeoverFacility property.
node kind: IRI
path: wheelSetGaugeChangeoverFacility
message: era:wheelSetGaugeChangeoverFacility: its value must be an IRI.
eratv index: 4.1.11
severity: Violation

WheelSetGaugeChangeoverFacilitySKOS
type: SPARQLConstraint
affected property: wheelSetGaugeChangeoverFacility
affected class: VehicleType
scope: local
comment: Ensures that the value of wheelSetGaugeChangeoverFacility is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: wheelSetGaugeChangeoverFacility: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/gauge-changeover-facilities/GaugeChangeoverFacilities>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:wheelSetGaugeChangeoverFacility AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:wheelSetGaugeChangeoverFacility ?concept . era:wheelSetGaugeChangeoverFacility era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

WheelSetGaugeTransformationMethod
type: PropertyShape
affected class: VehicleType
affected property: wheelSetGaugeTransformationMethod
comment: Validation for wheelSetGaugeTransformationMethod property.
datatype: string
message: The wheelSetGaugeTransformationMethod value must be a character string.
path: wheelSetGaugeTransformationMethod
eratv index: 4.1.3.b
severity: Violation

WheelchairSleepingPlace
type: PropertyShape
affected class: VehicleType
affected property: wheelchairSleepingPlace
comment: Validation for wheelchairSleepingPlace property.
datatype: string
message: The wheelchairSleepingPlace value must be a character string.
path: wheelchairSleepingPlace
eratv index: 4.12.1.3
severity: Violation
scope: local
message: wheelchairSleepingPlace (4.12.2.4): The value must be a string.
eratv index: 4.12.2.4

WheelchairSpace
type: PropertyShape
affected class: VehicleType
affected property: wheelchairSpace
comment: Validation for wheelchairSpace property.
datatype: string
message: The wheelchairSpace value must be a character string.
path: wheelchairSpace
eratv index: 4.12.2.2
severity: Violation

MinimumWheelDiameter
type: PropertyShape
affected class: VehicleType
affected property: minimumWheelDiameter
comment: Validation for minimumWheelDiameter property.
datatype: integer
max count: 1
message: The minimumWheelDiameter value must be an integer.
path: minimumWheelDiameter
eratv index: 4.8.2
severity: Violation

EtcsBaseline
type: PropertyShape
affected class: VehicleType
affected property: etcsBaseline
comment: Validation for etcsBaseline property.
node kind: IRI
max count: 1
path: etcsBaseline
message: era:EtcsBaseline: its value must be an IRI.
severity: Violation

EtcsBaselineSKOS
type: SPARQLConstraint
affected property: etcsBaseline
affected class: VehicleType
scope: local
comment: Ensures that the value of etcsBaseline is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: etcsBaseline: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-baselines/ETCSBaselines>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:etcsBaseline AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsBaseline ?concept . era:etcsBaseline era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

EtcsEquipmentOnBoardLevel
type: PropertyShape
affected class: VehicleType
affected property: etcsEquipmentOnBoardLevel
comment: Validation for etcsEquipmentOnBoardLevel property.
node kind: IRI
path: etcsEquipmentOnBoardLevel
message: era:EtcsEquipmentOnBoardLevel: its value must be an IRI.
severity: Violation

EtcsEquipmentOnBoardLevelSKOS
type: SPARQLConstraint
affected property: etcsEquipmentOnBoardLevel
affected class: VehicleType
scope: local
comment: Ensures that the value of etcsEquipmentOnBoardLevel is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: etcsEquipmentOnBoardLevel: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-equipment-on-board-level/ETCSEquipmentLevels>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:etcsEquipmentOnBoardLevel AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsEquipmentOnBoardLevel ?concept . era:etcsEquipmentOnBoardLevel era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

AtoCommunicationSystem
type: PropertyShape
affected class: VehicleType
affected property: atoCommunicationSystem
comment: Validation for atoCommunicationSystem property.
node kind: IRI
path: atoCommunicationSystem
message: era:atoCommunicationSystem: its value must be an IRI.
eratv index: 4.13.2.9
severity: Violation

AtoCommunicationSystemSKOS
type: SPARQLConstraint
affected property: atoCommunicationSystem
affected class: VehicleType
scope: local
comment: Ensures that the value of atoCommunicationSystem is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: atoCommunicationSystem: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/ato-commsys/ATOCommSystem>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:atoCommunicationSystem AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:atoCommunicationSystem ?concept . era:atoCommunicationSystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

MaximumDesignSpeed
type: PropertyShape
affected class: VehicleType
affected property: maximumDesignSpeed
comment: Validation for maximumDesignSpeed property.
datatype: decimal
message: The maximumDesignSpeed value must be an integer.
path: maximumDesignSpeed
eratv index: 4.1.2.1
severity: Violation

DataRadioCompatible
type: PropertyShape
affected class: VehicleType
affected property: dataRadioCompatible
comment: Validation for dataRadioCompatible property.
node kind: IRI
path: dataRadioCompatible
message: era:dataRadioCompatible: its value must be an IRI.
eratv index: 4.13.2.8
severity: Violation

DataRadioCompatibleSKOS
type: SPARQLConstraint
affected property: dataRadioCompatible
affected class: VehicleType
scope: local
comment: Ensures that the value of dataRadioCompatible is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: dataRadioCompatible: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/radio-system-compatibilities-data/RadioSystemCompatibilitiesData>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:dataRadioCompatible AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:dataRadioCompatible ?concept . era:dataRadioCompatible era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

CompatibleWithLineCategory
type: PropertyShape
affected class: VehicleType
affected property: compatibleWithLineCategory
comment: Validation for compatibleWithLineCategory property.
node kind: IRI
path: compatibleWithLineCategory
message: era:compatibleWithLineCategory: its value must be an IRI.
eratv index: 4.5.1.1
severity: Violation

CompatibleWithLineCategorySKOS
type: SPARQLConstraint
affected property: compatibleWithLineCategory
affected class: VehicleType
scope: local
comment: Ensures that the value of compatibleWithLineCategory is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: compatibleWithLineCategory: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/line-category/LineCategories>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:compatibleWithLineCategory AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:compatibleWithLineCategory ?concept . era:compatibleWithLineCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

MinAxleLoad
type: PropertyShape
affected class: VehicleType
affected property: minAxleLoad
comment: Validation for minAxleLoad property.
datatype: decimal
message: The minAxleLoad value must be a decimal.
path: minAxleLoad
eratv index: 4.14.2.10
severity: Violation

LegacyRadioSystem
type: PropertyShape
affected class: VehicleType
affected class: Restriction
affected property: legacyRadioSystem
comment: Validation for legacyRadioSystem property.
node kind: IRI
path: legacyRadioSystem
message: era:legacyRadioSystem: its value must be an IRI.
eratv index: 4.13.2.3
severity: Violation

LegacyRadioSystemSKOS
type: SPARQLConstraint
affected property: legacyRadioSystem
affected class: VehicleType
affected class: Restriction
scope: local
comment: Ensures that the value of legacyRadioSystem is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: legacyRadioSystem: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/legacy-radio-systems/LegacyRadioSystems>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:legacyRadioSystem AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:legacyRadioSystem ?concept . era:legacyRadioSystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

EtcsInfill
type: PropertyShape
affected class: VehicleType
affected property: etcsInfill
comment: Validation for etcsInfill property.
node kind: IRI
max count: 1
path: etcsInfill
message: era:etcsInfill: its value must be an IRI.
eratv index: 4.13.1.3
severity: Violation

EtcsInfillSKOS
type: SPARQLConstraint
affected property: etcsInfill
affected class: VehicleType
scope: local
comment: Ensures that the value of etcsInfill is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: etcsInfill: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-infills/ETCSInfills>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:etcsInfill AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsInfill ?concept . era:etcsInfill era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

EnergySupplySystem
type: PropertyShape
affected class: VehicleType
affected property: energySupplySystem
comment: Validation for energySupplySystem property.
node kind: IRI
max count: 1
path: energySupplySystem
message: era:energySupplySystem: its value must be an IRI.
eratv index: 4.10.1
severity: Violation

EnergySupplySystemSKOS
type: SPARQLConstraint
affected property: energySupplySystem
affected class: VehicleType
scope: local
comment: Ensures that the value of energySupplySystem is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: energySupplySystem: The VehicleType {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/energy-supply-systems/EnergySupplySystems>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:energySupplySystem AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:energySupplySystem ?concept . era:energySupplySystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

NonCodedRestrictions
type: PropertyShape
affected class: VehicleType
affected property: nonCodedRestrictions
comment: Validation for nonCodedRestrictions property.
datatype: string
message: The nonCodedRestrictions value must be a character string.
path: nonCodedRestrictions
severity: Violation

TrainControlSwitchOverSpecialCondition
type: PropertyShape
affected class: VehicleType
affected property: trainControlSwitchOverSpecialCondition
eratv index: 4.13.1.6
datatype: string
comment: Validation for trainControlSwitchOverSpecialCondition property.
path: trainControlSwitchOverSpecialCondition
message: The trainControlSwitchOverSpecialCondition value must be a character string.
severity: Violation
scope: local
message: trainControlSwitchOverSpecialCondition (4.13.1.6): The value must be a string.

ProtectionLegacySystem
type: PropertyShape
affected class: VehicleType
affected property: protectionLegacySystem
comment: Validation for protectionLegacySystem property.
node kind: IRI
path: protectionLegacySystem
message: era:protectionLegacySystem: its value must be an IRI.
eratv index: 4.13.1.5
severity: Violation

ProtectionLegacySystemSKOS
type: SPARQLConstraint
affected property: protectionLegacySystem
affected class: VehicleType
affected class: Restriction
scope: local
comment: Ensures that the value of protectionLegacySystem is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: protectionLegacySystem: The VehicleType/Restriction {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/other-protection-control-warning/OtherProtectionControlWarnings>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:protectionLegacySystem AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:protectionLegacySystem ?concept . era:protectionLegacySystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

MassPerWheel
type: PropertyShape
affected class: VehicleType
affected property: massPerWheel
comment: Validation for massPerWheel property.
datatype: decimal
message: The massPerWheel value must be an decimal.
path: massPerWheel
eratv index: 4.5.6
severity: Violation

GaugingProfile
type: PropertyShape
affected class: VehicleType
affected class: Restriction
affected property: gaugingProfile
comment: Validation for gaugingProfile property.
node kind: IRI
path: gaugingProfile
message: era:gaugingProfile: its value must be an IRI.
eratv index: 4.2.1
severity: Violation

GaugingProfileSKOS
type: SPARQLConstraint
affected property: gaugingProfile
affected class: VehicleType
affected class: Restriction
scope: local
comment: Ensures that the value of gaugingProfile is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: gaugingProfile: The VehicleType/Restriction {$this} with label {?label} has a value {?value} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/gaugings/GaugingProfiles>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this (era:gaugingProfile AS ?path) (?concept AS ?value) ?label WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gaugingProfile ?concept . era:gaugingProfile era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

TrainDetectionSystemType
type: PropertyShape
affected class: VehicleType
affected class: Restriction
affected property: trainDetectionSystemType
comment: Validation for trainDetectionSystemType property.
node kind: IRI
max count: 1
path: trainDetectionSystemType
message: era:trainDetectionSystemType: its value must be an IRI.
eratv index: 4.14.1
severity: Violation

TrainDetectionSystemTypeSKOS
type: SPARQLConstraint
affected property: trainDetectionSystemType
affected class: VehicleType
affected class: Restriction
scope: local
comment: Ensures that the value of trainDetectionSystemType is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: trainDetectionSystemType: The VehicleType/Restriction {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/train-detection/TrainDetectionSystems>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:trainDetectionSystemType AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:trainDetectionSystemType ?concept . era:trainDetectionSystemType era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

UsesGroup555
type: PropertyShape
affected class: VehicleType
affected property: usesGroup555
comment: Validation for usesGroup555 property.
datatype: boolean
message: The usesGroup555 value must be a boolean (true/false).
path: usesGroup555
eratv index: 4.13.2.12
severity: Violation
affected class: RunningTrack
scope: local
comment: Indication if group 555 is used.
rinf index: 1.1.1.3.3.4
rinf index: 1.2.1.1.2.4
max count: 1
message: usesGroup555 (1.1.1.3.3.4, 1.2.1.1.2.4): Each track may define the existence of GSM-R use of group 555. This error is due to having more than one value or having a value that is not Y/N (boolean).

TemperatureRange
type: PropertyShape
affected class: VehicleType
affected property: temperatureRange
comment: Validation for temperatureRange property.
node kind: IRI
max count: 1
path: temperatureRange
message: era:temperatureRange: its value must be an IRI.
eratv index: 4.3.1
severity: Violation

TemperatureRangeSKOS
type: SPARQLConstraint
affected property: temperatureRange
affected class: VehicleType
scope: local
comment: Ensures that the value of temperatureRange is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: temperatureRange: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/temperature-ranges/TemperatureRanges>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:temperatureRange AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:temperatureRange ?concept . era:temperatureRange era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

EtcsSystemCompatibility
type: PropertyShape
affected class: VehicleType
affected property: etcsSystemCompatibility
comment: Validation for etcsSystemCompatibility property.
node kind: IRI
path: etcsSystemCompatibility
message: era:etcsSystemCompatibility: its value must be an IRI.
eratv index: 4.13.1.8
severity: Violation

EtcsSystemCompatibilitySKOS
type: SPARQLConstraint
affected property: etcsSystemCompatibility
affected class: VehicleType
scope: local
comment: Ensures that the value of etcsSystemCompatibility is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: etcsSystemCompatibility: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-system-compatibilities/ETCSSystemCompatibilities>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:etcsSystemCompatibility AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsSystemCompatibility ?concept . era:etcsSystemCompatibility era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

SafeConsistLengthInformationNecessary
type: PropertyShape
affected class: VehicleType
affected property: safeConsistLengthInformationNecessary
comment: Validation for safeConsistLengthInformationNecessary property.
node kind: IRI
max count: 1
path: safeConsistLengthInformationNecessary
message: era:safeConsistLengthInformationNecessary: its value must be an IRI.
eratv index: 4.13.1.10
severity: Violation

SafeConsistLengthInformationNecessarySKOS
type: SPARQLConstraint
affected property: safeConsistLengthInformationNecessary
affected class: VehicleType
scope: local
comment: Ensures that the value of safeConsistLengthInformationNecessary is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: safeConsistLengthInformationNecessary: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/safe-consist-length/SafeConsistLengthNecessary>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:safeConsistLengthInformationNecessary AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:safeConsistLengthInformationNecessary ?concept . era:safeConsistLengthInformationNecessary era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

MaximumContactWireHeight
type: PropertyShape
affected class: VehicleType
affected property: maximumContactWireHeight
comment: Validation for maximumContactWireHeight property.
datatype: decimal
max count: 1
message: The maximumContactWireHeight value must be a decimal.
path: maximumContactWireHeight
eratv index: 4.10.5
severity: Violation

RailInclination
type: PropertyShape
affected class: VehicleType
affected property: railInclination
comment: Validation for railInclination property.
node kind: IRI
max count: 1
path: railInclination
message: era:railInclination: its value must be an IRI.
eratv index: 4.6.5
severity: Violation

RailInclinationSKOS
type: SPARQLConstraint
affected property: railInclination
affected class: VehicleType
affected class: VehicleTypeConfigParameterSet
scope: local
comment: Ensures that the value of railInclination is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: railInclination: The VehicleType/VehicleTypeConfigParameterSet {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/rail-inclinations/RailInclinations>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:railInclination AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:railInclination ?concept . era:railInclination era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

AtoSystemVersion
type: PropertyShape
affected class: VehicleType
affected property: atoSystemVersion
comment: Validation for atoSystemVersion property.
node kind: IRI
path: atoSystemVersion
message: era:atoSystemVersion: its value must be an IRI.
eratv index: 4.13.3.1
severity: Violation

AtoSystemVersionSKOS
type: SPARQLConstraint
affected property: atoSystemVersion
affected class: VehicleType
scope: local
comment: Ensures that the value of atoSystemVersion is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: atoSystemVersion: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/ato-s-versions/ATOSystemVersions>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:atoSystemVersion AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:atoSystemVersion ?concept . era:atoSystemVersion era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

GsmRVersion
type: PropertyShape
affected class: VehicleType
affected property: gsmRVersion
comment: Validation for gsmRVersion property.
node kind: IRI
path: gsmRVersion
message: era:gsmRVersion: its value must be an IRI.
eratv index: 4.13.2.1
severity: Violation

GsmRVersionSKOS
type: SPARQLConstraint
affected property: gsmRVersion
affected class: VehicleType
scope: local
comment: Ensures that the value of gsmRVersion is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: gsmRVersion: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/gsmr-versions/GSMRVersions>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:gsmRVersion AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gsmRVersion ?concept . era:gsmRVersion era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

MinimumHorizontalRadius
type: PropertyShape
affected class: VehicleType
affected property: minimumHorizontalRadius
comment: Validation for minimumHorizontalRadius property.
or:
  datatype: decimal
or:
  datatype: integer
message: The minimumHorizontalRadius value must be an integer or a decimal.
path: minimumHorizontalRadius
eratv index: 4.8.4
severity: Violation
affected class: RunningTrack
scope: local
comment: Radius of the smallest horizontal curve of The track in metres.
rinf index: 1.1.1.1.3.7
rinf index: 1.2.2.0.3.2
max count: 1
datatype: integer
pattern: ^([1-9]\d{0,5}|0)$
message: minimumHorizontalRadius (1.1.1.1.3.7, 1.2.2.0.3.2): The track defines a minimum radius of horizontal curve. This error is due to having more than one value, having a value that is not an integer or having an integer that does not follow the pattern [NNNNNN].

VoiceRadioCompatible
type: PropertyShape
affected class: VehicleType
affected property: voiceRadioCompatible
comment: Validation for voiceRadioCompatible property.
node kind: IRI
path: voiceRadioCompatible
message: era:voiceRadioCompatible: its value must be an IRI.
eratv index: 4.13.2.5
severity: Violation

VoiceRadioCompatibleSKOS
type: SPARQLConstraint
affected property: voiceRadioCompatible
affected class: VehicleType
scope: local
comment: Ensures that the value of voiceRadioCompatible is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: voiceRadioCompatible: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/radio-system-compatibilities-voice/RadioSystemCompatibilitiesVoice>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:voiceRadioCompatible AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:voiceRadioCompatible ?concept . era:voiceRadioCompatible era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

ManufacturingCountry
type: PropertyShape
affected class: VehicleType
affected class: Vehicle
affected property: manufacturingCountry
comment: Validation for manufacturingCountry property.
node kind: IRI
path: manufacturingCountry
message: era:manufacturingCountry: its value must be an IRI.
severity: Violation

ManufacturingCountrySKOS
type: SPARQLConstraint
affected property: manufacturingCountry
affected class: Vehicle
affected class: VehicleType
scope: local
comment: Ensures that the value of manufacturingCountry is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: manufacturingCountry: The Vehicle/VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://publications.europa.eu/resource/authority/country>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:manufacturingCountry AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:manufacturingCountry ?concept . era:manufacturingCountry era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

VehicleContactForce
type: PropertyShape
affected class: VehicleType
affected property: vehicleContactForce
comment: Validation for vehicleContactForce property.
datatype: decimal
message: The vehicleContactForce must be a decimal value.
path: vehicleContactForce
eratv index: 4.10.15
severity: Violation

WheelSetGauge
type: PropertyShape
affected class: VehicleType
affected class: Restriction
affected property: wheelSetGauge
comment: Validation for wheelSetGauge property.
node kind: IRI
max count: 1
path: wheelSetGauge
message: era:wheelSetGauge: its value must be an IRI.
eratv index: 4.1.3
severity: Violation

WheelSetGaugeSKOS
type: SPARQLConstraint
affected property: wheelSetGauge
affected class: VehicleType
affected class: Restriction
scope: local
comment: Ensures that the value of wheelSetGauge is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: wheelSetGauge: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/nominal-track-gauges/NominalTrackGauges>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:wheelSetGauge AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:wheelSetGauge ?concept . era:wheelSetGauge era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

MaximumBrakeThermalEnergyCapacity
type: PropertyShape
affected class: VehicleType
affected property: maximumBrakeThermalEnergyCapacity
comment: Validation for maximumBrakeThermalEnergyCapacity property.
datatype: decimal
message: The maximumBrakeThermalEnergyCapacity value must be a decimal.
path: maximumBrakeThermalEnergyCapacity
eratv index: 4.7.2.1.6
severity: Violation

VehicleCategory
type: PropertyShape
affected property: vehicleCategory
affected class: VehicleType
scope: local
comment: Validation for the vehicleCategory property for VehicleType.
path: vehicleCategory
node kind: IRI
severity: Violation
message: vehicleCategory: The value must be an IRI.
eratv index: 1.4

VehicleCategorySKOS
type: SPARQLConstraint
affected property: vehicleCategory
affected class: VehicleType
scope: local
comment: Ensures that the value of vehicleCategory is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: vehicleCategory: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/vehicle-types/Categories>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:vehicleCategory AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:vehicleCategory ?concept . era:vehicleCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

ETCSBaselineCompatibility
type: PropertyShape
affected property: etcsBaselineCompatibility
affected class: VehicleType
affected class: VehicleTypeConfigParameterSet
scope: local
comment: Validation for the etcsBaselineCompatibility property for VehicleType and VehicleTypeConfigParameterSet.
path: etcsBaselineCompatibility
node kind: IRI
max count: 1
severity: Violation
message: etcsBaselineCompatibility: The value must be an IRI.
eratv index: 4.13.1.2

ETCSBaselineCompatibilitySKOS
type: SPARQLConstraint
affected property: etcsBaselineCompatibility
affected class: VehicleType
affected class: VehicleTypeConfigParameterSet
scope: local
comment: Ensures that the value of etcsBaselineCompatibility is a valid SKOS concept from the linked concept scheme.
severity: Violation
message: etcsBaselineCompatibility: The VehicleType/VehicleTypeConfigParameterSet {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/etcs-baselines/ETCSBaselines>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:etcsBaselineCompatibility AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsBaselineCompatibility ?concept . era:etcsBaselineCompatibility era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

AssessedCantDeficiency
type: PropertyShape
affected property: assessedCantDeficiency
affected class: VehicleType
affected class: VehicleTypeConfigParameterSet
scope: local
comment: Validation for assessedCantDeficiency property. Cant deficiency (maximum uncompensated lateral acceleration) for which the vehicle has been assessed.
path: assessedCantDeficiency
datatype: integer
severity: Violation
message: assessedCantDeficiency: The value must be an integer representing cant deficiency in millimeters.
eratv index: 4.6.1

AxleSpacing
type: PropertyShape
affected property: axleSpacing
affected class: VehicleType
scope: local
comment: Validation for axleSpacing property. Position of the axles along the unit.
path: axleSpacing
datatype: string
severity: Violation
message: axleSpacing: The value must be a string describing the position of axles along the unit.
eratv index: 4.5.3.4

BrakeWeightPercentage
type: PropertyShape
affected property: brakeWeightPercentage
affected class: VehicleType
scope: local
comment: Validation for brakeWeightPercentage property. Brake weight percentage (lambda) or Braked mass.
path: brakeWeightPercentage
datatype: string
severity: Violation
message: brakeWeightPercentage: The value must be a string.
eratv index: 4.7.6

VehicleContactForceFormula
type: PropertyShape
affected property: vehicleContactForceFormula
affected class: VehicleType
affected class: VehicleTypeConfigParameterSet
scope: local
comment: Validation for vehicleContactForceFormula property.
path: vehicleContactForceFormula
datatype: string
max count: 1
severity: Violation
message: vehicleContactForceFormula: The value must be a string.

VehicleTypePlatform
type: PropertyShape
affected property: vehicleTypePlatform
affected class: VehicleType
scope: local
comment: Validation for vehicleTypePlatform property. Platform for which the vehicle type is designed.
path: vehicleTypePlatform
datatype: string
severity: Violation
message: vehicleTypePlatform: The value must be a string.
eratv index: 4.1.4

FrequencyResistanceExclusiveToVehicleTypeConfig
type: SPARQLConstraint
affected class: MinVehicleImpedance
message: The properties minImpedanceFrequency and minImpedanceResistance are only allowed when MinVehicleImpedance is linked from a VehicleTypeConfigParameterSet. This error is due to {$this} having one, some, or all of these 2 properties, but not being connected to a VehicleTypeConfigParameterSet.
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this (?prop AS ?path) WHERE { $this ?prop ?value . FILTER(?prop IN (era:minImpedanceFrequency, era:minImpedanceResistance)) FILTER NOT EXISTS { ?config a era:VehicleTypeConfigParameterSet ; era:minVehicleImpedance $this . } }

FrequencyResistanceRequired
type: SPARQLConstraint
affected class: MinVehicleImpedance
message: Properties minImpedanceFrequency and minImpedanceResistance are required when MinVehicleImpedance is linked from a VehicleTypeConfigParameterSet. This error is due to {$this} (being connected to {?config}) not having one or both of these 2 properties.
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this ?config (era:minVehicleImpedance AS ?path) WHERE { ?config a era:VehicleTypeConfigParameterSet ; era:minVehicleImpedance $this . FILTER ( NOT EXISTS { $this era:minImpedanceFrequency ?freq . } || NOT EXISTS { $this era:minImpedanceResistance ?res . } ) }

MinImpedanceFrequencyApplicability
type: SPARQLConstraint
affected property: minImpedanceFrequency
affected class: MinVehicleImpedance
scope: local
comment: minImpedanceFrequency is applicable when MinVehicleImpedance is used in a VehicleTypeConfigParameterSet.
severity: Violation
message: The VehicleTypeConfigParameterSet {?config} ({?label}) has a MinVehicleImpedance which makes minImpedanceFrequency applicable. This error is due to {$this} not having a value for such a property
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?config (era:minImpedanceFrequency AS ?path) WHERE { ?config a era:VehicleTypeConfigParameterSet ; era:minVehicleImpedance $this . FILTER NOT EXISTS { $this era:minImpedanceFrequency ?val . } OPTIONAL { ?config rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) }

MinImpedanceResistanceApplicability
type: SPARQLConstraint
affected property: minImpedanceResistance
affected class: MinVehicleImpedance
scope: local
comment: minImpedanceResistance is applicable when MinVehicleImpedance is used in a VehicleTypeConfigParameterSet.
severity: Violation
message: The VehicleTypeConfigParameterSet {?config} ({?label}) has a MinVehicleImpedance which makes minImpedanceResistance applicable. This error is due to {$this} not having a value for such a property
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?config (era:minImpedanceResistance AS ?path) WHERE { ?config a era:VehicleTypeConfigParameterSet ; era:minVehicleImpedance $this . FILTER NOT EXISTS { $this era:minImpedanceResistance ?val . } OPTIONAL { ?config rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) }

TrainSystemPropsExclusive
type: SPARQLConstraint
affected class: MinVehicleImpedance
message: The properties minVehicleInputCapacitance, minVehicleInputImpedance, and minVehicleImpedanceVoltages are only allowed when MinVehicleImpedance is linked from a TrainDetectionSystem. This error is due to {$this} having one, some, or all of these 3 properties and not being linked to a TrainDetectionSystem.
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this (?prop AS ?path) WHERE { $this ?prop ?value . FILTER(?prop IN (era:minVehicleInputCapacitance, era:minVehicleInputImpedance, era:minVehicleImpedanceVoltages)) FILTER NOT EXISTS { ?train a era:TrainDetectionSystem ; era:minVehicleImpedance $this . } }

TrainSystemPropsRequired
type: SPARQLConstraint
affected class: MinVehicleImpedance
message: The properties minVehicleInputCapacitance, minVehicleInputImpedance, and minVehicleImpedanceVoltages are required when MinVehicleImpedance is linked from a TrainDetectionSystem. This error is due to {$this} (being connected to {?train}) not having one, some, or all of these 3 properties.
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this ?train (era:minVehicleImpedance AS ?path) WHERE { ?train a era:TrainDetectionSystem ; era:minVehicleImpedance $this . FILTER ( NOT EXISTS { $this era:minVehicleInputCapacitance ?cap . } || NOT EXISTS { $this era:minVehicleInputImpedance ?imp . } || NOT EXISTS { $this era:minVehicleImpedanceVoltages ?volt . } ) }

DangerousGoodsTankCode
type: PropertyShape
affected property: dangerousGoodsTankCode
affected class: VehicleType
scope: local
comment: Validation for dangerousGoodsTankCode property.
path: dangerousGoodsTankCode
datatype: string
severity: Violation
message: dangerousGoodsTankCode (4.1.9): The value must be a string.
eratv index: 4.1.9

LegacyRadioSystemComment
type: PropertyShape
affected property: legacyRadioSystemComment
affected class: VehicleType
scope: local
comment: Validation for legacyRadioSystemComment property.
path: legacyRadioSystemComment
datatype: string
severity: Violation
message: legacyRadioSystemComment (4.13.2.3): The value must be a string.
eratv index: 4.13.2.3

ProtectionLegacySystemComment
type: PropertyShape
affected property: protectionLegacySystemComment
affected class: VehicleType
scope: local
comment: Additional comments on Class B / Legacy train protection, control and warning systems installed.
path: protectionLegacySystemComment
node kind: Literal
datatype: string
severity: Violation
message: protectionLegacySystemComment (4.13.1.5): The value must be a string.
eratv index: 4.13.1.5

TypeVersionNumber
type: PropertyShape
affected property: typeVersionNumber
affected class: VehicleType
scope: local
comment: Validation for typeVersionNumber property.
path: typeVersionNumber
datatype: string
severity: Violation
message: typeVersionNumber: The value must be a string.

HasCantDefficiencyCompensation
type: PropertyShape
affected property: hasCantDefficiencyCompensation
affected class: VehicleType
scope: local
comment: Validation for hasCantDefficiencyCompensation property.
path: hasCantDefficiencyCompensation
datatype: boolean
severity: Violation
message: hasCantDefficiencyCompensation (4.6.2): The value must be a boolean.
eratv index: 4.6.2

HasFlangeLubrication
type: PropertyShape
affected property: hasFlangeLubrication
affected class: VehicleType
scope: local
comment: Validation for hasFlangeLubrication property.
path: hasFlangeLubrication
datatype: boolean
severity: Violation
message: hasFlangeLubrication (4.9.3.1): The value must be a boolean.
eratv index: 4.9.3.1

VehicleSubCategory
type: PropertyShape
affected property: vehicleSubCategory
affected class: VehicleType
scope: local
comment: Validation for vehicleSubCategory property.
path: vehicleSubCategory
node kind: IRI
severity: Violation
message: vehicleSubCategory (1.5): The value must be an IRI.
eratv index: 1.5

VehicleSubCategorySKOS
type: SPARQLConstraint
affected property: vehicleSubCategory
affected class: VehicleType
scope: local
comment: Ensures that the value of vehicleSubCategory is a valid SKOS concept from the vehicle types concept scheme.
severity: Violation
message: vehicleSubCategory: The VehicleType {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: <http://data.europa.eu/949/concepts/vehicle-types/Categories>.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:vehicleSubCategory AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:vehicleSubCategory ?concept . era:vehicleSubCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme }) }

Certificate
type: PropertyShape
affected property: certificate
affected class: VehicleType
scope: local
comment: Type or Design Examination Certificate.
path: certificate
node kind: IRI
class: CLD
severity: Warning
message: certificate: The value must be an IRI pointing to a CLD.

DocState
type: PropertyShape
affected property: state
affected class: CLD
scope: local
comment: State of the Evidence Document.
path: state
node kind: IRI
class: Concept
severity: Warning
message: state: The value must be an IRI and a SKOS concept.

SHACL Shapes for RINF dataset compliant with ERA ontology
type: Dataset
description: SHACL constraints validating RDF RINF datasets according to the ERA ontology .
publisher: ERA
creator: ERA
issued: 2024-04-18
modified: 2026-01-28
modified: 2026-03-02
modified: 2026-03-16
landing page: https://data-interop.era.europa.eu/era-vocabulary/era-shapes
conforms to: shacl
conforms to: http://data.europa.eu/949/
license: oj
language: ENG
version info: 3.2.0
distribution: ERA RINF SHACL shapes (Turtle)
was attributed to: ERA

ERA RINF SHACL shapes (Turtle)
type: Distribution
download URL: https://data-interop.era.europa.eu/era-vocabulary/rinf/era-shapes
media type: text/turtle
format: RDF TURTLE
license: oj

AppliesToDirection
type: PropertyShape
affected property: appliesToDirection
affected class: NetPointReference
scope: local
comment: The direction relative to the origin of the linear element towards the point reference applies.
path: appliesToDirection
node kind: IRI
severity: Violation
message: appliesToDirection: The net point reference must have an 'applies to direction' value that is an IRI.

AppliesToDirectionSKOS
type: SPARQLConstraint
affected property: appliesToDirection
affected class: NetPointReference
scope: local
comment: The direction relative to the origin of the linear element towards the point reference applies.
message: appliesToDirection: The net point reference {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/orientations/Directions.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:appliesToDirection AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:appliesToDirection ?concept . era:appliesToDirection era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

HasLrsCoordinate
type: PropertyShape
affected property: hasLrsCoordinate
affected property: hasLRS
affected class: NetPointReference
scope: local
comment: Specifies the LRS coordinate associated with a topological coordinate.
path: hasLrsCoordinate
path: hasLRS
class: LinearPositioningSystem
severity: Violation
message: hasLrsCoordinate: The net point reference specifies an LRS coordinate that must be an instance of a LinearPositioningSystemCoordinate and that in turn references a LinearPositioningSystem. This error is due to having a value that is not a LinearPositioningSystemCoordinate that in turn references a LinearPositioningSystem.

HasSequence
type: PropertyShape
affected property: hasSequence
affected class: NetLinearReference
scope: local
comment: The ordered sequence of topological linear elements which create a linear net reference.
path: hasSequence
class: List
severity: Violation
message: hasSequence: The net linear reference specifies an ordered sequence of topological linear elements that must be an instance of an rdf:List. This error is due to having a value that is not an instance of rdf:List.

HasTopoCoordinate
type: PropertyShape
affected property: hasTopoCoordinate
affected class: NetPointReference
scope: local
comment: Specifies the topological coordinate of a network point reference.
path: hasTopoCoordinate
class: TopologicalCoordinate
severity: Violation
message: hasTopoCoordinate: The net point reference specifies a topo coordinate that must be an instance of a TopologicalCoordinate. This error is due to having a value that is not an instance of TopologicalCoordinate.

Includes
type: PropertyShape
affected property: includes
affected class: NetAreaReference
scope: local
comment: List of linear references included in an network area reference.
path: includes
class: List
severity: Violation
message: includes: The net area reference specifies a list of linear references that must be an instance of an rdf:List. This error is due to having a value that is not an instance of rdf:List.

LrsMethod
type: PropertyShape
affected property: lrsMethod
affected class: LinearPositioningSystem
scope: local
comment: The preferred line referencing system.
path: lrsMethod
node kind: IRI
severity: Violation
message: lrsMethod: The linear positioning system must have an 'lrsMethod' value that is an IRI.

LrsMethodSKOS
type: SPARQLConstraint
affected property: lrsMethod
affected class: LinearPositioningSystem
scope: local
comment: The preferred line referencing system.
message: lrsMethod: The linear positionung system {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/lines/ReferenceSystems.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:lrsMethod AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:lrsMethod ?concept . era:lrsMethod era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

StartsAt
type: PropertyShape
affected property: startsAt
affected class: NetLinearReference
scope: local
comment: Specifies the starting point of a linear reference.
path: startsAt
min count: 1
max count: 1
class: NetPointReference
severity: Violation
message: startsAt: The net linear reference specifies a starting point that must be an instance of a NetPointReference. This error is due to not having a value, having more than one value or having a value that is not an instance of NetPointReference.

EndsAt
type: PropertyShape
affected property: endsAt
affected class: NetLinearReference
scope: local
comment: Specifies the ending point of a linear reference.
path: endsAt
min count: 1
max count: 1
class: NetPointReference
severity: Violation
message: endsAt: The net linear reference specifies an ending point that must be an instance of a NetPointReference. This error is due to not having a value, having more than one value or having a value that is not an instance of NetPointReference.

KmPost
type: PropertyShape
affected class: LinearPositioningSystemCoordinate
affected property: kmPost
scope: local
comment: The closest kilometric post on the line, used as a reference by the LRS coordinate.
path: kmPost
node kind: IRI
class: KilometricPost
severity: Violation
message: kmPost: The LinearPositioningSystemCoordinate may reference a KilometricPost through kmPost. This error is due to the value either not being an IRI, or being an IRI that is not an instance of KilometricPost.

OffsetFromKilometricPost
type: PropertyShape
affected class: LinearPositioningSystemCoordinate
affected property: offsetFromKilometricPost
scope: local
comment: Relative distance from a reference kilometric post.
path: offsetFromKilometricPost
datatype: double
severity: Violation
message: offsetFromKilometricPost: The offset from kilometric post must be represented as a double number.

LineId
type: PropertyShape
affected class: LinearPositioningSystem
affected property: lineId
scope: local
comment: Unique line identification or unique line number within Member State.
rinf index: 1.1.0.0.0.2
max count: 1
path: lineId
datatype: string
severity: Violation
message: lineId: The line identification is unique and must be a string. This error is due to having more than one value or having a value that is not a string of characters

ContactLineSystemType
type: PropertyShape
affected property: contactLineSystemType
affected class: ContactLineSystem
scope: local
comment: Indication of the type of the contact line system
rinf index: 1.1.1.2.2.1.1
path: contactLineSystemType
node kind: IRI
min count: 1
max count: 1
severity: Warning
message: contactLineSystemType (1.1.1.2.2.1.1): The contact line system must have a contact line system type, and its value must be an IRI. This error is due to the contact line system not having a value for this property, having more than one value for this property, or having a value that is not an IRI.

ContactLineSystemTypeSKOS
type: SPARQLConstraint
affected property: contactLineSystemType
affected class: ContactLineSystem
scope: local
comment: Indication of the type of the contact line system
rinf index: 1.1.1.2.2.1.1
message: contactLineSystemType (1.1.1.2.2.1.1): The contact line system {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/contact-line-systems/ContactLineSystems.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:contactLineSystemType AS ?path) WHERE { $this era:contactLineSystemType ?concept . era:contactLineSystemType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

ContactLineSystemTypeNotElectrifiedApplicability
type: SPARQLConstraint
affected property: contactLineSystemType
affected class: ContactLineSystem
scope: local
comment: When the value "not electrified" is chosen, all parameters 1.1.1.2.2.1.2 - 1.1.1.2.5.3 are not applicable
rinf index: 1.1.1.2.2.1.1
message: contactLineSystemType (1.1.1.2.2.1.1): The Contact Line System {$this} ({?clsLabel}), has a 'Not electrified' type, and at least one of its parameters has values for at least one of the range of parameters between 1.1.1.2.2.1.2 and 1.1.1.2.5.3. This happens at least with property {?p} (RINF index {?index}).
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel ?p ?index (era:contactLineSystemType AS ?path) WHERE { $this era:contactLineSystemType <http://data.europa.eu/949/concepts/contact-line-systems/40> . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) $this ?p ?y . ?p era:rinfIndex ?index . FILTER( strstarts(?index,'1.1.1.2.2.1.2') || strstarts(?index,'1.1.1.2.2.1.3') || strstarts(?index,'1.1.1.2.2.2') || strstarts(?index,'1.1.1.2.2.3') || strstarts(?index,'1.1.1.2.2.4') || strstarts(?index,'1.1.1.2.2.5') || strstarts(?index,'1.1.1.2.2.6') || strstarts(?index,'1.1.1.2.3') || strstarts(?index,'1.1.1.2.4') || strstarts(?index, '1.1.1.2.5') ) }

ContactLineSystemTypeThirdOrFourthRailApplicability
type: SPARQLConstraint
affected property: contactLineSystemType
affected class: ContactLineSystem
scope: local
comment: When the value “Third Rail” or “Fourth Rail” is chosen, parameters 1.1.1.2.2.3, 1.1.1.2.2.5 - 1.1.1.2.4.2.3, 1.1.1.2.5.2 and 1.1.1.2.5.3 are not applicable
rinf index: 1.1.1.2.2.1.1
message: contactLineSystemType (1.1.1.2.2.1.1): The Contact Line System {$this} ({?clsLabel}), has a 'Third Rail' or 'Fourth Rail' type, and at least one of its parameters has values for at least one of the parameters 1.1.1.2.2.3, 1.1.1.2.2.5 - 1.1.1.2.4.2.3, 1.1.1.2.5.2 and 1.1.1.2.5.3. This happens at least with property {?p} (RINF index {?index}).
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel ?p ?index (era:contactLineSystemType AS ?path) WHERE { { $this era:contactLineSystemType <http://data.europa.eu/949/concepts/contact-line-systems/20> } UNION { $this era:contactLineSystemType <http://data.europa.eu/949/concepts/contact-line-systems/30> } OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) $this ?p ?y . ?p era:rinfIndex ?index . FILTER EXISTS { $this ?p ?value } . FILTER(str(?index)='1.1.1.2.2.3' || str(?index)='1.1.1.2.2.5' || str(?index)='1.1.1.2.2.6' || strstarts(?index,'1.1.1.2.3') || strstarts(?index,'1.1.1.2.4') || str(?index)='1.1.1.2.5.2' || str(?index)='1.1.1.2.5.3') }

EnergySupplySystem
type: PropertyShape
affected property: energySupplySystem
affected class: ContactLineSystem
scope: local
comment: Indication of the traction supply system
rinf index: 1.1.1.2.2.1.2
path: energySupplySystem
node kind: IRI
max count: 1
severity: Warning
message: energySupplySystem (1.1.1.2.2.1.2): The contact line system defines the energy supply system.This error is due to a contact line system having more than one value for this property or having a value that is not an IRI.

EnergySupplySystemSKOS
type: SPARQLConstraint
affected property: energySupplySystem
affected class: ContactLineSystem
scope: local
comment: Indication of the traction supply system
rinf index: 1.1.1.2.2.1.2
message: energySupplySystem (1.1.1.2.2.1.2): The contact line system {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/energy-supply-systems/EnergySupplySystems.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:energySupplySystem AS ?path) WHERE { $this era:energySupplySystem ?concept . era:energySupplySystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

Umax2
type: PropertyShape
affected property: umax2
affected class: ContactLineSystem
scope: local
comment: Umax2 for lines referred to in sections 7.4.2.2.1 and 7.4.2.11.1 of Regulation (EU) 1301/2014
rinf index: 1.1.1.2.2.1.3
path: umax2
datatype: integer
pattern: ^([1-9]\d{0,5}|0)$
max count: 1
severity: Violation
message: umax2 (1.1.1.2.2.1.3): The contact line system defines the Umax2 . This error is due to having more than one value for this property, having a value that is not an integer, or having an integer that does not follow the pattern [NNNNNN].

MaximumTrainCurrent
type: PropertyShape
affected property: maxTrainCurrent
affected class: ContactLineSystem
scope: local
comment: Indication of the maximum allowable train current
rinf index: 1.1.1.2.2.2
path: maxTrainCurrent
datatype: integer
pattern: ^([1-9]\d{0,3}|0)$
max count: 1
severity: Violation
message: maxTrainCurrent (1.1.1.2.2.2): Defines the maximum allowable train current of the contact line system. This error is due to having more than one value for this property, having a value that is not an integer, or having an integer that does not follow the pattern [NNNN].

MaxCurrentStandstillPantograph
type: PropertyShape
affected property: maxCurrentStandstillPantograph
affected class: ContactLineSystem
scope: local
comment: Indication of the maximum allowable current at standstill per pantograph
rinf index: 1.1.1.2.2.3
rinf index: 1.2.2.0.6.1
path: maxCurrentStandstillPantograph
datatype: integer
pattern: ^([1-9]\d{0,2}|0)$
max count: 1
severity: Violation
message: maxCurrentStandstillPantograph (1.1.1.2.2.3, 1.2.2.0.6.1): Defines the maximum allowable current at standstill per pantograph for the contact line system. This error is due to having more than one value for this property, having a value that is not an integer, or having an integer that does not follow the pattern [NNN].

MaxCurrentStandstillPantographApplicability
type: SPARQLConstraint
affected property: maxCurrentStandstillPantograph
affected class: ContactLineSystem
scope: local
comment: This parameter is applicable (“Y”) only if “Overhead contact line (OCL)” is selected for parameter 1.1.1.2.2.1.1.
rinf index: 1.1.1.2.2.3
rinf index: 1.2.2.0.6.1
message: maxCurrentStandstillPantograph (1.1.1.2.2.3, 1.2.2.0.6.1):The Contact Line System {$this} ({?clsLabel}), has a 'Overhead contact line (OCL)' type which makes the maxCurrentStandstillPantograph parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:maxCurrentStandstillPantograph AS ?path) WHERE { $this era:contactLineSystemType <http://data.europa.eu/949/concepts/contact-line-systems/10> . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:maxCurrentStandstillPantograph ?value } . }

ConditionsAppliedRegenerativeBraking
type: PropertyShape
affected class: ContactLineSystem
affected property: conditionsAppliedRegenerativeBraking
scope: local
comment: Name and/or reference of the document specifying the conditions applying in regards to regenerative braking.
rinf index: 1.1.1.2.2.4.1
path: conditionsAppliedRegenerativeBraking
class: Document
max count: 1
severity: Violation
message: conditionsAppliedRegenerativeBraking (1.1.1.2.2.4.1): The contact line system has a conditionsAppliedRegenerativeBraking reference that must be a Document. This error is due to having more than one value for this property or having a value that is not a Document.

ConditionsAppliedRegenerativeBrakingApplicability
type: SPARQLConstraint
affected property: conditionsAppliedRegenerativeBraking
affected class: ContactLineSystem
scope: local
comment: This parameter is applicable (“Y”) only if “Overhead contact line (OCL)” is selected for parameter 1.1.1.2.2.1.1 and the regenerative braking status is “under conditions” (20) or “under conditions only for emergency brake” (40).
rinf index: 1.1.1.2.2.4.1
message: conditionsAppliedRegenerativeBraking (1.1.1.2.2.4.1):The Contact Line System {$this} ({?clsLabel}), has a 'Overhead contact line (OCL)' type and a conditional regenerative braking status which makes the conditionsAppliedRegenerativeBraking parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX era-cls: <http://data.europa.eu/949/concepts/contact-line-systems/> PREFIX era-rb: <http://data.europa.eu/949/concepts/regenerative-braking/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:conditionsAppliedRegenerativeBraking AS ?path) WHERE { $this era:contactLineSystemType era-cls:10 . $this era:conditionalRegenerativeBrake ?underConditionsSkosConcept . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:conditionsAppliedRegenerativeBraking ?value } . FILTER ( ?underConditionsSkosConcept IN ( era-rb:20 , era-rb:40) ) }

MaximumContactWireHeight
type: PropertyShape
affected property: maximumContactWireHeight
affected class: ContactLineSystem
scope: local
comment: Indication of the maximum contact wire height expressed in metres
rinf index: 1.1.1.2.2.5
path: maximumContactWireHeight
datatype: decimal
pattern: ^([0-9])(\.\d{1,2})?$
max count: 1
severity: Violation
message: maximumContactWireHeight (1.1.1.2.2.5): The contact line system defines a maximum contact wire height expressed in metres. This error is due to having more than one value for this property, having a value that is not a double (real) number, or having a number that does not follow the pattern [N.NN] (with up to 2 decimals).

MaximumContactWireHeightApplicability
type: SPARQLConstraint
affected property: maximumContactWireHeight
affected class: ContactLineSystem
scope: local
comment: This parameter is applicable (“Y”) only if “Overhead contact line (OCL)” is selected for parameter 1.1.1.2.2.1.1.
rinf index: 1.1.1.2.2.5
message: maximumContactWireHeight (1.1.1.2.2.6):The Contact Line System {$this} ({?clsLabel}), has a 'Overhead contact line (OCL)' type which makes the maximumContactWireHeight parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:maximumContactWireHeight AS ?path) WHERE { $this era:contactLineSystemType <http://data.europa.eu/949/concepts/contact-line-systems/10> . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:maximumContactWireHeight ?value } . }

MinimumContactWireHeightApplicability
type: SPARQLConstraint
affected property: minimumContactWireHeight
affected class: ContactLineSystem
scope: local
comment: This parameter is applicable (“Y”) only if “Overhead contact line (OCL)” is selected for parameter 1.1.1.2.2.1.1.
rinf index: 1.1.1.2.2.6
message: minimumContactWireHeight (1.1.1.2.2.6):The Contact Line System {$this} ({?clsLabel}), has a 'Overhead contact line (OCL)' type which makes the minimumContactWireHeight parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:minimumContactWireHeight AS ?path) WHERE { $this era:contactLineSystemType <http://data.europa.eu/949/concepts/contact-line-systems/10> . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:minimumContactWireHeight ?value } . }

PermissionChargingElectricEnergyTractionStandstill
type: PropertyShape
affected property: permissionChargingElectricEnergyTractionStandstill
affected class: ContactLineSystem
scope: local
comment: Indication if charging electric energy storage for traction purposes at standstill is permitted
rinf index: 1.2.1.0.7.1
path: permissionChargingElectricEnergyTractionStandstill
datatype: boolean
max count: 1
severity: Violation
message: permissionChargingElectricEnergyTractionStandstill (1.2.1.0.7.1): The contact line system defines if charging electric energy storage for traction purposes at standstill is permitted. This error is due to having more than one value for this property or having a value that is not Y/N (boolean).

ConditionsChargingElectricEnergyStorage
type: PropertyShape
affected property: conditionsChargingElectricEnergyStorage
affected class: ContactLineSystem
scope: local
comment: Indication if charging electric energy storage for traction purposes at standstill is permitted
rinf index: 1.2.1.0.7.2
path: conditionsChargingElectricEnergyStorage
datatype: anyURI
max count: 1
severity: Violation
message: conditionsChargingElectricEnergyStorage (1.2.1.0.7.2): The contact line system defines the permitted conditions for charging electric energy storage for traction purposes at standstill. This error is due to having more than one value for this property or having a value that is not an URI.

DocumentUrl
type: PropertyShape
affected property: documentUrl
affected class: Document
scope: local
comment: URL that is used to download a document, e.g. url for a reference document in RINF.
path: documentUrl
datatype: anyURI
severity: Violation
message: documentUrl: The value must be a valid URI (xsd:anyURI).

ETCS70ShapeSPARQLWarning
type: NodeShape
severity: Warning
target: SPARQLTarget
  prefixes: http://data.europa.eu/949/
  select: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT $this WHERE { $this a era:ETCS . $this era:etcsLevelType <http://data.europa.eu/949/concepts/etcs-levels/70> . }
sparql: QNvemrrlsSKOS

ETCSNon70ShapeSPARQLViolation
type: NodeShape
severity: Violation
target: SPARQLTarget
  prefixes: http://data.europa.eu/949/
  select: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT $this WHERE { $this a era:ETCS . { $this era:etcsLevelType ?type . FILTER (?type NOT IN ( <http://data.europa.eu/949/concepts/etcs-levels/70> )) } UNION { FILTER NOT EXISTS { $this era:etcsLevelType ?type } . } }
sparql: QNvemrrlsSKOS

EtcsBaseline
type: PropertyShape
affected property: etcsBaseline
affected class: ETCS
scope: local
comment: ETCS baseline installed lineside
rinf index: 1.1.1.3.2.2
rinf index: 1.2.1.1.1.2
path: etcsBaseline
node kind: IRI
max count: 1
severity: Violation
message: etcsBaseline (1.1.1.3.2.2, 1.2.1.1.1.2): The ETCS may have an ETCS baseline, and its value must be an IRI. This error is due to the ETCS instance having more than one value or having a value that is not an IRI.

EtcsBaselineSKOS
type: SPARQLConstraint
affected property: etcsBaseline
affected class: ETCS
scope: local
comment: ETCS baseline installed lineside
rinf index: 1.1.1.3.2.2
rinf index: 1.2.1.1.1.2
message: etcsBaseline (1.1.1.3.2.2, 1.2.1.1.1.2): The ETCS {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-baselines/.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:etcsBaseline AS ?path) WHERE { $this era:etcsBaseline ?concept . era:etcsBaseline era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

EtcsBaselineApplicability
type: SPARQLConstraint
affected property: etcsBaseline
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.2
rinf index: 1.2.1.1.1.2
message: etcsBaseline (1.1.1.3.2.2, 1.2.1.1.1.2): The ETCS {$this} ({?thisLabel}), has a ETCS level type which makes the etcsBaseline parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsBaseline AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsBaseline ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsBaseline } . }

EtcsInfill
type: PropertyShape
affected property: etcsInfill
affected class: ETCS
scope: local
comment: Information about installed trackside equipment capable of transmitting infill information by loop or Global System for Mobile communications for Railways (GSM-R) for level 1 installations.
rinf index: 1.1.1.3.2.4
rinf index: 1.2.1.1.1.4
path: etcsInfill
node kind: IRI
max count: 1
severity: Violation
message: etcsInfill (1.1.1.3.2.4, 1.2.1.1.1.4): The ETCS may have an ETCS infill, and its value must be an IRI. This error is due to the ETCS instance having more than one value or having a value that is not an IRI.

EtcsInfillSKOS
type: SPARQLConstraint
affected property: etcsInfill
affected class: ETCS
scope: local
comment: Information about installed trackside equipment capable of transmitting infill information by loop or Global System for Mobile communications for Railways (GSM-R) for level 1 installations.
rinf index: 1.1.1.3.2.4
rinf index: 1.2.1.1.1.4
message: etcsInfill (1.1.1.3.2.4, 1.2.1.1.1.4): The ETCS {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-infills/.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:etcsInfill AS ?path) WHERE { $this era:etcsInfill ?concept . era:etcsInfill era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

EtcsInfillApplicability
type: SPARQLConstraint
affected property: etcsInfill
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 contains 1. Related to rule for etcsLevelType
rinf index: 1.1.1.3.2.4
rinf index: 1.2.1.1.1.4
message: etcsInfill (1.1.1.3.2.4, 1.2.1.1.1.4): The ETCS {$this} ({?thisLabel}), has a ETCS level type value of 1 which makes the etcsInfill parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsInfill AS ?path) WHERE { $this era:etcsLevelType <http://data.europa.eu/949/concepts/etcs-levels/20> . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsInfill ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsInfill } . }

EtcsMVersion
type: PropertyShape
affected property: etcsMVersion
affected class: ETCS
scope: local
comment: ETCS_M version according to SRS 7.5.1.9
rinf index: 1.1.1.3.2.10
rinf index: 1.2.1.1.1.10
path: etcsMVersion
max count: 1
node kind: IRI
severity: Violation
message: etcsMVersion (1.1.1.3.2.10, 1.2.1.1.1.10): The ETCS has at most one ETCS_M version value and it must be an IRI. This error is due to the ETCS having more than one value or having a value that is not an IRI.

EtcsMVersionSKOS
type: SPARQLConstraint
affected property: etcsMVersion
affected class: ETCS
scope: local
comment: ETCS_M version according to SRS 7.5.1.9
rinf index: 1.1.1.3.2.10
message: Indication of the etcsMVersion (1.1.1.3.2.10, 1.1.1.3.2.10):): The ETCS {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-m-versions/ETCSMVersions.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:etcsMVersion AS ?path) WHERE { $this era:etcsMVersion ?concept . era:etcsMVersion era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

EtcsMVersionApplicability
type: SPARQLConstraint
affected property: etcsMVersion
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 contains 1. Related to rule for etcsLevelType
rinf index: 1.1.1.3.2.10
rinf index: 1.2.1.1.1.10
message: etcsMVersion (1.1.1.3.2.10, 1.2.1.1.1.10): The ETCS {$this} ({?thisLabel}), has a ETCS level type '1' which makes the etcsMVersion parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsMVersion AS ?path) WHERE { $this era:etcsLevelType <http://data.europa.eu/949/concepts/etcs-levels/20> . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsMVersion ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsMVersion } . }

EtcsLevelType
type: PropertyShape
affected property: etcsLevelType
affected class: ETCS
scope: local
comment: Indicates the type associated as a SKOS concept from the era:ETCSLevel related to the track side equipment.
rinf index: 1.1.1.3.2.1
rinf index: 1.2.1.1.1.1
path: etcsLevelType
max count: 1
node kind: IRI
severity: Violation
message: etcsLevelType (1.1.1.3.2.1, 1.2.1.1.1.1): The ETCS has at most one etcsLevelType value and it must be an IRI. This error is due to the ETCS having more than one value or having a value that is not an IRI.

EtcsLevelTypeSKOS
type: SPARQLConstraint
affected property: etcsLevelType
affected class: ETCS
scope: local
comment: Indicates the type associated as a SKOS concept from the era:ETCSLevel related to the track side equipment.
rinf index: 1.1.1.3.2.10
rinf index: 1.2.1.1.1.1
message: Indication of the etcsLevelType (1.1.1.3.2.1, 1.2.1.1.1.1): The ETCS {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-levels/.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:etcsLevelType AS ?path) WHERE { $this era:etcsLevelType ?concept . era:etcsLevelType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

EtcsTransmitsTrackConditions
type: PropertyShape
affected property: etcsTransmitsTrackConditions
affected class: ETCS
scope: local
comment: If the trackside does not provide Track Conditions, the driver will need to be informed about such conditions via alternative methods.
rinf index: 1.1.1.3.2.12
rinf index: 1.2.1.1.1.12
path: etcsTransmitsTrackConditions
max count: 1
datatype: boolean
severity: Violation
message: etcsTransmitsTrackConditions (1.1.1.3.2.12, 1.2.1.1.1.12): Each Track may define the existence of ETCS trackside engineered to transmit Track Conditions. This error is due to having more than one value or having a value that is not Y/N (boolean).

EtcsTransmitsTrackConditionsApplicability
type: SPARQLConstraint
affected property: etcsTransmitsTrackConditions
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.12
rinf index: 1.2.1.1.1.12
message: etcsTransmitsTrackConditions (1.1.1.3.2.12.1, 1.2.1.1.1.12.1): The ETCS {$this} ({?thisLabel}), has a ETCS level type which makes the etcsTransmitsTrackConditions parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsTransmitsTrackConditions AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsTransmitsTrackConditions ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsTransmitsTrackConditions } . }

EtcsTransmittedTrackConditions
type: PropertyShape
affected property: etcsTransmittedTrackConditions
affected class: ETCS
scope: local
comment: Transmittable track conditions by the CCSSubsystem, as per CCS TSI.
rinf index: 1.1.1.3.2.12.1
rinf index: 1.2.1.1.1.12.1
path: etcsTransmittedTrackConditions
max count: 1
node kind: IRI
severity: Violation
message: etcsTransmittedTrackConditions (1.1.1.3.2.12.1, 1.2.1.1.1.12.1): The ETCS has at most one etcsTransmittedTrackConditions value and it must be an IRI. This error is due to the ETCS having more than one value or having a value that is not an IRI.

EtcsTransmittedTrackConditionsSKOS
type: SPARQLConstraint
affected property: etcsTransmittedTrackConditions
affected class: ETCS
scope: local
comment: Transmittable track conditions by the CCSSubsystem, as per CCS TSI.
rinf index: 1.1.1.3.2.12.1
rinf index: 1.2.1.1.1.12.1
message: etcsTransmittedTrackConditions (1.1.1.3.2.12.1, 1.2.1.1.1.12.1): The ETCS {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-transmitted-tcs/TransmittedTrackConditions.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:etcsTransmittedTrackConditions AS ?path) WHERE { $this era:etcsTransmittedTrackConditions ?concept . era:etcsTransmittedTrackConditions era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

EtcsTransmittedTrackConditionsApplicability
type: SPARQLConstraint
affected property: etcsTransmittedTrackConditions
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.12.1
rinf index: 1.2.1.1.1.12.1
message: etcsTransmittedTrackConditions (1.1.1.3.2.12.1, 1.2.1.1.1.12.1): The ETCS {$this} ({?thisLabel}), has a ETCS level type which makes the etcsTransmittedTrackConditions parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsTransmittedTrackConditions AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsTransmittedTrackConditions ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsTransmittedTrackConditions } . }

EtcsSystemCompatibility
type: PropertyShape
affected property: etcsSystemCompatibility
affected class: ETCS
scope: local
comment: ETCS requirements used for demonstrating technical compatibility.
rinf index: 1.1.1.3.2.9
rinf index: 1.2.1.1.1.9
path: etcsSystemCompatibility
node kind: IRI
severity: Violation
message: etcsSystemCompatibility (1.1.1.3.2.9, 1.2.1.1.1.9): The ETCS has a etcsSystemCompatibility value that must be an IRI. This error is due to the ETCS having a value that is not an IRI.

EtcsSystemCompatibilitySKOS
type: SPARQLConstraint
affected property: etcsSystemCompatibility
affected class: ETCS
scope: local
comment: ETCS requirements used for demonstrating technical compatibility.
rinf index: 1.1.1.3.2.9
rinf index: 1.2.1.1.1.9
message: etcsSystemCompatibility (1.1.1.3.2.9, 1.2.1.1.1.9): The ETCS {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-system-compatibilities/ETCSSystemCompatibilities.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:etcsSystemCompatibility AS ?path) WHERE { $this era:etcsSystemCompatibility ?concept . era:etcsSystemCompatibility era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

EtcsSystemCompatibilityApplicability
type: SPARQLConstraint
affected property: etcsSystemCompatibility
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.9
rinf index: 1.2.1.1.1.9
message: etcsSystemCompatibility (1.1.1.3.2.9, 1.2.1.1.1.9): The ETCS {$this} ({?thisLabel}), has a ETCS level type which makes the etcsSystemCompatibility parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsSystemCompatibility AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsSystemCompatibility ?value } . }

ChangeRequestPreventsService
type: PropertyShape
affected property: changeRequestPreventsService
affected class: ERTMSErrorChangeRequest
scope: local
comment: Indicates whether the given ERTMS error change request may prevent the system from providing normal service if not implemented or applied.
path: changeRequestPreventsService
datatype: boolean
max count: 1
severity: Violation
message: changeRequestPreventsService: Indicates whether the given ERTMS error change request may prevent the system from providing normal service if not implemented or applied. This error is due to having more than one value for this property or having a value that is not a boolean.

Validity
type: PropertyShape
affected class: Feature
affected property: validity
scope: local
comment: Relates a feature with a temporal feature to indicate a validity period.
path: validity
class: TemporalFeature
severity: Violation
message: validity: The feature has a validity value that points to an instance of TemporalFeature. This error is due to having a value that is not an instance of TemporalFeature.

HasGeometry
type: PropertyShape
affected class: Feature
affected property: hasGeometry
scope: local
comment: Geographical coordinates in decimal degrees normally given for the centre of the OP.
rinf index: 1.2.0.0.0.5
rinf index: 1.1.0.0.1.1
rinf index: 1.1.1.0.1.1
rinf index: 1.1.1.3.14.6
rinf index: 1.2.1.0.8.5
path: hasGeometry
max count: 1
node kind: IRI
class: Geometry
severity: Violation
message: hasGeometry (1.2.0.0.0.5): Each feature must have at most one location. This error may be due to having a feature with more than one location or having a value that is not a geosparql:Geometry.

AsWKT
type: PropertyShape
affected class: Geometry
affected property: asWKT
scope: local
path: asWKT
max count: 1
datatype: wktLiteral
severity: Violation
message: geosparql:Geometry. This error may be due to having a Geometry with more than one asWKT property or its value is not of the wktLiteral type.

AsWKTFutureRequired
type: PropertyShape
affected property: asWKT
affected class: Geometry
scope: local
path: asWKT
min count: 1
severity: Warning
message: This property is not yet required but will be 12 months after publication of Article 7 Guide.

TracksideHabd
type: PropertyShape
affected property: tracksideHabd
affected class: RunningTrack
scope: local
comment: Link between the running track and the HABD, covering the RINF parameters 1.1.1.1.7.(5-9).
path: tracksideHabd
class: HABD
severity: Violation
message: tracksideHabd: The track may have hot axle box detector (HABD) references and each must be an instance of HABD. This error may be due to having a value that is not an instance of HABD.

HotAxleBoxDetectorDirection
type: PropertyShape
affected property: hotAxleBoxDetectorDirection
affected class: HABD
scope: local
comment: Direction of measurement of the trackside HABD.
rinf index: 1.1.1.1.7.9
path: hotAxleBoxDetectorDirection
max count: 1
node kind: IRI
class: Concept
severity: Violation
message: hotAxleBoxDetectorDirection (1.1.1.1.7.9): The HABD must have at most one direction of measurement of the hot axle box detector value that is an IRI. This error may be due to HABD having more than one value of hot axle box detector direction, or having a value that is not an IRI.

HotAxleBoxDetectorDirectionSKOS
type: SPARQLConstraint
affected property: hotAxleBoxDetectorDirection
affected class: HABD
scope: local
comment: Direction of measurement of the trackside HABD.
rinf index: 1.1.1.1.7.9
message: Indication of the hotAxleBoxDetectorDirection (1.1.1.1.7.9):): The HABD {$this} has a value {?concept} through the era:hotAxleBoxDetectorDirection property that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/hot-axle-box-detector-direction/HotAxleBoxDetectorDirections.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:hotAxleBoxDetectorDirection AS ?path) WHERE { $this era:hotAxleBoxDetectorDirection ?concept . era:hotAxleBoxDetectorDirection era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

HotAxleBoxDetectorDirectionApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorDirection
affected class: HABD
scope: local
comment: Specific for the French Italian and Swedish networks. If the direction of measurement is: - the same as the direction defined by the start and end of the SoL: (N); - the opposite to the direction defined by the start and end of the SoL: (O); - both directions: (B). “Y” if the answer to parameter 1.1.1.1.7.5 is “N”.
rinf index: 1.1.1.1.7.9
message: hotAxleBoxDetectorDirection (1.1.1.1.7.9): This error is due to HABD {?label}, violating the rule: “Y” if the answer to parameter 1.1.1.1.7.5 is “N”
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?label (era:hotAxleBoxDetectorDirection AS ?path) WHERE { $this rdfs:label ?label . $this era:hotAxleBoxDetectorTSICompliant false . FILTER NOT EXISTS {$this era:hotAxleBoxDetectorDirection ?value} . }

HotAxleBoxDetectorDirectionCountryApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorDirection
affected class: HABD
message: hotAxleBoxDetectorDirection: This property may only be used for HotAxleBoxDetectors located in France, Sweden, or Italy.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX eu-country: <http://publications.europa.eu/resource/authority/country/> SELECT $this ?val (era:hotAxleBoxDetectorDirection AS ?path) WHERE { $this a era:HABD ; era:hotAxleBoxDetectorDirection ?val . { ?parent era:tracksideHabd $this ; era:inCountry ?country . } FILTER (?country NOT IN ( eu-country:FRA, eu-country:SWE, eu-country:ITA )) }

HotAxleBoxDetectorGeneration
type: PropertyShape
affected property: hotAxleBoxDetectorGeneration
affected class: HABD
scope: local
comment: Applicable if trackside HABD is not TSI compliant. Generation of the trackside HABD.
rinf index: 1.1.1.1.7.7
path: hotAxleBoxDetectorGeneration
datatype: string
max count: 1
severity: Violation
message: hotAxleBoxDetectorGeneration (1.1.1.1.7.7): The HABD must have at most one generation of the hot axle box detector value that is a string of characters. This error may be due to having more than one value or having a value that is not a string.

HotAxleBoxDetectorGenerationApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorGeneration
affected class: HABD
scope: local
comment: Specific for the French Italian and Swedish networks. Generation of trackside hot axle box detector. “Y” if the answer to parameter 1.1.1.1.7.5 is “N”
rinf index: 1.1.1.1.7.7
message: hotAxleBoxDetectorGeneration (1.1.1.1.7.7): This error is due to HABD {?label}, violating the rule: “Y” if the answer to parameter 1.1.1.1.7.5 is “N”
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?label (era:hotAxleBoxDetectorGeneration AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:hotAxleBoxDetectorTSICompliant false . FILTER NOT EXISTS {$this era:hotAxleBoxDetectorGeneration ?value} . }

HotAxleBoxDetectorGenerationCountryApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorGeneration
affected class: HABD
message: hotAxleBoxDetectorGeneration: This property may only be used for HotAxleBoxDetectors located in France, Sweden, or Italy.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX eu-country: <http://publications.europa.eu/resource/authority/country/> SELECT ?this (era:hotAxleBoxDetectorGeneration AS ?path) WHERE { ?this a era:HABD ; era:hotAxleBoxDetectorGeneration ?val . { ?parent era:tracksideHabd ?this ; era:inCountry ?country . } FILTER (?country NOT IN ( eu-country:FRA, eu-country:SWE, eu-country:ITA )) }

HotAxleBoxDetectorIdentification
type: PropertyShape
affected property: hotAxleBoxDetectorIdentification
affected class: HABD
scope: local
comment: Specific for the French, Italian and Swedish networks. Applicable if trackside HABD is not TSI compliant. Identification of the trackside HABD.
rinf index: 1.1.1.1.7.6
path: hotAxleBoxDetectorIdentification
max count: 1
datatype: string
severity: Warning
message: hotAxleBoxDetectorIdentification (1.1.1.1.7.6): The HABD must have at most one value that defines the identification of the hot axle box detector and the value is a character string. This error may be due to having more than one value or having a value that is not a string.

HotAxleBoxDetectorIdentificationApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorIdentification
affected class: HABD
scope: local
comment: Specific for the French Italian and Swedish networks. Applicable if trackside HABD is not TSI compliant, identification of trackside hot axle box detector.@en
rinf index: 1.1.1.1.7.6
message: hotAxleBoxDetectorIdentification (1.1.1.1.7.6): This error is due to HABD {?label}, violating the rule: “Y” if the answer to parameter 1.1.1.1.7.5 is “N”
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?label (era:hotAxleBoxDetectorIdentification AS ?path) WHERE { $this rdfs:label ?label . $this era:hotAxleBoxDetectorTSICompliant false . FILTER NOT EXISTS {$this era:hotAxleBoxDetectorIdentification ?value} . }

HotAxleBoxDetectorIdentificationCountryApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorIdentification
affected class: HABD
message: hotAxleBoxDetectorIdentification: This property may only be used for HotAxleBoxDetectors located in France, Sweden, or Italy.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX eu-country: <http://publications.europa.eu/resource/authority/country/> SELECT ?this (era:hotAxleBoxDetectorIdentification AS ?path) WHERE { ?this a era:HABD ; era:hotAxleBoxDetectorIdentification ?val . { ?parent era:tracksideHabd ?this ; era:inCountry ?country . } FILTER (?country NOT IN ( eu-country:FRA, eu-country:SWE, eu-country:ITA )) }

HotAxleBoxDetectorLocation
type: PropertyShape
affected property: hotAxleBoxDetectorLocation
affected class: HABD
scope: local
comment: Applicable if trackside HABD is not TSI compliant. Location of the trackside HABD.
rinf index: 1.1.1.1.7.8
path: hotAxleBoxDetectorLocation
datatype: double
pattern: ^(\+|\-)?([1-9]\d{1,3}|[0-9])\.\d{1,3}$
severity: Violation
message: hotAxleBoxDetectorLocation (1.1.1.1.7.8): The HABD has a location of the hot axle box detector(s) value that must be a double (real) number with format [±NNNN.NNN]. This error may be due to having a value that is not a double (real) number or does not follow the pattern [±NNNN.NNN].

HotAxleBoxDetectorLocationApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorLocation
affected class: HABD
scope: local
comment: Specific for the French Italian and Swedish networks. Applicable if trackside HABD is not TSI compliant, localisation of trackside hot axle box detector.
rinf index: 1.1.1.1.7.8
message: hotAxleBoxDetectorLocation (1.1.1.1.7.8): This error is due to the HABD {?label}, violating the rule: “Y” if the answer to parameter 1.1.1.1.7.5 is “N”
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?label (era:hotAxleBoxDetectorLocation AS ?path) WHERE { $this rdfs:label ?label . $this era:hotAxleBoxDetectorTSICompliant false . FILTER NOT EXISTS {$this era:hotAxleBoxDetectorLocation ?value} . }

HotAxleBoxDetectorLocationCountryApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorLocation
affected class: HABD
message: hotAxleBoxDetectorLocation: This property may only be used for HotAxleBoxDetectors located in France, Sweden, or Italy.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX eu-country: <http://publications.europa.eu/resource/authority/country/> SELECT ?this (era:hotAxleBoxDetectorLocation AS ?path) WHERE { ?this a era:HABD ; era:hotAxleBoxDetectorLocation ?val . { ?parent era:tracksideHabd ?this ; era:inCountry ?country . } FILTER (?country NOT IN ( eu-country:FRA, eu-country:SWE, eu-country:ITA )) }

HotAxleBoxDetectorTSICompliant
type: PropertyShape
affected property: hotAxleBoxDetectorTSICompliant
affected class: HABD
scope: local
comment: Trackside HABD compilant to TSI means that the HABD is compliant with EN 15437:2009 and specific cases mentioned in TSIs.
rinf index: 1.1.1.1.7.5
path: hotAxleBoxDetectorTSICompliant
max count: 1
datatype: boolean
severity: Violation
message: hotAxleBoxDetectorTSICompliant (1.1.1.1.7.5): The HABD must have at most one value that defines if the hot axle box detector is TSI compliant and the value is Y/N (boolean). This error may be due to having more than one value or having a value that is not Y/N (boolean).

HotAxleBoxDetectorTSICompliantCountryApplicability
type: SPARQLConstraint
affected property: hotAxleBoxDetectorTSICompliant
affected class: HABD
message: hotAxleBoxDetectorTSICompliant: This property may only be used for HotAxleBoxDetectors located in France, Sweden, or Italy.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX eu-country: <http://publications.europa.eu/resource/authority/country/> SELECT ?this (era:hotAxleBoxDetectorTSICompliant AS ?path) WHERE { ?this a era:HABD ; era:hotAxleBoxDetectorTSICompliant ?val . { ?parent era:tracksideHabd ?this ; era:inCountry ?country . } FILTER (?country NOT IN ( eu-country:FRA, eu-country:SWE, eu-country:ITA )) }

RdfsLabel
type: PropertyShape
affected property: label
scope: local
path: label
datatype: langString
node kind: Literal
unique lang: true
severity: Violation
message: rdfs:label: Each element must have at least one label in English (@en). Additional multilingual labels are allowed, but only one value per language tag is permitted. All values must be language-tagged string literals.
sparql: LangStringEnRequired

InfrastructureManager
type: PropertyShape
affected property: infrastructureManager
affected class: CommonCharacteristicsSubset
affected class: InfrastructureElement
scope: local
comment: Relates a subset with common characteristics with its IM, represented by an instance of organisation role.
path: infrastructureManager
class: OrganisationRole
severity: Violation
message: infrastructureManager: The subset with common characteristics must refer to an infrastructure manager that is an instance of OrganisationRole. This error may be due to having a value that is not an instance of OrganisationRole.

InfrastructureManagerSKOSValue
type: SPARQLConstraint
affected property: hasOrganisationRole
affected property: infrastructureManager
affected property: belongsTo
affected class: InfrastructureElement
affected class: CommonCharacteristicsSubset
affected class: OrganisationRole
scope: local
comment: Each infrastructure element can only be submitted by one infrastructure manager, represented by a four-digit code.
rinf index: 1.2.1.0.6.1
rinf index: 1.1.0.0.0.1
rinf index: 1.1.1.1.8.1
rinf index: 1.2.1.0.0.1
rinf index: 1.2.1.0.5.1
rinf index: 1.2.2.0.0.1
rinf index: 1.2.2.0.5.1
message: imCode (1.2.1.0.6.1): Each infrastructure element {$this} with label {?label} refers to a network (subset with common characteristics), that in turn refers to an instance of an OrganisationRole. This instance must have an era:organisationRole pointing to the value era-organisation-roles:IM in the orgRoles SKOS concept scheme. The error is due to a {?value} different from <http://data.europa.eu/949/concepts/organisation-roles/IM>
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?label ?value (era:hasOrganisationRole AS ?path) WHERE { $this a era:InfrastructureElement . $this era:belongsTo ?subset . ?subset era:infrastructureManager ?orgRole . ?orgRole era:hasOrganisationRole ?value . OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER(?value != <http://data.europa.eu/949/concepts/organisation-roles/IM>) . }

InCountry
type: PropertyShape
affected property: inCountry
affected class: InfrastructureElement
scope: local
comment: Indicates the country to which the infrastructure element belongs
path: inCountry
max count: 1
node kind: IRI
severity: Violation
message: inCountry: Each infrastructure element must have exactly one country. This error may be due to having an infrast without or with more than one country or it value is not a Concept.

InCountrySKOS
type: SPARQLConstraint
affected property: inCountry
affected class: InfrastructureElement
scope: local
comment: Indicates the country to which the infrastructure element belongs
message: The infrastructure element {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://publications.europa.eu/resource/authority/country.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:inCountry AS ?path) WHERE { $this era:inCountry ?concept . FILTER NOT EXISTS{ ?concept skos:inScheme <http://publications.europa.eu/resource/authority/country> . } }

ParameterApplicability
type: PropertyShape
affected class: InfrastructureElement
affected property: parameterApplicability
scope: local
comment: Applicability interval that defines the date interval in which a characteristic of an infrastructure element is applicable. This interval can be applied for any of the technical characteristics or general information of infrastructure elements. This helps identifying planned changes applied to technical parameters over time.
path: parameterApplicability
class: ParameterApplicability
severity: Violation
message: parameterApplicability: The infratructure element may have a parameterApplicability reference that must be an instance of ParameterApplicability. This error is due to having having a value that is not an instance of ParameterApplicability.

BelongsToUniqueIM
type: SPARQLConstraint
affected property: belongsTo
affected property: organisationCode
affected property: infrastructureManager
affected class: InfrastructureElement
affected class: CommonCharacteristicsSubset
affected class: OrganisationRole
affected class: Body
scope: local
comment: Each infrastructure element may belong to several common characteristics subsets, and each of them must point to the same infrastructure manager (same organisationCode in the Body linked via OrganisationRole/roleOf).
message: belongsTo, organisationCode, infrastructureElement: This error is due to {$this} belonging to several common characteristics subsets, {?subset1Label}, {?subset2Label} that do not point to the same infrastructure manager (different organisationCodes on the roleOf Body), {?orgCode1}, {?orgCode2}.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?subset1Label ?subset2Label ?orgCode1 ?orgCode2 (era:belongsTo AS ?path) WHERE { $this era:belongsTo ?subset1 . $this era:belongsTo ?subset2 . FILTER(?subset1 != ?subset2) . FILTER(STR(?subset1) < STR(?subset2)) . ?subset1 era:infrastructureManager ?orgRole1 . ?subset2 era:infrastructureManager ?orgRole2 . ?orgRole1 era:roleOf ?body1 . ?orgRole2 era:roleOf ?body2 . ?body1 era:organisationCode ?orgCode1 . ?body2 era:organisationCode ?orgCode2 . FILTER(?orgCode1 != ?orgCode2) . OPTIONAL { ?subset1 rdfs:label ?subset1Label0 } . BIND(COALESCE(?subset1Label0, "unknown label") AS ?subset1Label) OPTIONAL { ?subset2 rdfs:label ?subset2Label0 } . BIND(COALESCE(?subset2Label0, "unknown label") AS ?subset2Label) }

BelongsTo
type: PropertyShape
affected class: InfrastructureElement
affected property: belongsTo
scope: local
comment: Relationship between an infratructure element and a common characteristics subset.
path: belongsTo
class: CommonCharacteristicsSubset
severity: Violation
message: belongsTo: The infratructure element may belong to a common characteristics subset, a reference that must be an instance of CommonCharacteristicsSubset. This error is due to having a value that is not an instance of CommonCharacteristicsSubset.

Contains
type: PropertyShape
affected class: CommonCharacteristicsSubset
affected property: contains
scope: local
comment: Relationship between a common characteristics subset and an infrastructure element (inverse of belongsTo).
path: contains
class: InfrastructureElement
severity: Violation
message: contains: The subset with common characteristics may contain an infrastructure element, a reference that must be an instance of InfrastructureElement. This error is due having a value that is not an instance of InfrastructureElement.

NetReference
type: PropertyShape
affected class: InfrastructureElement
affected property: netReference
scope: local
comment: The reference that a physical insfrastructure element has it on the topology. It may be used to define the positioning or a representation as a point. line or area.
path: netReference
class: NetBasicReference
severity: Violation
message: netReference: The infratructure element must have a net reference that points to an instance of NetBasicReference. This error is due to having a value that is not an instance of NetBasicReference.

PrimaryLocation
type: PropertyShape
affected class: InfrastructureElement
affected property: primaryLocation
scope: local
comment: Primary location code developed for information exchange in accordance with the TSIs relating to the telematics applications subsystem.
path: primaryLocation
class: PrimaryLocation
node kind: IRI
severity: Violation
message: primaryLocation: The infrastructure element has a primaryLocation reference that must be an IRI that refers to an instance of PrimaryLocation.

HasPart
type: PropertyShape
affected class: InfrastructureElement
affected property: hasPart
scope: local
comment: Indicates that an infrastructure element is composed of one or more other (distinct) infrastructure elements.
path: hasPart
class: InfrastructureElement
node kind: IRI
severity: Violation
message: hasPart: The InfrastructureElement may have a hasPart reference that is an IRI that refers to an instance of InfrastructureElement. This error is due to having a value that is not an instance of InfrastructureElement.

IsPartOf
type: PropertyShape
affected class: InfrastructureElement
affected property: isPartOf
scope: local
comment: Indicates that an infrastructure element is a part of another (distinct) infrastructure element.
path: isPartOf
class: InfrastructureElement
node kind: IRI
severity: Violation
message: hasPart: The InfrastructureElement may have a isPartOf reference that is an IRI that refers to an instance of InfrastructureElement. This error is due to having a value that is not an instance of InfrastructureElement.

NotYetAvailableProperty
type: PropertyShape
affected property: notYetAvailable
affected class: InfrastructureElement
scope: local
path: notYetAvailable
comment: Reference to a property that is not provided.
node kind: IRI
or:
  class: ObjectProperty
or:
  class: DatatypeProperty
severity: Violation
message: The value of this property is a reference to an ontology property that is not provided and it must be an IRI. The error may be due to the property not belonging to the ERA ontology or the property not being an IRI.

NotApplicableProperty
type: PropertyShape
affected property: notApplicable
affected class: InfrastructureElement
scope: local
path: notApplicable
comment: Reference to a property that is not applicable.
node kind: IRI
or:
  class: ObjectProperty
or:
  class: DatatypeProperty
severity: Violation
message: The value of this property is a reference to an ontology property that is not provided and it must be an IRI. The error may be due to the property not belonging to the ERA ontology or the property not being an IRI.

SubsetOf
type: PropertyShape
affected class: CommonCharacteristicsSubset
affected property: subsetOf
scope: local
comment: Relates a subset with common chatacteristics with another subset with common characteristics.
path: subsetOf
class: CommonCharacteristicsSubset
node kind: IRI
severity: Violation
message: subsetOf: The common characteristics subset must have a subsetOf reference that is an IRI that refers to an instance of another common characteristics subset. This error is due to having a value that is not an instance of CommonCharacteristicsSubset.

ExemptSpecialVehiclesFromATO
type: PropertyShape
affected class: InfrastructureElement
affected property: exemptSpecialVehiclesFromATO
scope: local
comment: Indicates whether special vehicles are exempted from the need to install ATO (Automatic Train Operation).
path: exemptSpecialVehiclesFromATO
datatype: boolean
severity: Warning
message: exemptSpecialVehiclesFromATO: Value must be a boolean indicating whether special vehicles are exempt from ATO installation.

ExemptSpecialVehiclesFromRMR
type: PropertyShape
affected class: InfrastructureElement
affected property: exemptSpecialVehiclesFromRMR
scope: local
comment: Indicates whether special vehicles are exempted from the need to install RMR (Railway Mobile Radio).
path: exemptSpecialVehiclesFromRMR
datatype: boolean
severity: Warning
message: exemptSpecialVehiclesFromRMR: Value must be a boolean indicating whether special vehicles are exempt from RMR installation.

ExemptSpecialVehiclesFromETCS
type: PropertyShape
affected class: InfrastructureElement
affected property: exemptSpecialVehiclesFromETCS
scope: local
comment: Indicates whether special vehicles are exempted from the need to install ETCS (European Train Control System).
path: exemptSpecialVehiclesFromETCS
datatype: boolean
severity: Warning
message: exemptSpecialVehiclesFromETCS: Value must be a boolean indicating whether special vehicles are exempt from ETCS installation.

CanonicalURI
type: PropertyShape
affected class: InfrastructureElement
affected property: canonicalURI
scope: local
comment: Relates to the annotation for a canonical URI of an instance of Infrastructure and subclasses
path: canonicalURI
node kind: IRI
max count: 1
severity: Violation
message: canonicalURI: The canonical URI that is an IRI. This error is due to having a value that is not an IRI or having more than one value

OperatingLangague
type: PropertyShape
affected class: InfrastructureElement
affected property: operatingLanguage
rinf index: 1.1.0.0.1.2
rinf index: 1.2.0.0.0.8
scope: local
comment: Relates to the operating language used for an infastructure element
path: operatingLanguage
node kind: IRI
class: Concept
severity: Violation
message: operating language (1.1.0.0.1.2 , 1.2.0.0.0.8): The operating language thatthat is an IRI. This error is due to having a value that is not an IRI

OperatingLangagueSKOS
type: SPARQLConstraint
affected property: operatingLanguage
affected class: InfrastructureElement
scope: local
comment: Relates to the operating language used for an infastructure element
rinf index: 1.1.0.0.1.2
rinf index: 1.2.0.0.0.8
message: operating language (1.1.0.0.1.2 , 1.2.0.0.0.8): The operating language {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list:http://publications.europa.eu/resource/authority/language.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:operatingLanguage AS ?path) WHERE { $this era:operatingLanguage ?concept . era:operatingLanguage era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} ) }

SubsetName
type: PropertyShape
affected class: CommonCharacteristicsSubset
affected property: subsetName
scope: local
comment: A subset of elements with common characteristics could be identified with a unique name/id.
path: subsetName
datatype: langString
node kind: Literal
unique lang: true
severity: Violation
message: subsetName: Each Common Characteristics Subset may have a name. If it does, there should be at least one name in English (@en). Additional multilingual names are allowed, but only one value per language tag is permitted. All values must be language-tagged string literals.
sparql: LangStringEnRequiredIfPresent

Kilometer
type: PropertyShape
affected class: KilometricPost
affected property: kilometer
scope: local
comment: Distance measured in kilometers from the origin of a national railway line/route.
rinf index: 1.1.1.1.8.12.1
rinf index: 1.1.1.1.8.13.1
rinf index: 1.1.1.3.14.3
rinf index: 1.1.1.3.14.7
rinf index: 1.2.0.0.0.6
rinf index: 1.2.1.0.5.10.1
rinf index: 1.2.1.0.5.11.1
rinf index: 1.2.1.0.8.3
rinf index: 1.2.2.0.5.10.1
rinf index: 1.2.2.0.5.9.1
path: kilometer
datatype: double
severity: Violation
message: kilometer (1.1.1.1.8.12.1, 1.1.1.1.8.13.1, 1.1.1.3.14.3, 1.1.1.3.14.7, 1.2.0.0.0.6, 1.2.1.0.5.10.1, 1.2.1.0.5.11.1, 1.2.1.0.8.3, 1.2.2.0.5.10.1, 1.2.2.0.5.9.1): The kilometer must be represented as a double number.

KmPostName
type: PropertyShape
affected class: KilometricPost
affected property: kmPostName
scope: local
comment: Name of the kilometric post (optional).
path: kmPostName
datatype: string
severity: Violation
message: kmPostName: The kilometer post name must be represented as a string of characters.

HasLRS
type: PropertyShape
affected property: hasLRS
affected class: KilometricPost
scope: local
comment: Specifies the linear referencing system to which the kilometre post is referenced.
path: hasLRS
class: LinearPositioningSystem
severity: Violation
message: hasLRS: The kilometric post must reference a LinearPositioningSystem. This error is due to having a value that is not an instance of LinearPositioningSystem.

MeasuredDistance
type: PropertyShape
affected class: KilometricPost
affected property: measuredDistance
scope: local
comment: Measured distance from the origin of the LRS.
path: measuredDistance
datatype: double
severity: Violation
message: measuredDistance: The kilometer post measured distance must be represented as a double number.

Aggregates
type: PropertyShape
affected class: NonLinearElement
affected property: aggregates
scope: local
comment: Specifies the linear elements aggregated by a non-linear element.
path: aggregates
class: LinearElement
severity: Violation
message: aggregates: The non linear element may aggregate only linear elements. This error is due having a value that is not an instance of LinearElement.

ElementA
type: PropertyShape
affected class: NetRelation
affected property: elementA
scope: local
comment: References the first topological element in an oriented relation. For example, it may indicate the object that corresponds to a section of line, an operational point or a track inside an operational point connected at start.
path: elementA
class: LinearElement
severity: Violation
message: elementA: The net relation references the first topological object that must be an instance of a linear element. This error is due having a value that is not an instance of LinearElement.

ElementB
type: PropertyShape
affected class: NetRelation
affected property: elementB
scope: local
comment: References the second topological linear element in an oriented relation. For example, it may indicate the object that corresponds to a section of line, an operational point or a track inside an operational point connected at end.
path: elementB
class: LinearElement
severity: Violation
message: elementB: The net relation references the second topological object that must be an instance of a linear element. This error is due having a value that is not an instance of LinearElement.

Navigability
type: PropertyShape
affected property: navigability
affected class: NetRelation
scope: local
comment: Indicates the navigation possibilities between two related topological linear elements.
path: navigability
node kind: IRI
severity: Violation
message: navigability: The net relation must have a navigability value that is an IRI.

NavigabilitySKOS
type: SPARQLConstraint
affected property: navigability
affected class: NetRelation
scope: local
comment: Indicates the navigation possibilities between two related topological linear elements.
message: era:navigability: The net relation {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/navigabilities/Navigabilities.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:navigability AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:navigability ?concept . era:navigability era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

OnElement
type: PropertyShape
affected class: LinearElementSection
affected property: onElement
scope: local
comment: Specifies the linear element a section belongs to.
path: onElement
class: LinearElement
severity: Violation
message: onElement: The linear element section specifies the linear element it belongs to. This error is due having a value that is not an instance of LinearElement.

OnLinearElement
type: PropertyShape
affected class: TopologicalCoordinate
affected property: onLinearElement
scope: local
comment: Specifies the linear element a coordinate is associated with.
path: onLinearElement
class: LinearElement
severity: Violation
message: onLinearElement: The topological coordinate specifies the linear element it belongs to. This error is due having a value that is not an instance of LinearElement.

AppliesInBothDirections
type: PropertyShape
affected class: LinearElementSection
affected property: appliesInBothDirections
scope: local
comment: Specifies if the section applies in both directions (optional).
path: appliesInBothDirections
datatype: boolean
max count: 1
severity: Violation
message: appliesInBothDirections: The linear element section specifies if the section applies in both directions (optional). This error is due having a value that is not a boolean.

EndOffsetFromOrigin
type: PropertyShape
affected class: LinearElementSection
affected property: endOffsetFromOrigin
scope: local
comment: End offset of the section from the origin.
path: endOffsetFromOrigin
max count: 1
min count: 1
datatype: double
pattern: ^[1-9][0-9]*(\.0+)?$
severity: Violation
message: endOffsetFromOrigin: The linear element section specifies the end offset of the section from the origin. This error is due having a value that is not a positive integer or more than one value.

IsOnOriginOfElementA
type: PropertyShape
affected class: NetRelation
affected property: isOnOriginOfElementA
scope: local
comment: Determines if the position of the topological element A in a relation is the origin of element A.
path: isOnOriginOfElementA
datatype: boolean
severity: Violation
message: isOnOriginOfElementA: The net relation specifies if the position of the topological element A in a relation is the origin of element A. This error is due having a value that is not a boolean.

IsOnOriginOfElementB
type: PropertyShape
affected class: NetRelation
affected property: isOnOriginOfElementB
scope: local
comment: Determines if the position of the topological element B in a relation is the origin of element B.
path: isOnOriginOfElementB
datatype: boolean
severity: Violation
message: isOnOriginOfElementB: The net relation specifies if the position of the topological element B in a relation is the origin of element B. This error is due having a value that is not a boolean.

LengthOfNetLinearElement
type: PropertyShape
affected class: LinearElement
affected property: lengthOfNetLinearElement
scope: local
comment: Length of a linear element.
path: lengthOfNetLinearElement
max count: 1
datatype: double
severity: Violation
message: lengthOfNetLinearElement: The linear element has at most one value of length and it is a double number. This error is due to having more than one value or that the value is not a double number.

LengthOfNonStoppingArea
type: PropertyShape
affected property: lengthOfNonStoppingArea
affected class: LinearElement
scope: local
comment: Length of a Non-stopping area.
rinf index: 1.1.1.3.14.5
path: lengthOfNonStoppingArea
max count: 1
datatype: double
severity: Violation
message: lengthOfNonStoppingArea (1.1.1.3.14.5): The linear element has at most one length of non-stopping area value and it must be a double number. This error is due to having more than one value or that the value is not a double number.

OffsetFromOrigin
type: PropertyShape
affected class: TopologicalCoordinate
affected property: offsetFromOrigin
scope: local
comment: Offset from the origin in a topological coordinate.
path: offsetFromOrigin
datatype: double
min inclusive: 0
min count: 1
max count: 1
severity: Violation
message: offsetFromOrigin: The offset from the origin in a topological coordinate must be represented as a non-negative double. This error is due to having more than one value, a negative value, or using the wrong datatype.

StartOffsetFromOrigin
type: PropertyShape
affected class: LinearElementSection
affected property: startOffsetFromOrigin
scope: local
comment: Start offset of the section from the origin.
path: startOffsetFromOrigin
datatype: double
min count: 1
max count: 1
pattern: ^[1-9][0-9]*(\.0+)?$
severity: Violation
message: startOffsetFromOrigin: The start offset of the section from the origin must be represented as a positive integer or more than one value.

NoRepeatedTrackIdsOP
type: SPARQLConstraint
affected property: trackId
affected class: RunningTrack
affected class: OperationalPoint
scope: global
comment: Each track shall have unique identification or number within the OP. This number cannot be used for naming any other track in the same OP.
rinf index: 1.2.1.0.0.2
message: trackId (1.2.1.0.0.2):: Each track shall have unique identification or number within the OP. This number cannot be used for naming any other track in the same OP. There is a problem with OP {$this} ({?opLabel}) and tracks {?track1} ({?track1Label}) and {?track2} ({?track2Label}), since they have the same identifier: {?value}.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?opLabel ?track1 ?track1Label ?track2 ?track2Label ?value (era:trackId AS ?path) WHERE { $this a era:OperationalPoint ; era:hasPart ?track1 ; era:canonicalURI ?cano1 . $this a era:OperationalPoint ; era:hasPart ?track2 ; era:canonicalURI ?cano2 . ?track1 era:trackId ?value . ?track2 era:trackId ?value . FILTER(?track1 != ?track2) . FILTER(?cano1 != ?cano2) . OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) OPTIONAL { ?track1 rdfs:label ?track1Label0 } . BIND(COALESCE(?track1Label0, "unknown label") AS ?track1Label) OPTIONAL { ?track2 rdfs:label ?track2Label0 } . BIND(COALESCE(?track2Label0, "unknown label") AS ?track2Label) }

OpName
type: PropertyShape
affected class: OperationalPoint
affected property: opName
scope: local
comment: Name normally related to the town or village or to traffic control purpose.
rinf index: 1.2.0.0.0.1
path: opName
datatype: langString
node kind: Literal
unique lang: true
severity: Violation
message: opName (1.2.0.0.0.1): Each Operational Point must have at least one name in English (@en). Additional multilingual names are allowed, but only one value per language tag is permitted. All values must be language-tagged string literals.
sparql: LangStringEnRequired

UopidP
type: PropertyShape
affected class: OperationalPoint
affected property: uopid
scope: local
comment: Code composed of country code and alphanumeric OP code.
rinf index: 1.2.0.0.0.2
path: uopid
min count: 1
max count: 1
datatype: string
pattern: ^[A-Z]{2}.{0,10}$
severity: Violation
message: uopid (1.2.0.0.0.2): This error is due to having more than one op id, not having an op id, having a value that is not a string, or having a value that does not follow the pattern where the first part 'AA' is the country code in two-letter system of ISO (or 'EU' for border points) and the second part is the alphanumeric OP code within the MS.

OpTypeP
type: PropertyShape
affected class: OperationalPoint
affected property: opType
scope: local
comment: Type of facility in relation to the dominating operational functions.Each existing case has to be approximated to the one of the above defined types by including size, importance and dominating functions. It is most important to recognize the most important role of specific OP in the network. That is why only one type for one OP is permitted.
rinf index: 1.2.0.0.0.4
path: opType
min count: 1
max count: 1
node kind: IRI
severity: Violation
message: opType (1.2.0.0.0.4): Each Operational Point must have exactly one type. This error may be due to having an OP with no type or with more than one type, or its value is not an IRI.

OpTypeSKOS
type: SPARQLConstraint
affected class: OperationalPoint
affected property: opType
scope: local
comment: Type of facility in relation to the dominating operational functions. Each existing case has to be approximated to the one of the above defined types by including size, importance and dominating functions. It is most important to recognize the most important role of specific OP in the network. That is why only one type for one OP is permitted.
rinf index: 1.2.0.0.0.4
message: Type of operational point (1.2.0.0.0.4): The OP {$this} (label {?opLabel}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/op-types/OperationalPointTypes.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?opLabel (era:opType AS ?path) WHERE { OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) $this era:opType ?concept . era:opType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

OpTypeGaugeChangeover
type: PropertyShape
affected class: OperationalPoint
affected property: opTypeGaugeChangeover
scope: local
comment: Type of track gauge changeover facility.
rinf index: 1.2.0.0.0.4.1
path: opTypeGaugeChangeover
max count: 1
datatype: string
severity: Violation
message: opTypeGaugeChangeover (1.2.0.0.0.4.1): The Operational Point must have at most one value of opTypeGaugeChangeover and its type must be a string.

DigitalSchematicOverview
type: PropertyShape
affected class: OperationalPoint
affected property: digitalSchematicOverview
scope: local
comment: Diagrammatic representation of the operational point in Well Known Text polyline
rinf index: 1.2.0.0.0.7.2
path: digitalSchematicOverview
severity: Violation
datatype: wktLiteral
message: digitalSchematicOverview (1.2.0.0.0.7.2): The Operational Point has a digitalSchematicOverview reference that must be a Well Known Text literal.

HasSchematicOverviewOPDigitalForm
type: PropertyShape
affected class: OperationalPoint
affected property: hasSchematicOverviewOPDigitalForm
scope: local
comment: The existence of a schematic overview of the operational point in digital form.
rinf index: 1.2.0.0.0.7
path: hasSchematicOverviewOPDigitalForm
datatype: boolean
severity: Violation
message: hasSchematicOverviewOPDigitalForm (1.2.0.0.0.7): The Operational Point has a hasSchematicOverviewOPDigitalForm reference that must be a boolean.

SchematicOverviewOP
type: PropertyShape
affected property: schematicOverviewOP
affected class: OperationalPoint
scope: local
comment: Document providing the schematic overview of the operational point.
rinf index: 1.2.0.0.0.7.1
path: schematicOverviewOP
datatype: anyURI
severity: Violation
message: schematicOverviewOP (1.2.0.0.0.7.1): The Operational Point may have a schematic overview reference that must be a URI. This error may be due to having a value that is not a URI.

HasPartOP
type: SPARQLConstraint
affected class: OperationalPoint
affected property: hasPart
scope: local
comment: Reference from an aggregated element to a basic element.
severity: Violation
message: hasPart from an operational point: The Operational Point may have a hasPart reference that is an IRI referring to an InfrastructureElement (or one of its subclasses), or a KilometricPost object.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?this ?value (era:hasPart AS ?path) WHERE { ?this era:hasPart ?value . # Violation if value is not an IRI FILTER ( !isIRI(?value) || # Violation if value is an IRI but not typed as InfrastructureElement(+subclasses) nor KilometricPost !EXISTS { { ?value rdf:type ?t . ?t rdfs:subClassOf* era:InfrastructureElement . } UNION { ?value rdf:type era:KilometricPost . } } ) }

HasPartTrackOP
type: SPARQLConstraint
affected class: OperationalPoint
affected property: hasPart
message: Each Operational Point that is not a switch, a junction, a technical change, a depot or workshop, a passenger stop, or a border point must have a hasPart reference that is a Track object (or one of the subclasses: RunningTrack and Siding). This error is due to {$this} not having a hasPart reference to an instance of an era:Track (or a subclass).
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX era-op-types: <http://data.europa.eu/949/concepts/op-types/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?this (era:hasPart AS ?path) WHERE { ?this era:opType ?opType . FILTER (?opType NOT IN ( era-op-types:50, era-op-types:70, era-op-types:80, era-op-types:90, era-op-types:110, era-op-types:120, era-op-types:140 )) . FILTER NOT EXISTS { ?this era:hasPart ?part . ?part rdf:type/rdfs:subClassOf* era:Track . } }

BorderPointValidCode
type: SPARQLConstraint
affected class: OperationalPoint
affected property: uopid
scope: local
comment: Code composed of country code and alphanumeric OP code.
rinf index: 1.2.0.0.0.2
message: uopid (1.2.0.0.0.2): The OperationalPoint {$this} with id {?uopid} and label {?opLabel} is a border point that references a ReferenceBorderPoint, but its uopid does not match the borderPointId of the referenced point ('{?uopid}' ≠ '{?refId}').
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?uopid ?refId ?opLabel (era:uopid AS ?path) WHERE { $this era:opType <http://data.europa.eu/949/concepts/op-types/90> ; era:referenceBorderPoint ?refBP ; era:uopid ?uopid . ?refBP a era:ReferenceBorderPoint ; era:borderPointId ?refId . OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) FILTER (?uopid != ?refId) }

BorderPointValidCoordinates
type: SPARQLConstraint
affected class: OperationalPoint
affected property: asWKT
scope: local
comment: Coordinates must exactly match the referenced border point.
message: Coordinates: The OperationalPoint {$this} with label {?opLabel} is a border point whose coordinates do not match the referenced ReferenceBorderPoint. OP coordinates: {?opWKT} Reference coordinates: {?refWKT}
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX geo: <http://www.opengis.net/ont/geosparql#> SELECT DISTINCT $this ?opWKT ?refWKT ?opLabel (geo:asWKT AS ?path) WHERE { $this era:opType <http://data.europa.eu/949/concepts/op-types/90> ; era:referenceBorderPoint ?refBP ; geo:hasGeometry ?opGeom . ?opGeom geo:asWKT ?opWKT . ?refBP a era:ReferenceBorderPoint ; geo:hasGeometry ?refGeom . ?refGeom geo:asWKT ?refWKT . OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) FILTER (?opWKT != ?refWKT) }

ReferenceBorderPoint
type: PropertyShape
affected class: OperationalPoint
affected property: referenceBorderPoint
scope: local
comment: Relates an operational point that is a border point with an instance of the list of reference border points that are specified in the RINF Application Guide.
path: referenceBorderPoint
node kind: IRI
class: ReferenceBorderPoint
max count: 1
severity: Violation
message: referenceBorderPoint : The Operational Point may have a reference border point that is a ReferenceBorderPoint object. This error may be due to having more than one value of a reference border point, or having a value that is not a ReferenceBorderPoint instance.

BorderPointUopidPrefix
type: SPARQLConstraint
affected class: OperationalPoint
affected property: uopid
message: uopid (1.2.0.0.0.2-prefix): The OperationalPoint {$this} with name {?opName} is a border point but its uopid {?uopid} does not start with 'EU' as required.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?uopid ?opName (era:uopid AS ?path) WHERE { $this era:opType <http://data.europa.eu/949/concepts/op-types/90> . OPTIONAL { $this era:opName ?opName0 } . BIND(COALESCE(?opName0, "unknown label") AS ?opName) $this era:uopid ?uopid . FILTER(!STRSTARTS(STR(?uopid), "EU")) }

ReferenceBorderPointApplicability
type: SPARQLConstraint
affected class: OperationalPoint
affected property: referenceBorderPoint
message: referenceBorderPoint: The OperationalPoint {$this} with name {?opName} and uopid {?uopid} is a border point but does not have a referenceBorderPoint property.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?opName ?uopid (era:referenceBorderPoint AS ?path) WHERE { $this era:opType <http://data.europa.eu/949/concepts/op-types/90> . OPTIONAL { $this era:opName ?opName0 } . BIND(COALESCE(?opName0, "unknown label") AS ?opName) OPTIONAL { $this era:uopid ?uopid0 } BIND(COALESCE(?uopid0, "unknown uopid") AS ?uopid) FILTER NOT EXISTS { $this era:referenceBorderPoint ?refBP } }

NetReferenceOP
type: PropertyShape
affected property: netReference
affected class: OperationalPoint
scope: local
comment: The reference that an OperationalPoint has on the topology. It must point to an instance of NetBasicReference.
path: netReference
min count: 1
class: NetBasicReference
node kind: IRI
severity: Violation
message: netReference: Each OperationalPoint must have at least one netReference pointing to an instance of NetBasicReference. This error is due to not having a value or having a value that is not a NetBasicReference.

OrganisationRoleShape
type: NodeShape
target class: OrganisationRole
node kind: IRI
pattern: ^http://data\.europa\.eu/949/
message: OrganisationRole URI: The instance has a URI that does not follow the required pattern '^http://data.europa.eu/949/'. All instances of era:OrganisationRole must have URIs starting with http://data.europa.eu/949/.
property: RoleOf
property: HasOrganisationRole
sparql: HasOrganisationRoleSKOS

BodyShape
property: OrganisationCode
property: Role
type: NodeShape
target class: Body
node kind: IRI
pattern: ^http://data\.europa\.eu/949/
message: Body URI: The instance has a URI that does not follow the required pattern '^http://data.europa.eu/949/'. All instances of era:Body must have URIs starting with http://data.europa.eu/949/.
property: ChangeActivity
property: AlternativeCode
property: Creator

OrganisationCode
type: PropertyShape
affected class: Body
affected property: organisationCode
scope: local
comment: Four alpha-numeric code allocated by ERA to a body. It represent's the Infrastructure Manager (IM) code in RINF. Infrastructure manager means any body or firm responsible in particular for establishing, managing and maintaining railway infrastructure, including traffic management and control-command and signalling; the functions of the infrastructure manager on a network or part of a network may be allocated to different bodies or firms. Definition in (Article 3(2)).
rinf index: 1.2.1.0.6.1
rinf index: 1.1.0.0.0.1
rinf index: 1.1.1.1.8.1
rinf index: 1.2.1.0.0.1
rinf index: 1.2.1.0.5.1
rinf index: 1.2.2.0.0.1
rinf index: 1.2.2.0.5.1
path: organisationCode
datatype: string
min count: 1
max count: 1
min length: 4
max length: 4
severity: Violation
message: organisationCode (1.2.1.0.6.1, 1.1.0.0.0.1, 1.1.1.1.8.1, 1.2.1.0.0.1, 1.2.1.0.5.1, 1.2.2.0.0.1, 1.2.2.0.5.1): A Body must have exactly one value of organisationCode. This error may be due to not having a value, having more than one value, having a value that is not a string or having a value that is not a four character code

RoleOf
type: PropertyShape
affected class: OrganisationRole
affected property: roleOf
scope: local
comment: Indicates the corresponding Body that plays a certain organisation role.
path: roleOf
class: Body
min count: 1
max count: 1
severity: Violation
message: roleOf: Each instance of Organization Role points thorugh roleOf to exactly one instance of Body. This error mae be due to having no value, having more than one value or having a value that is not an instance of Body.

Role
type: PropertyShape
affected class: Body
affected property: role
scope: local
comment: Indicates the relationship of a Body to the organisation roles that it can play.
path: role
class: OrganisationRole
min count: 1
severity: Violation
message: role: Each instance of a Body must have at least one role. This error mae be due to having no value or having a value that is not an instance of OrganisationRole.

HasOrganisationRole
type: PropertyShape
affected class: OrganisationRole
affected property: hasOrganisationRole
scope: local
comment: The role played in an n-ary relationship between a Body and a specific concept in the concept scheme of organisation roles.
path: hasOrganisationRole
min count: 1
max count: 1
node kind: IRI
severity: Violation
message: hasOrganisationRole: The organisation role must be represented as an IRI. This error may be due to not having a value, having more than one value, or having a value that is not an IRI.

HasOrganisationRoleSKOS
type: SPARQLConstraint
affected property: hasOrganisationRole
affected class: OrganisationRole
scope: local
comment: The role played in an n-ary relationship between a Body and a specific concept in the concept scheme of organisation roles.
message: Indication of the hasOrganisationRole: The OrganisationRole {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/organisation-roles/.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:hasOrganisationRole AS ?path) WHERE { $this era:hasOrganisationRole ?concept . era:hasOrganisationRole era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

CarrierLinearElement
type: PropertyShape
affected class: Orientation
affected property: carrierLinearElement
scope: local
comment: The carrier linear element in relation to which the orientation is based on.
path: carrierLinearElement
node kind: IRI
class: LinearElement
severity: Violation
message: carrierLinearElement: The Orientation may reference a LinearElement through carrierLinearElement. This error is due to the value either not being an IRI, or being an IRI that is not an instance of LinearElement.

Direction
type: PropertyShape
affected class: Orientation
affected property: direction
scope: local
comment: The direction of the orientation of a railway element, in relation to the carrier linear element.
path: direction
node kind: IRI
severity: Violation
message: direction: The Orientation may reference a SKOS concept representing the direction in the form of an IRI. This error is due to the value not being an IRI.

DirectionSKOS
type: SPARQLConstraint
affected property: direction
affected class: Orientation
scope: local
comment: The direction of the orientation of a railway element, in relation to the carrier linear element.
message: direction: The Orientation {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined OrientationDirections in the SKOS concept scheme http://data.europa.eu/949/concepts/orientations/OrientationDirections.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:direction AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:direction ?concept . era:direction era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

Side
type: PropertyShape
affected class: Orientation
affected property: side
scope: local
comment: Indication of the position of the signal in relation to the track in the running direction from the origin of the referencing system (e.g., direction of the main line).
path: side
node kind: IRI
severity: Violation
message: side: The Orientation may reference a SKOS concept representing the side in the form of an IRI. This error is due to the value not being an IRI.

SideSKOS
type: SPARQLConstraint
affected property: side
affected class: Orientation
scope: local
comment: Indication of the position of the signal in relation to the track in the running direction from the origin of the referencing system.
message: side: The Orientation {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined Sides in the SKOS concept scheme http://data.europa.eu/949/concepts/orientations/Sides.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:side AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:side ?concept . era:side era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

OfParameter
type: PropertyShape
affected class: ParameterApplicability
affected property: ofParameter
scope: local
comment: Applicability interval defines the date interval in which a characteristic of an infrastructure element is applicable. The characteristic to which it applies is the ofParameter property.
path: ofParameter
node kind: IRI
or:
  class: ObjectProperty
or:
  class: DatatypeProperty
max count: 1
severity: Violation
message: ofParameter: An instance of parameter applicability must have exactly one value of the characteristic (ofParameter) to which it applies to. This error may be due to not having a value, having more than one value, having a value that is not an IRI or is not an object or datatype property in the ontology.

HasBeginning
type: PropertyShape
affected class: ParameterApplicability
affected property: hasBeginning
scope: local
comment: Applicability interval defines the date interval in which a characteristic of an infrastructure element is applicable.
path: hasBeginning
node kind: IRI
class: Instant
max count: 1
severity: Violation
message: hasBeginning: An instance of parameter applicability must have exactly one value of the beginning of the interval in which it is applicable. This error may be due to not having a value, having more than one value, having a value that is not an IRI or is not a time:Instant.

HasEnd
type: PropertyShape
affected class: ParameterApplicability
affected property: hasEnd
scope: local
comment: Applicability interval defines the date interval in which a characteristic of an infrastructure element is applicable.
path: hasEnd
node kind: IRI
class: Instant
max count: 1
severity: Violation
message: hasEnd: An instance of parameter applicability must have exactly one value of the end of the interval in which it is applicable. This error may be due to not having a value, having more than one value, having a value that is not an IRI or is not a time:Instant.

ParameterValueType
type: PropertyShape
affected class: ParameterApplicability
affected property: parameterValueType
scope: local
comment: In the case of a change in the value of a parameter, there needs to be an information on the type of the new value. The “Value type” will have different possible options: “nominal”, “planned temporary restriction”, “permanent restriction”, “planned temporary closure.
path: parameterValueType
node kind: IRI
max count: 1
severity: Violation
message: parameterValueType: An instance of parameter applicability must have exactly one value of the parameter value type. This error may be due to not having a value, having more than one value, having a value that is not an IRI.

ParameterValueTypeSKOS
type: SPARQLConstraint
affected property: parameterValueType
affected class: ParameterApplicability
scope: local
comment: In the case of a change in the value of a parameter, there needs to be an information on the type of the new value. The “Value type” will have different possible options: “nominal”, “planned temporary restriction”, “permanent restriction”, “planned temporary closure.
message: parameterValueType: The parameter applicability {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/parameterApplicability/ValueTypes.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:parameterValueType AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:parameterValueType ?concept . era:parameterValueType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

ParameterValue
type: PropertyShape
affected class: ParameterApplicability
affected property: parameterValue
scope: local
comment: This property is used to link an applicability to the precise value of the parameter
path: parameterValue
max count: 1
severity: Violation
message: parameterValue: An instance of parameter applicability must have exactly one value of the parameter value. This error may be due to not having a value or having more than one value.

PlatformId
type: PropertyShape
affected property: platformId
affected class: PlatformEdge
scope: local
comment: Unique platform identification or unique platform number within OP.
rinf index: 1.2.1.0.6.2
path: platformId
min count: 1
max count: 1
datatype: string
severity: Violation
message: platformId (1.2.1.0.6.2): Each Platform must have exactly one platformId. This error may be due to having a platform without or with more than one platformId or it value is not a string.

NoRepeatedPlatformIdsOP
type: SPARQLConstraint
affected property: platformId
affected class: PlatformEdge
affected class: OperationalPoint
scope: global
comment: Each platform shall have unique identification or number within the OP. This number cannot be used for naming any other platform in the same OP.
rinf index: 1.2.1.0.6.2
message: platformId (1.2.1.0.6.2):: Each platform shall have unique identification or number within the OP. This number cannot be used for naming any other platform in the same OP. There is a problem with OP {$this} ({?opLabel}) and platforms {?platform1} ({?platform1Label}) and {?platform2} ({?platform2Label}), since they have the same identifier: {?value}.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?opLabel ?platform1 ?platform1Label ?platform2 ?platform2Label ?value (era:platformId AS ?path) WHERE { $this era:hasPart ?platform1 ; era:hasPart ?platform2 . ?platform1 a era:PlatformEdge ; era:platformId ?value . ?platform2 a era:PlatformEdge ; era:platformId ?value . FILTER(?platform1 != ?platform2) . OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) OPTIONAL { ?platform1 rdfs:label ?platform1Label0 } . BIND(COALESCE(?platform1Label0, "unknown label") AS ?platform1Label) OPTIONAL { ?platform2 rdfs:label ?platform2Label0 } . BIND(COALESCE(?platform2Label0, "unknown label") AS ?platform2Label) }

TenClassificationP
type: PropertyShape
affected property: tenClassification
affected class: PlatformEdge
scope: local
comment: Indicates the part of the trans-European network the platform belongs to.
rinf index: 1.2.1.0.6.3
path: tenClassification
node kind: IRI
severity: Violation
message: TEN classification (1.2.1.0.6.3): This error may be due to having a Platform with a TEN classification that is not an URI.

TenClassificationSKOSP
type: SPARQLConstraint
affected property: tenClassification
affected class: PlatformEdge
scope: local
comment: Indicates the part of the trans-European network the platform belongs to.
rinf index: 1.2.1.0.6.3
node kind: IRI
message: TEN classification (1.2.1.0.6.3): The platform {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/ten-classifications/TENClassifications.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:tenClassification AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:tenClassification ?concept . era:tenClassification era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

LengthP
type: PropertyShape
affected property: lengthOfPlatform
affected class: PlatformEdge
scope: local
comment: The maximum continuous length (expressed in metres) of that part of platform in front of which a train is intended to remain stationary in normal operating conditions for passengers to board and alight from the train, making appropriate allowance for stopping tolerances.
rinf index: 1.2.1.0.6.4
path: lengthOfPlatform
max count: 1
datatype: double
severity: Warning
message: length (1.2.1.0.6.4): Each Platform must have at most one length. This error may be caused due to having a platform with more than one length or having a value that is not a Real number.

PlatformHeightP
type: PropertyShape
affected property: platformHeight
affected class: PlatformEdge
scope: local
comment: Distance between the upper surface of platform and running surface of the neighbouring track. It is the nominal value expressed in millimetres.
rinf index: 1.2.1.0.6.5
path: platformHeight
max count: 1
node kind: IRI
severity: Warning
message: platformHeight (1.2.1.0.6.5): Each Platform must have at most one height. This error may be due to having a platform with more than one height, or having a value that is not an URI.

PlatformHeightSKOS
type: SPARQLConstraint
affected property: platformHeight
affected class: PlatformEdge
scope: local
comment: Distance between the upper surface of platform and running surface of the neighbouring track. It is the nominal value expressed in millimetres.
rinf index: 1.2.1.0.6.5
node kind: IRI
message: Platform height (1.2.1.0.6.5): The platform {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/platform-heights/PlatformHeights.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:platformHeight AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:platformHeight ?concept . era:platformHeight era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

AssistanceStartingTrain
type: PropertyShape
affected property: assistanceStartingTrain
affected class: PlatformEdge
scope: local
comment: Indication of existence of equipment or staff supporting the train crew in starting the train. Fixed equipment (for example mirrors or CCTV cameras) or station staff indicating to train crew or driver when to close doors and whether this has been done successfully.
rinf index: 1.2.1.0.6.6
path: assistanceStartingTrain
max count: 1
datatype: boolean
severity: Violation
message: assistanceStartingTrain (1.2.1.0.6.6): Each Platform must have at most one assistanceStartingTrain declaration. This error may be caused due to having a platform with having more than one assistanceStartingTrain, or its value is not Y/N (boolean).

AreaBoardingAid
type: PropertyShape
affected property: areaBoardingAid
affected class: PlatformEdge
scope: local
comment: Information of the train access level for which the boarding aid can be used.
rinf index: 1.2.1.0.6.7
path: areaBoardingAid
max count: 1
datatype: integer
severity: Warning
message: areaBoardingAid (1.2.1.0.6.7): Each Platform must have at most one areaBoardingAid value. This error may be caused due to having a platform with multiple areaBoardingAid values or having a value that is not an integer.

HasPlatformCurvature
type: PropertyShape
affected property: hasPlatformCurvature
affected class: PlatformEdge
scope: local
comment: Indication of the existence of the curvature of the platform.
rinf index: 1.2.1.0.6.8
path: hasPlatformCurvature
max count: 1
datatype: boolean
severity: Violation
message: hasPlatformCurvature (1.2.1.0.6.8): Each Platform must have at most one hasPlatformCurvature value. This error may be caused due to having a platform with multiple hasPlatformCurvature values or having a value that is not a boolean.

PrimaryLocationCode
type: PropertyShape
affected class: PrimaryLocation
affected property: primaryLocationCode
scope: local
comment: Primary location code developed for information exchange in accordance with the TSIs relating to the telematics applications subsystem.
rinf index: 1.2.0.0.0.3
path: primaryLocationCode
datatype: string
max count: 1
min count: 1
pattern: ^[A-Z]{2}[0-9]{5}$
severity: Violation
message: primaryLocationCode (1.2.0.0.0.3): The primary location code must be represented as a String and follow the pattern [AANNNNN]. It should be unique.

ContainerHandlingFlag
type: PropertyShape
affected property: containerHandlingFlag
affected class: PrimaryLocation
scope: local
comment: Container handling flag.
path: containerHandlingFlag
datatype: boolean
max count: 1
severity: Violation
message: containerHandlingFlag : The PrimaryLocation may have a containerHandlingFlag value that is a boolean. This error may be due to the Primary Location having a value that is not a boolean.

FreightFlag
type: PropertyShape
affected property: freightFlag
affected class: PrimaryLocation
scope: local
comment: Freight flag.
path: freightFlag
max count: 1
datatype: boolean
severity: Violation
message: freightFlag : The PrimaryLocation may have a freightFlag value that is a boolean. This error may be due to the Primary Location having more than one value or having a value that is not a boolean.

HandoverPointFlag
type: PropertyShape
affected property: handoverPointFlag
affected class: PrimaryLocation
scope: local
comment: Handover point flag.
path: handoverPointFlag
datatype: boolean
max count: 1
severity: Violation
message: handoverPointFlag : The PrimaryLocation may have a handoverPointFlag value that is a boolean. This error may be due to the Primary Location having a value that is not a boolean.

PrimaryLocationName
type: PropertyShape
affected property: primaryLocationName
affected class: PrimaryLocation
scope: local
comment: Primary location name.
path: primaryLocationName
datatype: langString
node kind: Literal
unique lang: true
severity: Violation
message: primaryLocationName : The PrimaryLocation may have one primaryLocationName per language tag. If it does, there should be at least one name in English (@en). This error may be due to the Primary Location having a value that is not conform per language tag.
sparql: LangStringEnRequiredIfPresent

InNUTS3
type: PropertyShape
affected class: PrimaryLocation
affected property: inNUTS3
scope: local
comment: Reference to NUTS-3 place or city
path: inNUTS3
max count: 1
node kind: IRI
class: Concept
severity: Warning
message: inNUTS3: Each PrimaryLocation may have at most one value for nuts3 which must be an IRI. This error is due to having more than one values, or a value that is not an IRI.

InNUTS3SKOS
type: SPARQLConstraint
affected class: PrimaryLocation
affected property: inNUTS3
scope: local
comment: Reference to NUTS-3 place or city
severity: Warning
message: inNUTS3: The PrimaryLocation {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: https://publications.europa.eu/resource/authority/nuts.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:inNUTS3 AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:inNUTS3 ?concept . era:inNUTS3 era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

OperationalRegimeType
type: PropertyShape
affected class: SectionOfLine
affected property: operationalRegimeType
scope: local
comment: Double track type.
path: operationalRegimeType
max count: 1
node kind: IRI
severity: Violation
message: operationalRegimeType: Each SectionOfLine may have at most one value for operational regime which must be an IRI. This error is due to having more than one values, or a value that is not an IRI.

OperationalRegimeTypeSKOS
type: SPARQLConstraint
affected property: operationalRegimeType
affected class: SectionOfLine
scope: local
comment: Double track type.
message: operationalRegimeType: The SectionOfLine {$this} with label {?thisLabel} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/operational-regime-types/OperationalRegimeTypes.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (era:operationalRegimeType AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this era:operationalRegimeType ?concept . era:operationalRegimeType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

ExistenceOfIndustrialRisk
type: PropertyShape
affected property: existenceOfIndustrialRisk
affected class: SectionOfLine
affected class: CommonCharacteristicsSubset
scope: local
comment: Indication that the full section of line (or a part of it) is identified by the Infrastructure Managers where drivers are not supposed to get off the locomotive.
rinf index: 1.1.0.0.1.1
path: existenceOfIndustrialRisk
datatype: boolean
max count: 1
severity: Violation
message: existenceOfIndustrialRisk (1.1.0.0.1.1): Each section of line or common characteristics subset may have at most one value for existence of industrial risk. This error is due to having more than one value or having a value that is not Y/N (boolean).

RbcID
type: PropertyShape
affected class: RadioBlockCenter
affected property: rbcID
scope: local
comment: Unique RBC identification (NID_C+NID_RBC) as defined in the specification referenced in TSI CCS.
rinf index: 1.1.1.3.2.17
rinf index: 1.2.1.1.1.17
path: rbcID
datatype: string
max count: 1
pattern: ^(\d{4})( )?(\d{4})$
severity: Violation
message: rbcID (1.1.1.3.2.17, 1.2.1.1.1.17): The radio block center id must be represented as a String and follow the pattern [NNNN NNNN]. This error may be due to having a value that is not a string or that does not follow the pattern.

RbcIDFutureRequired
type: PropertyShape
affected property: rbcID
affected class: RadioBlockCenter
scope: local
path: rbcID
min count: 1
max count: 1
severity: Warning
message: This property is not yet required but will be 12 months after publication of Article 7 Guide.

RbcPhone
type: PropertyShape
affected class: RadioBlockCenter
affected property: rbcPhone
scope: local
comment: Unique RBC calling number (NID_RADIO) as defined in the specification referenced in TSI CCS.
rinf index: 1.1.1.3.2.17
rinf index: 1.2.1.1.1.17
path: rbcPhone
datatype: string
max count: 1
pattern: ^(\d{4})( )?(\d{4})( )?(\d{4})( )?(\d{4})$
severity: Warning
message: rbcPhone (1.1.1.3.2.17, 1.2.1.1.1.17): The radio block center phone must be represented as a String and follow the pattern [NNNN NNNN NNNN NNNN].This error may be due to having a value that is not a string or that does not follow the pattern

ReferenceBorderPointShape
type: NodeShape
target class: ReferenceBorderPoint
node kind: IRI
pattern: ^http://data\.europa\.eu/949/
message: ReferenceBorderPoint URI: The instance has a URI that does not follow the required pattern '^http://data.europa.eu/949/'. All instances of era:ReferenceBorderPoint must have URIs starting with http://data.europa.eu/949/.
property: BorderPointId
property: ReferenceBorderPointGeometry
sparql: ConsistentOPsPerReferenceBorderPoint

BorderPointId
type: PropertyShape
affected class: ReferenceBorderPoint
affected property: borderPointId
path: borderPointId
min count: 1
max count: 1
datatype: string
pattern: ^EU.{0,10}$
severity: Violation
message: A ReferenceBorderPoint must have exactly one era:borderPointId, and it must be a string. This error is due to having more than one borderPointId, not having a borderPointId, having a value that is not a string, or having a value that does not follow the pattern where the first part is 'EU', and the second part is the alphanumeric OP code within the MS.

ReferenceBorderPointGeometry
type: PropertyShape
affected class: ReferenceBorderPoint
affected property: hasGeometry
path: hasGeometry
node kind: IRI
min count: 1
max count: 1
class: Geometry
severity: Violation
message: A ReferenceBorderPoint must have exactly one geo:hasGeometry, and its value must be an instance of geo:Gemoetry. This error is due to having more than one, having none, or having a value that is not an istance of geo:Geometry.

ConsistentOPsPerReferenceBorderPoint
type: SPARQLConstraint
affected class: ReferenceBorderPoint
affected property: referenceBorderPoint
message: ReferenceBorderPoint {$this} is referenced by {?op1} and {?op2} with inconsistent uopid or coordinates (geo:asWKT). All OPs pointing to the same ReferenceBorderPoint must have the same uopid and identical coordinates.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX geo: <http://www.opengis.net/ont/geosparql#> SELECT DISTINCT $this ?op1 ?op2 (era:referenceBorderPoint AS ?path) WHERE { # Two different OPs pointing to the same ReferenceBorderPoint ($this) ?op1 era:referenceBorderPoint $this . ?op2 era:referenceBorderPoint $this . FILTER(?op1 != ?op2) # Ensure both OPs have uopid and geometry ?op1 era:uopid ?uopid1 . ?op2 era:uopid ?uopid2 . ?op1 era:netReference ?netRef1 . ?netRef1 geo:hasGeometry ?geom1 . ?geom1 geo:asWKT ?wkt1 . ?op2 era:netReference ?netRef2 . ?netRef2 geo:hasGeometry ?geom2 . ?geom2 geo:asWKT ?wkt2 . # Raise violation if either uopid or coordinates differ FILTER (?uopid1 != ?uopid2 || ?wkt1 != ?wkt2) }

NationalLineSoL
type: PropertyShape
affected property: nationalLine
affected class: SectionOfLine
scope: local
comment: Unique line identification or unique line number within Member State.
rinf index: 1.1.0.0.0.2
path: nationalLine
min count: 1
max count: 1
class: LinearPositioningSystem
node kind: IRI
severity: Violation
message: nationalLine (1.1.0.0.0.2): Each SoL belongs to exactly one linear positioning system. This error is due to not having a value, having more than one value, or having a value that is not an instance of LinearPositioningSystem.

OpStart
type: PropertyShape
affected property: opStart
affected class: SectionOfLine
scope: global
comment: Each SoL may have only one start OP, and each OP has unique OP ID within the MS. The “uniqueOPID” is defined in parameter 1.2.0.0.0.2. Each SoL has the principal direction of the traffic defined by increasing kilometres running from the start OP to the end OP. That is why the start OP is always located at lowest kilometre of the line within the SoL. Data collected in the UK in miles will be transformed to km for uploading to the RINF application. The OP ID must exist in the MS file of RINF. The value of this parameter must be different from 1.1.0.0.0.4. No validation will be performed by RINF application regarding which is the start and which the end OP. This requires national verification.
rinf index: 1.1.0.0.0.3
path: opStart
disjoint: opEnd
min count: 1
max count: 1
node kind: IRI
class: OperationalPoint
severity: Violation
message: opStart (1.1.0.0.0.3): There must be exactly one OP start for this section of line and it must be different from the OP end.

OpEnd
type: PropertyShape
affected property: opEnd
affected class: SectionOfLine
scope: global
comment: Each SoL may have only one end OP, and each OP has unique OP ID within the MS. The “uniqueOPID” is defined in parameter 1.2.0.0.0.2. Each SoL has the principal direction of the traffic defined by increasing kilometres running from the start OP to the end OP. That is why the start OP is always located at lowest kilometre of the line within the SoL. Data collected in the UK in miles will be transformed to km for uploading to the RINF application. The OP ID must exist in the MS file of RINF. The value of this parameter must be different from 1.1.0.0.0.3. No validation will be performed by RINF application regarding which is the start and which the end OP. This requires national verification.
rinf index: 1.1.0.0.0.4
path: opEnd
disjoint: opStart
min count: 1
max count: 1
node kind: IRI
class: OperationalPoint
severity: Violation
message: opEnd (1.1.0.0.0.4): There must be exactly one OP end for this section of line and it must be different from the OP start.

SolLength
type: PropertyShape
affected property: lengthOfSectionOfLine
affected class: SectionOfLine
scope: local
comment: General description: The length of SoL is theoretical distance between centre points of Ops which are selected in such a way to represent the average value for all tracks within the SoL. It is advised to include distances applied by IM for commercial purposes. Validation: No validation will be performed by RINF application regarding the length of SoL. This requires national verification.
rinf index: 1.1.0.0.0.5
path: lengthOfSectionOfLine
min count: 1
max count: 1
datatype: double
severity: Violation
message: lengthOfSectionOfLine (1.1.0.0.0.5): Each SoL has exactly one length. This error is due to that either there is no length for the specified SoL, more than one length has been defined, or the datatype cannot be converted into an xsd:double.

SolNature
type: PropertyShape
affected property: solNature
affected class: SectionOfLine
scope: local
comment: General description: Validation: If the value of this parameter is 'Link', then for all tracks belonging to this SoL, all the parameters of the following groups of parameters are not applicable: 1.1.1.1 Infrastructure subsystem, 1.1.1.2 Energy subsystem, 1.1.1.3 Control-command and signalling subsystem.
rinf index: 1.1.0.0.0.6
path: solNature
min count: 1
max count: 1
node kind: IRI
severity: Violation
message: SoL nature (1.1.0.0.0.6): Either no SOL nature is specified for this SoL, or more than one SoL nature has been specified.

SolNatureSKOS
type: SPARQLConstraint
affected property: solNature
affected class: SectionOfLine
scope: local
comment: Indication of the SOL nature.
rinf index: 1.1.0.0.0.6
message: SoL nature (1.1.0.0.0.6): The SOL {$this} with label {?label} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/sol-natures/SoLNatures.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:solNature AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:solNature ?concept . era:solNature era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

SolNatureApplicability
type: SPARQLConstraint
affected property: solNature
affected class: SectionOfLine
scope: global
comment: If the value of this parameter is “Link”, then for all tracks belonging to this SoL, all the parameters of the following groups of parameters are not applicable: 1.1.1.1 Infrastructure subsystem; 1.1.1.2 Energy subsystem; 1.1.1.3 Control-command and signalling subsystem.
rinf index: 1.1.0.0.0.6
message: SoL nature (1.1.0.0.0.6): The SoL {$this} ({?solLabel}), with opStart {?opStartID} and opEnd {?opEndID}, has a SOLnature of type Link, and at least one of its tracks has values for at least one of the groups of parameters 1.1.1.1, 1.1.1.2 or 1.1.1.3. This happens at least with the track {?track} ({?trackLabel}), with property {?p} (RINF index {?index}).
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?solLabel ?opStartID ?opEndID ?p ?index ?track ?trackLabel (era:solNature AS ?path) WHERE { $this era:solNature <http://data.europa.eu/949/concepts/sol-natures/20> . OPTIONAL { $this rdfs:label ?solLabel0 } . BIND(COALESCE(?solLabel0, "unknown label") AS ?solLabel) { $this era:hasPart ?track } UNION { $this era:track ?track } ?track a era:Track . $this era:opStart ?opStart . ?opStart era:uopid ?opStartID . $this era:opEnd ?opEnd . ?opEnd era:uopid ?opEndID . OPTIONAL { ?track rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) ?track ?p ?y . ?p era:rinfIndex ?index . FILTER EXISTS { ?track ?p ?value } . FILTER(strstarts(?index,'1.1.1.1') || strstarts(?index,'1.1.1.2') || strstarts(?index,'1.1.1.3')) }

NetReferenceSOL
type: PropertyShape
affected property: netReference
affected class: SectionOfLine
scope: local
comment: The reference that a SectionOfLine has on the topology. It must point to an instance of NetBasicReference.
path: netReference
class: NetBasicReference
node kind: IRI
severity: Violation
message: netReference: Each SectionOfLine must have at least one netReference pointing to an instance of NetBasicReference. This error is due to not having a value or having a value that is not a NetBasicReference.

ExistRestrictedPeriodOfTimeDangerousGood
type: PropertyShape
affected property: existRestrictedPeriodOfTimeDangerousGood
affected class: SectionOfLine
scope: local
comment: Indicate, if there are any limits on specific time of a day for transport of dangerous goods.
path: existRestrictedPeriodOfTimeDangerousGood
max count: 1
datatype: boolean
severity: Warning
message: existRestrictedPeriodOfTimeDangerousGood: A SectionOfLine may have at most one value indicating if there are limits on specific time of a day for transport of dangerous goods. This error may be due to having more than one value or having a value that is not Y/N (boolean).

RestrictedPeriodOfTimeDangerousGood
type: PropertyShape
affected property: restrictedPeriodOfTimeDangerousGood
affected class: SectionOfLine
scope: local
comment: Describes the period of time for which the transport of dangerous goods is not allowed in the Section of Line.
path: restrictedPeriodOfTimeDangerousGood
datatype: string
severity: Warning
message: restrictedPeriodOfTimeDangerousGood: A SectionOfLine may have values describing the period of time for which the transport of dangerous goods is not allowed. This error may be due to having a value that is not a string.

HasConnectingIM
type: PropertyShape
affected property: hasConnectingIM
affected class: SectionOfLine
scope: local
comment: Indicates whether any neighbouring section of line belongs to different Infrastructure Manager.
path: hasConnectingIM
max count: 1
datatype: boolean
severity: Warning
message: hasConnectingIM: A SectionOfLine may have at most one value indicating whether any neighbouring section of line belongs to different Infrastructure Manager. This error may be due to having more than one value or having a value that is not Y/N (boolean).

MaximumPermittedMeterLoad
type: PropertyShape
affected property: maximumPermittedMeterLoad
affected class: SectionOfLine
scope: local
comment: Maximum permitted meter load, given in tons.
path: maximumPermittedMeterLoad
max count: 1
datatype: double
severity: Warning
message: maximumPermittedMeterLoad: A SectionOfLine may have at most one maximum permitted meter load value expressed in tons. This error may be due to having more than one value or having a value that is not a double (real) number.

MaximumTrainLength
type: PropertyShape
affected property: maximumTrainLength
affected class: SectionOfLine
scope: local
comment: Maximum train length allowed on a line or section.
path: maximumTrainLength
max count: 1
datatype: integer
severity: Warning
message: maximumTrainLength: A SectionOfLine may have at most one maximum train length value. This error may be due to having more than one value or having a value that is not an integer.

SpecializedInfrastructure
type: PropertyShape
affected property: specializedInfrastructure
affected class: SectionOfLine
scope: local
comment: Special type of service on a line or a section of a line.
path: specializedInfrastructure
datatype: string
severity: Warning
message: specializedInfrastructure: A SectionOfLine may have values describing special type of service on the line. This error may be due to having a value that is not a string.

HasNoiseLevelLimit
type: PropertyShape
affected property: hasNoiseLevelLimit
affected class: SectionOfLine
scope: local
comment: Indicate, if there are any limits on noise levels.
path: hasNoiseLevelLimit
max count: 1
datatype: boolean
severity: Warning
message: hasNoiseLevelLimit: A SectionOfLine may have at most one value indicating if there are limits on noise levels. This error may be due to having more than one value or having a value that is not Y/N (boolean).

MaxNoiseLevelOfSoL
type: PropertyShape
affected property: maxNoiseLevelOfSoL
affected class: SectionOfLine
scope: local
comment: Maximum allowed noise level in decibels (dB).
path: maxNoiseLevelOfSoL
max count: 1
datatype: integer
severity: Warning
message: maxNoiseLevelOfSoL: A SectionOfLine may have at most one maximum noise level value expressed in decibels. This error may be due to having more than one value or having a value that is not an integer.

LoadingGauge
type: PropertyShape
affected property: loadingGauge
affected class: SectionOfLine
scope: local
comment: Maximum physical dimensions (height and width) to which an open rail wagon can be loaded.
path: loadingGauge
max count: 1
datatype: integer
severity: Warning
message: loadingGauge: A SectionOfLine may have at most one loading gauge value. This error may be due to having more than one value or having a value that is not an integer.

MaxAxleLoadOfSoL
type: PropertyShape
affected property: maxAxleLoadOfSoL
affected class: SectionOfLine
scope: local
comment: Maximum permitted axle load, given in tons.
path: maxAxleLoadOfSoL
max count: 1
datatype: double
severity: Warning
message: maxAxleLoadOfSoL: A SectionOfLine may have at most one maximum axle load value expressed in tons. This error may be due to having more than one value or having a value that is not a double (real) number.

SidingId
type: PropertyShape
affected property: sidingId
affected class: Siding
scope: local
comment: Unique siding identification or unique siding number within OP
rinf index: 1.2.2.0.0.2
path: sidingId
min count: 1
max count: 1
datatype: string
severity: Violation
message: sidingId (1.2.2.0.0.2): Each siding must have a unique siding identification that is a character string. This error is due to not having a sidingId value, having more than one sidingId value or having a value that is not a string.

NoRepeatedSidingIds
type: SPARQLConstraint
affected property: sidingId
affected class: Siding
affected class: OperationalPoint
scope: global
comment: Each siding shall have unique identification or number within the OP. This number cannot be used for naming any other siding in the same OP.
rinf index: 1.2.2.0.0.2
message: sidingId (1.2.2.0.0.2):: Each siding shall have unique identification or number within the OP. This number cannot be used for naming any other siding in the same OP. There is a problem with the OP {$this} ({?opLabel}) and sidings {?siding1} ({?siding1Label}) and {?siding2} ({?siding2Label}), since they have the same identifier: {?value}.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?opLabel ?siding1 ?siding1Label ?siding2 ?siding2Label ?value (era:sidingId AS ?path) WHERE { $this era:hasPart ?siding1 ; era:hasPart ?siding2 . ?siding1 a era:Siding ; era:sidingId ?value . ?siding2 a era:Siding ; era:sidingId ?value . FILTER(?siding1 != ?siding2) . OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) OPTIONAL { ?siding1 rdfs:label ?siding1Label0 } . BIND(COALESCE(?siding1Label0, "unknown label") AS ?siding1Label) OPTIONAL { ?siding2 rdfs:label ?siding2Label0 } . BIND(COALESCE(?siding2Label0, "unknown label") AS ?siding2Label) }

TenClassificationS
type: PropertyShape
affected property: tenClassification
affected class: Siding
scope: local
comment: Indicates the part of the trans-European network the platform belongs to.
rinf index: 1.1.1.1.2.1
rinf index: 1.2.1.0.2.1
rinf index: 1.2.1.0.6.3
rinf index: 1.2.2.0.0.3
path: tenClassification
node kind: IRI
severity: Violation
message: TEN classification (1.1.1.1.2.1, 1.2.1.0.2.1, 1.2.1.0.6.3, 1.2.2.0.0.3): This error may be due to having a Platform with a TEN classification that is not an URI.

TenClassificationSKOSS
type: SPARQLConstraint
affected property: tenClassification
affected class: Siding
scope: local
comment: Indication of the part of the trans-European network the line belongs to.
rinf index: 1.2.2.0.0.3
rinf index: 1.1.1.1.2.1
rinf index: 1.2.1.0.2.1
rinf index: 1.2.1.0.6.3
node kind: IRI
message: TEN classification (1.1.1.1.2.1, 1.2.1.0.2.1, 1.2.1.0.6.3, 1.2.2.0.0.3): The siding {$this} with label {?sidingLabel} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/ten-classifications/TENClassifications.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?sidingLabel (era:tenClassification AS ?path) WHERE { OPTIONAL { $this rdfs:label ?sidingLabel0 } . BIND(COALESCE(?sidingLabel0, "unknown label") AS ?sidingLabel) $this era:tenClassification ?concept . era:tenClassification era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

LengthS
type: PropertyShape
affected property: lengthOfSiding
affected class: Siding
scope: local
comment: Total length of the siding/stabling track expressed in meters where trains can be parked safely
rinf index: 1.2.2.0.2.1
path: lengthOfSiding
max count: 1
datatype: double
pattern: ^([1-9]\d{1,3}|[0-9])(\.0+)?$
severity: Violation
message: lengthOfSiding (1.2.2.0.2.1): Each siding may have a length in meters. This error is due to having more than one length value or having a length that is not a double (real) number or not following the pattern [NNNN].

Gradient
type: PropertyShape
affected property: gradient
affected class: Siding
scope: local
comment: Maximum value of the gradient expressed in millimeters per meter
rinf index: 1.2.2.0.3.1
path: gradient
max count: 1
datatype: double
pattern: ^([1-9]\d{1}|[0-9])(\.[0-9])?$
severity: Violation
message: gradient (1.2.2.0.3.1): Each siding may have a gradient in millimeters per meter. This error is due to having more than one gradient value or having a gradient that is not a double (real) number.

MinimumVerticalRadius
type: PropertyShape
affected property: minimumVerticalRadius
affected class: Siding
scope: local
comment: Indication of types of appearance of track lineside distance indications.
path: minimumVerticalRadius
class: MinimumVerticalRadius
max count: 1
rinf index: 1.2.2.0.3.3
node kind: IRI
severity: Violation
message: minimumVerticalRadius (1.2.2.0.3.3) : The siding must have at most one value of minimum vertical radius that must be an instace of MinimumVerticalRadius. This error may be due to the track having more than one value or having a value that is not an instance of the class MinimumVerticalRadius.

MinimumVerticalRadiusCrest
type: PropertyShape
affected property: minimumVerticalRadiusCrest
affected class: MinimumVerticalRadius
scope: local
comment: Radius of the smallest vertical curve expressed in meters, part that indicates the crest
path: minimumVerticalRadiusCrest
min count: 1
max count: 1
datatype: integer
severity: Violation
message: minimumVerticalRadiusCrest : Each siding may have a minimumVerticalRadiusCrest in meters. This error is due to having no value, having more than one value or having a value that is not an integer number.

MinimumVerticalRadiusHollow
type: PropertyShape
affected property: minimumVerticalRadiusHollow
affected class: MinimumVerticalRadius
scope: local
comment: Radius of the smallest vertical curve expressed in meters, part that indicates the hollow
path: minimumVerticalRadiusHollow
min count: 1
max count: 1
datatype: integer
severity: Violation
message: minimumVerticalRadiusHollow: Each siding may have a minimumVerticalRadiusHollow in meters. This error is due to having no value, having more than one value or having a value that is not an integer number.

HasToiletDischarge
type: PropertyShape
affected property: hasToiletDischarge
affected class: Siding
scope: local
comment: Indication whether exists and installation for toilet discharge (fixed installation for servicing trains) as defined in INF TSIs
rinf index: 1.2.2.0.4.1
path: hasToiletDischarge
max count: 1
datatype: boolean
severity: Violation
message: hasToiletDischarge (1.2.2.0.4.1): Each siding may define the existence of a toilet discharge. This error is due to having more than one has toilet discharge value or having a has has toilet discharge value that is not Y/N (boolean).

HasExternalCleaning
type: PropertyShape
affected property: hasExternalCleaning
affected class: Siding
scope: local
comment: Indication whether exists and installation for external cleaning facility (fixed installation for servicing trains) as defined in INF TSIs
rinf index: 1.2.2.0.4.2
path: hasExternalCleaning
max count: 1
datatype: boolean
severity: Violation
message: hasExternalCleaning (1.2.2.0.4.2): Each siding may define the existence of an external cleaning facility. This error is due to having more than one has external cleaning value or having a has external cleaning value that is not Y/N (boolean).

HasWaterRestocking
type: PropertyShape
affected property: hasWaterRestocking
affected class: Siding
scope: local
comment: Indication whether exists and installation for water restocking (fixed installation for servicing trains) as defined in INF TSIs
rinf index: 1.2.2.0.4.3
path: hasWaterRestocking
max count: 1
datatype: boolean
severity: Violation
message: hasWaterRestocking (1.2.2.0.4.3): Each siding may define the existence of a water restocking facility. This error is due to having more than one has water restocking value or having a has water restocking value that is not Y/N (boolean).

HasRefuelling
type: PropertyShape
affected property: hasRefuelling
affected class: Siding
scope: local
comment: Indication whether exists and installation for refuelling (fixed installation for servicing trains) as defined in INF TSIs
rinf index: 1.2.2.0.4.4
path: hasRefuelling
max count: 1
datatype: boolean
severity: Violation
message: hasRefuelling (1.2.2.0.4.4): Each siding may define the existence of a refuelling facility. This error is due to having more than one has refuelling value or having a has refuelling value that is not Y/N (boolean).

HasSandRestocking
type: PropertyShape
affected property: hasSandRestocking
affected class: Siding
scope: local
comment: Indication whether an installation for sand restocking exists(fixed installation for servicing trains)
rinf index: 1.2.2.0.4.5
path: hasSandRestocking
max count: 1
datatype: boolean
severity: Violation
message: hasSandRestocking (1.2.2.0.4.5): Each siding may define the existence of a sand restocking facility. This error is due to having more than one has sand restocking value or having a has sand restocking value that is not Y/N (boolean).

HasElectricShoreSupply
type: PropertyShape
affected property: hasElectricShoreSupply
affected class: Siding
scope: local
comment: Indication whether an installation for electric shore supply exists (fixed installation for servicing trains)
rinf index: 1.2.2.0.4.6
path: hasElectricShoreSupply
max count: 1
datatype: boolean
severity: Violation
message: hasElectricShoreSupply (1.2.2.0.4.6): Each siding may define the existence of an electric shore supply facility. This error is due to having more than one has electric shore supply value or having a has electric shore supply value that is not Y/N (boolean).

MaxCurrentStandstillPantographS
type: PropertyShape
affected property: maxCurrentStandstillPantograph
affected class: Siding
scope: local
comment: Indication of the maximum allowable train current at standstill for DC systems expressed in amperes
rinf index: 1.1.1.2.2.3
rinf index: 1.2.2.0.6.1
path: maxCurrentStandstillPantograph
datatype: integer
pattern: ^([1-9]\d{1,2}|[0-9])$
max count: 1
severity: Violation
message: maxCurrentStandstillPantograph (1.1.1.2.2.3, 1.2.2.0.6.1): Each siding may define the maximum allowable train current at standstill for DC systems expressed in amperes. This error is due to having a max current standstill pantograph value that is not a double (real) number.

RelativeDistanceDangerPoint
type: PropertyShape
affected class: Signal
affected property: relativeDistanceDangerPoint
scope: local
comment: Distance in meters to the danger point.
rinf index: 1.1.1.3.14.4
rinf index: 1.2.1.0.8.4
path: relativeDistanceDangerPoint
datatype: integer
pattern: ^([1-9]\d{1,2}|[0-9])$
severity: Violation
message: relativeDistanceDangerPoint (1.1.1.3.14.4, 1.2.1.0.8.4): The distance in meters to the danger point must be represented as an integer and follow the pattern [NNN].This error may be due to having a value that is not an integer or that does not follow the pattern.

SignalId
type: PropertyShape
affected class: Signal
affected property: signalId
scope: local
comment: Operational identifier of the signal (on the track or in OP), as in the operational and maintenance provisions.
rinf index: 1.1.1.3.14.1
rinf index: 1.2.1.0.8.1
path: signalId
datatype: string
max count: 1
severity: Violation
message: signalId (1.1.1.3.14.1, 1.2.1.0.8.1): A Signal may have at most one signal id and it must be represented as a String. This error may be due to having more than one value or having a value that is not a string

SignalType
type: PropertyShape
affected class: Signal
affected property: signalType
scope: local
comment: Signalling information for Route Book compilation.
rinf index: 1.1.1.3.14.2
rinf index: 1.2.1.0.8.2
path: signalType
node kind: IRI
severity: Violation
message: signalType (1.1.1.3.14.2, 1.2.1.0.8.2): The signal type must be represented as an IRI.This error may be due to having a value that is not an IRI.

SignalTypeSKOS
type: SPARQLConstraint
affected property: signalType
affected class: Signal
scope: local
comment: Signalling information for Route Book compilation.
rinf index: 1.1.1.3.14.2
rinf index: 1.2.1.0.8.2
message: Indication of the signalType (1.1.1.3.14.2, 1.2.1.0.8.2): The signal {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/signal-types/.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:signalType AS ?path) WHERE { $this era:signalType ?concept . era:signalType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

SignalOrientation
type: PropertyShape
affected class: Signal
affected property: signalOrientation
scope: local
comment: Indication if the signal (on the track or in OP) is applicable for operation on normal, opposite track direction or if it contains bidirectionally valid information (radio-based system only).
rinf index: 1.1.1.3.14.3
rinf index: 1.2.1.0.8.3
path: signalOrientation
node kind: IRI
max count: 1
severity: Violation
message: signalOrientation (1.1.1.3.14.3, 1.2.1.0.8.3): A Signal may have an orientation and it must be represented as an IRI. This error may be due to having a value that is not an IRI.

HasOrientation
type: PropertyShape
affected property: hasOrientation
affected class: Signal
scope: local
comment: The orientation of a signal.
path: hasOrientation
class: Orientation
severity: Violation
message: hasOrientation: A Signal may have an orientation and it must be an instance of Orientation. This error may be due to having a value that is not an instance of Orientation.

SignalOrientationSKOS
type: SPARQLConstraint
affected property: signalOrientation
affected class: Signal
scope: local
comment: Indication if the signal (on the track or in OP) is applicable for operation on normal, opposite track direction or if it contains bidirectionally valid information (radio-based system only).
rinf index: 1.1.1.3.14.3
rinf index: 1.2.1.0.8.3
message: Indication of the signalOrientation (1.1.1.3.14.3, 1.2.1.0.8.3 ):): The signal {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/orientations/OrientationDirections.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:signalOrientation AS ?path) WHERE { $this era:signalOrientation ?concept . era:signalOrientation era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

ConnectedTo
type: PropertyShape
affected property: connectedTo
affected class: Track
scope: local
comment: Represents a bidirectional connection between two Track instances.
rinf index: 1.1.1.0.1.2
rinf index: 1.2.4.1
path: connectedTo
class: Track
severity: Violation
message: connectedTo (1.1.1.0.1.2, 1.2.4.1): The track may be connected to other tracks and each value must be an instance of Track. This error may be due to having a value that is not an instance of Track.

VerificationINF
type: PropertyShape
affected property: verificationINF
affected class: RunningTrack
scope: local
comment: Unique number for EC declarations following format requirements specified in the 'Document about practical arrangements for transmitting interoperability documents'.
rinf index: 1.1.1.1.1.1
rinf index: 1.2.1.0.1.1
path: verificationINF
datatype: string
pattern: ^[A-Z]{2}\/.{14}\/(19[0-9][0-9]|20[0-9][0-9]|2100)\/[0-9]{6}$
severity: Violation
message: verificationINF (1.1.1.1.1.1, 1.2.1.0.1.1): The verificationINF must be a string following the format 'XX/XXXXXXXXXXXXXX/YYYY/DDDDDD' where XX is the country code, XXXXXXXXXXXXXX is the unique number for EC declarations, YYYY is the year of the declaration (1900-2100) and DDDDDD is the sequential number of the declaration. This error is due to the value not following the pattern.

DemonstrationINF
type: PropertyShape
affected property: demonstrationINF
affected class: RunningTrack
scope: local
comment: Unique number for EI declarations following format requirements specified in the 'Document about practical arrangements for transmitting interoperability documents'.
rinf index: 1.1.1.1.1.2
rinf index: 1.2.1.0.1.2
path: demonstrationINF
datatype: string
pattern: ^[A-Z]{2}\/.{14}\/(19[0-9][0-9]|20[0-9][0-9]|2100)\/[0-9]{6}$
severity: Violation
message: demonstrationINF (1.1.1.1.1.2, 1.2.1.0.1.2): The demonstrationINF must be a string following the format 'XX/XXXXXXXXXXXXXX/YYYY/DDDDDD' where XX is the country code, XXXXXXXXXXXXXX is the unique number for EI declarations, YYYY is the year of the declaration (1900-2100) and DDDDDD is the sequential number of the declaration. This error is due to the value not following the pattern.

TenClassificationT
type: PropertyShape
affected property: tenClassification
affected class: RunningTrack
scope: local
comment: Indication of the part of the trans-European network the line belongs to.
path: tenClassification
rinf index: 1.1.1.1.2.1
rinf index: 1.2.1.0.2.1
node kind: IRI
severity: Violation
message: tenClassification (1.1.1.1.2.1, 1.2.1.0.2.1): The track has a TEN classificaion value (Indication of the part of the trans-European network the line belongs to) that must be an IRI.

TenClassificationSKOST
type: SPARQLConstraint
affected property: tenClassification
affected class: RunningTrack
scope: local
comment: Indication of the TEN classification of track.
rinf index: 1.1.1.1.2.1
rinf index: 1.2.1.0.2.1
node kind: IRI
message: TEN classification (1.1.1.1.2.1, 1.2.1.0.2.1): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/ten-classifications/TENClassifications.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:tenClassification AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:tenClassification ?concept . era:tenClassification era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

GaugingProfile
type: PropertyShape
affected property: gaugingProfile
affected class: RunningTrack
scope: local
comment: Gauges as defined in European standard or other local gauges, including lower or upper part.
rinf index: 1.1.1.1.3.1.1
rinf index: 1.2.1.0.3.4
path: gaugingProfile
node kind: IRI
severity: Violation
message: gaugingProfile (1.1.1.1.3.1.1, 1.2.1.0.3.4): The track must define a value that is an IRI. The error is due to having a value that is not an IRI.

GaugingProfileSKOS
type: SPARQLConstraint
affected property: gaugingProfile
affected class: RunningTrack
scope: local
comment: Indication of the gauging profile of track.
rinf index: 1.1.1.1.3.1.1
rinf index: 1.2.1.0.3.4
message: Gauging profile (1.1.1.1.3.1.1, 1.2.1.0.3.4): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/gaugings/GaugingProfiles.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:gaugingProfile AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gaugingProfile ?concept . era:gaugingProfile era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

GaugingCheckLocation
type: PropertyShape
affected property: gaugingCheckLocation
affected class: RunningTrack
scope: local
comment: Location of particular points requiring specific checks due to deviations from gauging referred to in 1.1.1.1.3.1.1.
rinf index: 1.1.1.1.3.1.2
rinf index: 1.2.1.0.3.5
path: gaugingCheckLocation
datatype: string
pattern: ^([1-9]\d{1,3}|[0-9])(\.\d{1,3})?(\s.*)?$
severity: Violation
message: gaugingCheckLocation (1.1.1.1.3.1.2, 1.2.1.0.3.5): The track has a location of the gauging check that must be a string and follow the format [±NNNN.NNN]. The error is due to the value not following the pattern.

GaugingTransversalDocument
type: PropertyShape
affected property: gaugingTransversalDocument
affected class: RunningTrack
scope: local
comment: Document with the transversal section of the particular points requiring specific checks.
rinf index: 1.1.1.1.3.1.3
rinf index: 1.2.1.0.3.6
path: gaugingTransversalDocument
class: Document
severity: Violation
message: gaugingTransversalDocument (1.1.1.1.3.1.3, 1.2.1.0.3.6): The track has a transversal document of the gauging check value that must be a Document.

WheelSetGauge
type: PropertyShape
affected property: wheelSetGauge
affected class: RunningTrack
scope: local
comment: A single value expressed in millimeters that identifies the track gauge.
rinf index: 1.1.1.1.4.1
rinf index: 1.2.1.0.4.1
path: wheelSetGauge
max count: 1
node kind: IRI
severity: Violation
message: wheelSetGauge (1.1.1.1.4.1, 1.2.1.0.4.1): The track must have at most one wheel set gauge value that is an IRI.

WheelSetGaugeSKOS
type: SPARQLConstraint
affected property: wheelSetGauge
affected class: RunningTrack
scope: local
comment: A single value expressed in millimeters that identifies The track gauge.
rinf index: 1.1.1.1.4.1
rinf index: 1.2.1.0.4.1
message: Nominal track gauge (1.1.1.1.4.1, 1.2.1.0.4.1): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/nominal-track-gauges/NominalTrackGauges.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:wheelSetGauge AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:wheelSetGauge ?concept . era:wheelSetGauge era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

GsmRAdditionalInfo
type: PropertyShape
affected property: gsmRAdditionalInfo
affected class: RunningTrack
scope: local
comment: Any additional information on network characteristics or corresponding document available from the IM and stored by the Agency, e.g.; interference level, leading to the recommendation of additional on-board protection.
rinf index: 1.1.1.3.3.3.1
rinf index: 1.2.1.1.2.3.1
path: gsmRAdditionalInfo
class: Document
severity: Violation
message: gsmRAdditionalInfo (1.1.1.3.3.3.1 , 1.2.1.1.2.3.1): The track has additional information on network characteristics that must be a Document.
comment: Additional information on network characteristics.
message: gsmRAdditionalInfo (1.1.1.3.3.3.1): The track defines an additional information on network characteristics value that must be a Document.

GsmRAdditionalInfoApplicability
type: SPARQLConstraint
affected property: gsmRAdditionalInfo
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.3.1
rinf index: 1.2.1.1.2.3.1
message: gsmRAdditionalInfo (1.1.1.3.3.3.1, 1.2.1.1.2.3.1):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the gsmRAdditionalInfo parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gsmRAdditionalInfo AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gsmRAdditionalInfo ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:gsmRAdditionalInfo} . }

GprsImplementationArea
type: PropertyShape
affected property: gprsImplementationArea
affected class: RunningTrack
scope: local
comment: Indication of the area in which GPRS can be used for ETCS, expressed as a list of GPRS-enabled RBC's.
rinf index: 1.1.1.3.3.3.3
rinf index: 1.2.1.1.2.3.3
path: gprsImplementationArea
datatype: string
severity: Violation
message: gprsImplementationArea (1.1.1.3.3.3.3, 1.2.1.1.2.3.3): The gprsImplementationArea must be a string. This error is due to the value not being a string.
comment: Indication of the area in which GPRS can be used for ETCS.
message: gprsImplementationArea (1.1.1.3.3.3.3): The track defines the area in which GPRS can be used for ETCS value that must be a string. This error may be due to the track having a value that is not a string.

GprsImplementationAreaApplicability
type: SPARQLConstraint
affected property: gprsImplementationArea
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1), ETCS L2 (parameter 1.1.1.3.2.1) and GPRS for ETCS (parameter 1.1.1.3.3.3.2) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.3.3
rinf index: 1.2.1.1.2.3.3
message: gprsImplementationArea (1.1.1.3.3.3.3, 1.2.1.1.2.3.3):The track {$this} ({?label}), has a 'GSM-R version' defined and a 'ETCS level' type selected which makes the gprsImplementationArea parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gprsImplementationArea AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion; era:gprsForETCS true; era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gprsImplementationArea ?value} . }

AtoCommunicationSystem
type: PropertyShape
affected property: atoCommunicationSystem
affected class: RunningTrack
scope: local
comment: Supported ATO communication systems from trackside.
rinf index: 1.1.1.3.13.3
rinf index: 1.2.1.1.10.3
path: atoCommunicationSystem
node kind: IRI
severity: Violation
message: atoCommunicationSystem (1.1.1.3.13.3, 1.2.1.1.10.3): The track must have a ATO communication system value that is an IRI.

AtoCommunicationSystemSKOS
type: SPARQLConstraint
affected property: atoCommunicationSystem
affected class: RunningTrack
scope: local
comment: Supported ATO communication systems from trackside.
rinf index: 1.1.1.3.13.3
rinf index: 1.2.1.1.10.3
message: atoCommunicationSystem (1.1.1.3.13.3, 1.2.1.1.10.3): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/ato-commsys/ATOCommSystem.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:atoCommunicationSystem AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:atoCommunicationSystem ?concept . era:atoCommunicationSystem era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

AtoGradeAutomation
type: PropertyShape
affected property: atoGradeAutomation
affected class: RunningTrack
scope: local
comment: ATO grade of automation installed lineside.
rinf index: 1.1.1.3.13.1
rinf index: 1.2.1.1.10.1
path: atoGradeAutomation
node kind: IRI
severity: Violation
message: atoGradeAutomation (1.1.1.3.13.1, 1.2.1.1.10.1): The track must have a ATO grade of automation installed lineside value that is an IRI.

AtoGradeAutomationSKOS
type: SPARQLConstraint
affected property: atoGradeAutomation
affected class: RunningTrack
scope: local
comment: ATO grade of automation installed lineside.
rinf index: 1.1.1.3.13.1
rinf index: 1.2.1.1.10.1
message: atoGradeAutomation (1.1.1.3.13.1, 1.2.1.1.10.1): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/ato-grades-automation/ATOGradeOfAutomation.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:atoGradeAutomation AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:atoGradeAutomation ?concept . era:atoGradeAutomation era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

AtoSystemVersion
type: PropertyShape
affected property: atoSystemVersion
affected class: RunningTrack
scope: local
comment: ATO system version according to the specification referenced in TSI CCS (4.2.19).
rinf index: 1.1.1.3.13.2
rinf index: 1.2.1.1.10.2
path: atoSystemVersion
node kind: IRI
severity: Violation
message: atoSystemVersion (1.1.1.3.13.1, 1.2.1.1.10.1): The track must have a ATO system version value that is an IRI.

AtoSystemVersionSKOS
type: SPARQLConstraint
affected property: atoSystemVersion
affected class: RunningTrack
scope: local
comment: ATO system version according to the specification referenced in TSI CCS (4.2.19).
rinf index: 1.1.1.3.13.2
rinf index: 1.2.1.1.10.2
message: atoSystemVersion (1.1.1.3.13.1, 1.2.1.1.10.1): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/ato-s-versions/ATOSystemVersions.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:atoSystemVersion AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:atoSystemVersion ?concept . era:atoSystemVersion era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

BigMetalMass
type: PropertyShape
affected property: bigMetalMass
affected class: RunningTrack
scope: local
comment: Indication of existence of metal mass in the vicinity of the location, susceptible of perturbating the reading of balises by the on-board system.
rinf index: 1.1.1.3.2.18
rinf index: 1.2.1.1.1.18
path: bigMetalMass
max count: 1
datatype: boolean
severity: Violation
message: bigMetalMass (1.1.1.3.2.18, 1.2.1.1.1.18): Each track may define the existence of a metal mass in the vicinity of the location. This error is due to having more than one indication of existence of big metal mass value or having an indication of big metal mass value that is not Y/N (boolean).

BigMetalMassApplicability
type: SPARQLConstraint
affected property: bigMetalMass
affected class: RunningTrack
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.18
rinf index: 1.2.1.1.1.18
message: bigMetalMass (1.1.1.3.2.18, 1.2.1.1.1.18):The track {$this} ({?label}), has an 'ETCS Level Type' defined which makes the bigMetalMass parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:bigMetalMass AS ?path) WHERE { $this era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:bigMetalMass ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:bigMetalMass} . }

CantDeficiencyBasicSSP
type: PropertyShape
affected property: cantDeficiencyBasicSSP
affected class: RunningTrack
scope: local
comment: Essential information for drivers of trains with a worse (lower) tolerated cant deficiency than those for which the ETCS trackside provides SSP (Static Speed Profiles) in conjunction with parameter "Other Cant Deficiency train categories for which the ETCS trackside is configured to provide SSP".
rinf index: 1.1.1.3.2.14
rinf index: 1.2.1.1.1.14
path: cantDeficiencyBasicSSP
max count: 1
node kind: IRI
severity: Violation
message: cantDeficiencyBasicSSP (1.1.1.3.2.14, 1.2.1.1.1.14): The ETCS or subset must have a cant deficiency used for the basis SSP value that is an IRI.

CantDeficiencyBasicSSPSKOS
type: SPARQLConstraint
affected property: cantDeficiencyBasicSSP
affected class: ETCS
scope: local
comment: Essential information for drivers of trains with a worse (lower) tolerated cant deficiency than those for which the ETCS trackside provides SSP (Static Speed Profiles) in conjunction with parameter "Other Cant Deficiency train categories for which the ETCS trackside is configured to provide SSP".
rinf index: 1.1.1.3.2.14
rinf index: 1.2.1.1.1.14
message: cantDeficiencyBasicSSP (1.1.1.3.2.14, 1.2.1.1.1.14): The ETCS {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/cant-deficiencies/CantDeficiencies.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:cantDeficiencyBasicSSP AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:cantDeficiencyBasicSSP ?concept . era:cantDeficiencyBasicSSP era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

CantDeficiencyBasicSSPApplicability
type: SPARQLConstraint
affected property: cantDeficiencyBasicSSP
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.14
rinf index: 1.2.1.1.1.14
message: cantDeficiencyBasicSSP (1.1.1.3.2.14, 1.2.1.1.1.14):The ETCS or subset {$this} ({?thisLabel}), has a 'ETCS Level Type' defined which makes the cantDeficiencyBasicSSP parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:cantDeficiencyBasicSSP AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:cantDeficiencyBasicSSP ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:cantDeficiencyBasicSSP } . }

LineCategory
type: PropertyShape
affected property: lineCategory
affected class: RunningTrack
scope: local
comment: Classification of a line according to the TSI INF.
rinf index: 1.1.1.1.2.2
rinf index: 1.2.1.0.2.2
path: lineCategory
node kind: IRI
severity: Violation
message: lineCategory (1.1.1.1.2.2, 1.2.1.0.2.2): The track must have a classification of a line value that is an IRI.

LineCategorySKOS
type: SPARQLConstraint
affected property: lineCategory
affected class: RunningTrack
scope: local
comment: Classification of a line according to the TSI INF.
rinf index: 1.1.1.1.2.2
rinf index: 1.2.1.0.2.2
message: lineCategory (1.1.1.1.2.2, 1.2.1.0.2.2): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/line-category/LineCategories.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:lineCategory AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:lineCategory ?concept . era:lineCategory era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

DNvovtrp
type: PropertyShape
affected property: dNvovtrp
affected class: ETCS
scope: local
comment: Maximum distance for overriding the train trip in metres.
rinf index: 1.1.1.3.2.16.5
rinf index: 1.2.1.1.1.16.5
path: dNvovtrp
max count: 1
min inclusive: 0.0
max exclusive: 327670.0
datatype: decimal
pattern: ^(([1-9]{0,1}[0-9]{0,3}\.{1}[0-9]{1})|([1-9]\d{1,4}0)|([1-9]\d{0,4}))$
severity: Violation
message: dNvovtrp (1.1.1.3.2.16.5, 1.2.1.1.1.16.5): Each ETCS or subset must define the maximum distance for overriding the train trip expressed in metres. This error is due to having maximum distance for overriding the train trip value that is not a double (real) number.

DNvovtrpApplicability
type: SPARQLConstraint
affected property: dNvovtrp
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present)
rinf index: 1.1.1.3.2.16.5
rinf index: 1.2.1.1.1.16.5
message: dNvovtrp (1.1.1.3.2.16.5, 1.2.1.1.1.16.5):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the dNvovtrp parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:dNvovtrp AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:dNvovtrp ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:dNvovtrp } . }

DNvpotrp
type: PropertyShape
affected property: dNvpotrp
affected class: ETCS
scope: local
comment: Maximum distance for reversing in Post Trip mode in metres
rinf index: 1.1.1.3.2.16.7
rinf index: 1.2.1.1.1.16.7
path: dNvpotrp
max count: 1
min inclusive: 0.0
max exclusive: 327670.0
datatype: decimal
pattern: ^(([1-9]{0,1}[0-9]{0,3}\.{1}[0-9]{1})|([1-9]\d{1,4}0)|([1-9]\d{0,4}))$
severity: Violation
message: dNvpotrp (1.1.1.3.2.16.7, 1.2.1.1.1.16.7): Each ETCS must define the maximum distance for reversing in Post Trip mode in metres. This error is due to having maximum distance for reversing in Post Trip mode value that is not a double (real) number.

DNvpotrpApplicability
type: SPARQLConstraint
affected property: dNvpotrp
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.7
rinf index: 1.2.1.1.1.16.7
message: dNvpotrp (1.1.1.3.2.16.7, 1.2.1.1.1.16.7):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the dNvpotrp parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:dNvpotrp AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:dNvpotrp ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:dNvpotrp } . }

DNvroll
type: PropertyShape
affected property: dNvroll
affected class: ETCS
scope: local
comment: Parameter used by the ETCS on-board to supervise the distance allowed to be travelled under the roll-away protection and the reverse movement protection, in metres.
rinf index: 1.1.1.3.2.16.1
rinf index: 1.2.1.1.1.16.1
path: dNvroll
max count: 1
datatype: double
pattern: ^(([1-9]{0,1}[0-9]{0,3}\.{1}[0-9]{1})|([1-9]\d{1,4}0)|([1-9]\d{0,4}))$
severity: Violation
message: dNvroll (1.1.1.3.2.16.1, 1.2.1.1.1.16.1): Each ETCS or subset must define the parameter used by the ETCS on-board to supervise the distance allowed to be travelled under the roll-away protection and the reverse movement protection expressed in metres. This error is due to having more than one value or having a value that is not a double (real) number.

DNvrollApplicability
type: SPARQLConstraint
affected property: dNvroll
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.1
rinf index: 1.2.1.1.1.16.1
message: dNvroll (1.1.1.3.2.16.7, 1.2.1.1.1.16.7):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the dNvroll parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:dNvroll AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:dNvroll ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:dNvroll } . }

PublicNetworkRoamingDetails
type: PropertyShape
affected property: publicNetworkRoamingDetails
affected class: RunningTrack
scope: local
comment: If roaming to public networks is configured, please: 1. indicate to which networks, for which users and in which areas. 2. list if any GSM-R functionality is not available when roaming to a public network (e.g. REC, Functional Addressing, Group Calls). 3. also add if there is any operational restriction for vehicles that cannot roam into any of the available public networks.
rinf index: 1.1.1.3.3.7
rinf index: 1.2.1.1.2.7
path: publicNetworkRoamingDetails
max count: 1
datatype: string
severity: Violation
message: publicNetworkRoamingDetails (1.1.1.3.3.7, 1.2.1.1.2.7): Each track may have details on GSM-R roaming to public networks that is a character string. This error is due to having more than one publicNetworkRoamingDetails value or having a value that is not a string.

PublicNetworkRoamingDetailsApplicability
type: SPARQLConstraint
affected property: publicNetworkRoamingDetails
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.7
rinf index: 1.2.1.1.2.7
message: publicNetworkRoamingDetails (1.1.1.3.3.7, 1.2.1.1.2.7):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the publicNetworkRoamingDetails parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:publicNetworkRoamingDetails AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:publicNetworkRoamingDetails ?value} . }

LocalRulesOrRestrictionsDoc
type: PropertyShape
affected property: localRulesOrRestrictionsDoc
affected class: RunningTrack
scope: local
comment: Electronic document available from the IM stored by the Agency providing additional information.
rinf index: 1.1.1.4.2
rinf index: 1.2.3.2
path: localRulesOrRestrictionsDoc
class: Document
severity: Violation
message: localRulesOrRestrictionsDoc (1.1.1.4.2, 1.2.3.2): The track has a value of the document regarding the rules or restrictions of a strictly local nature available by the IM, that must be a Document.

ErrorCorrectionsOnboard
type: PropertyShape
affected property: errorCorrectionsOnboard
affected class: RunningTrack
scope: local
comment: List of applicable CR's required to be solved in the on-board according to the TSI CCS point 7.2.10.3 specification maintenance point (ETCS, GSM-R and/or ATO).
rinf index: 1.1.1.3.1.2
rinf index: 1.2.1.1.1.19
path: errorCorrectionsOnboard
node kind: IRI
max count: 1
severity: Violation
message: errorCorrectionsOnboard (1.1.1.3.1.2, 1.2.1.1.1.19): The track may have an error correction required for the on-board ETCS, GSM-R and/or ATO function value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

ErrorCorrectionsOnboardSKOS
type: SPARQLConstraint
affected property: errorCorrectionsOnboard
affected class: RunningTrack
scope: local
comment: List of applicable CR's required to be solved in the on-board according to the TSI CCS point 7.2.10.3 specification maintenance point (ETCS, GSM-R and/or ATO).
rinf index: 1.1.1.3.1.2
rinf index: 1.2.1.1.1.19
message: errorCorrectionsOnboard (1.1.1.3.1.2, 1.2.1.1.1.19): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/error-corrections/OnboardErrorCorrections.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:errorCorrectionsOnboard AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:errorCorrectionsOnboard ?concept . era:errorCorrectionsOnboard era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

EtcsInfillLineAccess
type: PropertyShape
affected property: etcsInfillLineAccess
affected class: ETCS
scope: local
comment: Indication whether infill is required to access the line for safety reasons.
rinf index: 1.1.1.3.2.3
rinf index: 1.2.1.1.1.3
path: etcsInfillLineAccess
max count: 1
datatype: boolean
severity: Violation
message: etcsInfillLineAccess (1.1.1.3.2.3, 1.2.1.1.1.3): Each ETCS or subset may define the existence of a ETCS infill necessary for line access. This error is due to having more than one indication of ETCS infill necessary for line access value or having an indication of ETCS infill necessary for line access value that is not Y/N (boolean).

EtcsInfillLineAccessApplicability
type: SPARQLConstraint
affected property: etcsInfillLineAccess
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.3
rinf index: 1.2.1.1.1.3
message: etcsInfillLineAccess (1.1.1.3.2.3, 1.2.1.1.1.3):The ETCS or subset {$this} ({?thisLabel}), has a 'ETCS Level Type' defined which makes the etcsInfillLineAccess parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsInfillLineAccess AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsInfillLineAccess ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsInfillLineAccess } . }

EtcsDegradedSituation
type: PropertyShape
affected property: etcsDegradedSituation
affected class: RunningTrack
scope: local
comment: ERTMS / ETCS application level for degraded situation related to the track side equipment.
rinf index: 1.1.1.3.10.1
rinf index: 1.2.1.1.9.1
path: etcsDegradedSituation
node kind: IRI
severity: Violation
message: etcsDegradedSituation (1.1.1.3.10.1, 1.2.1.1.9.1): The track must have an ETCS level for degraded situation value that is an IRI.

EtcsDegradedSituationSKOS
type: SPARQLConstraint
affected property: etcsDegradedSituation
affected class: RunningTrack
scope: local
comment: ERTMS / ETCS application level for degraded situation related to The track side equipment.
rinf index: 1.1.1.3.10.1
rinf index: 1.2.1.1.9.1
message: etcsDegradedSituation (1.1.1.3.10.1, 1.2.1.1.9.1): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-situation/ETCSSituations.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:etcsDegradedSituation AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsDegradedSituation ?concept . era:etcsDegradedSituation era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

EtcsDegradedSituationApplicability
type: SPARQLConstraint
affected property: etcsDegradedSituation
affected class: RunningTrack
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.10.1
rinf index: 1.2.1.1.9.1
message: etcsDegradedSituation (1.1.1.3.10.1, 1.2.1.1.9.1):The track {$this} ({?label}), has an 'ETCS Level Type' defined that makes the etcsDegradedSituation parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:etcsDegradedSituation AS ?path) WHERE { $this era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:etcsDegradedSituation ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:etcsDegradedSituation} . }

HasEtcsNationalPacket44
type: PropertyShape
affected property: hasEtcsNationalPacket44
affected class: ETCS
scope: local
comment: Indication whether data for national packet 44 applications is transmitted between track and train.
rinf index: 1.1.1.3.2.5
rinf index: 1.2.1.1.1.5
path: hasEtcsNationalPacket44
max count: 1
datatype: boolean
severity: Violation
message: hasEtcsNationalPacket44 (1.1.1.3.2.5, 1.2.1.1.1.5): Each ETCS or subset may define the existence of an ETCS national packet 44 application. This error is due to having more than one indication of ETCS national packet 44 application value or having an indication of ETCS national packet 44 application value that is not Y/N (boolean).

HasEtcsNationalPacket44Applicability
type: SPARQLConstraint
affected property: hasEtcsNationalPacket44
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.5
rinf index: 1.2.1.1.1.5
message: hasEtcsNationalPacket44 (1.1.1.3.2.5, 1.2.1.1.1.5):The ETCS {$this} ({?thisLabel}), has an 'ETCS Level Type' defined that makes the hasEtcsNationalPacket44 parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:hasEtcsNationalPacket44 AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:hasEtcsNationalPacket44 ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:hasEtcsNationalPacket44 } . }

EtcsNationalPacket44Function
type: PropertyShape
affected property: etcsNationalPacket44Function
affected class: Track
scope: local
comment: Link to the implemented functions for national packet 44 applications that are transmitted between track and train.
rinf index: 1.1.1.3.2.5
rinf index: 1.2.1.1.1.5
path: etcsNationalPacket44Function
node kind: IRI
severity: Violation
message: etcsNationalPacket44Function (1.1.1.3.2.5, 1.2.1.1.1.5): The ETCS or subset must have a ETCS national packet 44 application implemented function value that is an IRI.

EtcsNationalPacket44FunctionSKOS
type: SPARQLConstraint
affected property: etcsNationalPacket44Function
affected class: ETCS
scope: local
comment: Link to the implemented functions for national packet 44 applications that are transmitted between track and train.
rinf index: 1.1.1.3.2.5
rinf index: 1.2.1.1.1.5
message: etcsNationalPacket44Function (1.1.1.3.2.5, 1.2.1.1.1.5): The ETCS or subset {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-national-packet-444-functions/ETCSNationalPacket444Functions/.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:etcsNationalPacket44Function AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:etcsNationalPacket44Function ?concept . era:etcsNationalPacket44Function era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

http://data.europa.eu/949/shapes/EtcsNationalPacket44FunctionApplicability
type: SPARQLConstraint
affected property: etcsNationalPacket44Function
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.5
rinf index: 1.2.1.1.1.5
message: etcsNationalPacket44Function (1.1.1.3.2.5 , 1.2.1.1.1.5): The ETCS or subset {$this} ({?thisLabel}), has a ETCS level type which makes the etcsNationalPacket44Function parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsNationalPacket44Function AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsNationalPacket44Function ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsNationalPacket44Function } . }

EtcsImplementsLevelCrossingProcedure
type: PropertyShape
affected property: etcsImplementsLevelCrossingProcedure
affected class: ETCS
scope: local
comment: If the trackside does not implement any solution to cover defective LXs (which are normally protected by means of a technical system), then drivers will be required to comply with instructions received from other sources.
rinf index: 1.1.1.3.2.13
rinf index: 1.2.1.1.1.13
path: etcsImplementsLevelCrossingProcedure
max count: 1
datatype: boolean
severity: Violation
message: etcsImplementsLevelCrossingProcedure (1.1.1.3.2.13, 1.2.1.1.1.13): Each ETCS or subset may define the existence of level crossing procedure or an equivalent solution for ETCS trackside. This error is due to having more than one value or having a value that is not Y/N (boolean).

EtcsImplementsLevelCrossingProcedureApplicability
type: SPARQLConstraint
affected property: etcsImplementsLevelCrossingProcedure
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.13
rinf index: 1.2.1.1.1.13
message: etcsImplementsLevelCrossingProcedure (1.1.1.3.2.13, 1.2.1.1.1.13):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined that makes the etcsImplementsLevelCrossingProcedure parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:etcsImplementsLevelCrossingProcedure AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:etcsImplementsLevelCrossingProcedure ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:etcsImplementsLevelCrossingProcedure } . }

TsiTractionHarmonics
type: PropertyShape
affected property: tsiTractionHarmonics
affected class: RunningTrack
scope: local
comment: Indication whether rules exist and are compliant with the TSI.
rinf index: 1.1.1.3.9.2
rinf index: 1.2.1.1.8.2
path: tsiTractionHarmonics
max count: 1
datatype: boolean
severity: Violation
message: tsiTractionHarmonics (1.1.1.3.9.2, 1.2.1.1.8.2): Each track may define the existence and TSI compliance of limits in harmonics in the traction current of vehicles. This error is due to having more than one value or having a value that is not Y/N (boolean).

TsiTractionHarmonicsApplicability
type: SPARQLConstraint
affected property: tsiTractionHarmonics
affected class: RunningTrack
scope: local
comment: Applicable ('Y') only when for parameter 1.1.1.3.7.1.1 the selected option is 'wheel detector' or 'track circuit'.
rinf index: 1.1.1.3.9.2
rinf index: 1.2.1.1.8.2
message: tsiTractionHarmonics (1.1.1.3.9.2, 1.2.1.1.8.2): The track {$this} ({?label}), has a 'train detection system' type ('wheel detector' or 'track circuit') that makes the tsiTractionHarmonics parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:tsiTractionHarmonics AS ?path) WHERE { {$this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/rinf/10>} UNION {$this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/rinf/20>} OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:tsiTractionHarmonics ?value} . }

TsiMagneticFields
type: PropertyShape
affected property: tsiMagneticFields
affected class: RunningTrack
scope: local
comment: Indication whether rules exist and are compliant with the TSI.
rinf index: 1.1.1.3.9.1
rinf index: 1.2.1.1.8.1
path: tsiMagneticFields
max count: 1
datatype: boolean
severity: Violation
message: tsiMagneticFields (1.1.1.3.9.1, 1.2.1.1.8.1): Each track may define the existence and TSI compliance of rules for magnetic fields emitted by a vehicle. This error is due to having more than one value or having a value that is not Y/N (boolean).

TsiMagneticFieldsApplicability
type: SPARQLConstraint
affected property: tsiMagneticFields
affected class: RunningTrack
scope: local
comment: Applicable ('Y') only when for parameter 1.1.1.3.7.1.1 the selected option is 'wheel detector'.
rinf index: 1.1.1.3.9.1
rinf index: 1.2.1.1.8.1
message: tsiMagneticFields (1.1.1.3.9.1, 1.2.1.1.8.1):The track {$this} ({?label}), has a 'train detection system' type ('wheel detector') that makes the tsiMagneticFields parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:tsiMagneticFields AS ?path) WHERE { $this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/rinf/20>. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:tsiMagneticFields ?value} . }

PublicNetworkRoaming
type: PropertyShape
affected property: publicNetworkRoaming
affected class: RunningTrack
scope: local
comment: Existence of roaming to a public network.
rinf index: 1.1.1.3.3.6
rinf index: 1.2.1.1.2.6
path: publicNetworkRoaming
max count: 1
datatype: boolean
severity: Violation
message: publicNetworkRoaming (1.1.1.3.3.6, 1.2.1.1.2.6): Each track may define the existence of GSM-R roaming to public networks. This error is due to having more than one value or having a value that is not Y/N (boolean).

PublicNetworkRoamingApplicability
type: SPARQLConstraint
affected property: publicNetworkRoaming
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.6
rinf index: 1.2.1.1.2.6
message: publicNetworkRoaming (1.1.1.3.3.6, 1.2.1.1.2.6):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the publicNetworkRoaming parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:publicNetworkRoaming AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:publicNetworkRoaming ?value} . }

HasETCSRestrictionsConditions
type: PropertyShape
affected property: hasETCSRestrictionsConditions
affected class: ETCS
scope: local
comment: Indication whether restrictions or conditions due to partial compliance with the TSI CCS exist.
rinf index: 1.1.1.3.2.6
rinf index: 1.2.1.1.1.6
path: hasETCSRestrictionsConditions
max count: 1
datatype: boolean
severity: Violation
message: hasETCSRestrictionsConditions (1.1.1.3.2.6, 1.2.1.1.1.6): Each ETCS or subset may define the existence of operating restrictions or conditions. This error is due to having more than one value or having a value that is not Y/N (boolean).

HasETCSRestrictionsConditionsApplicability
type: SPARQLConstraint
affected property: hasETCSRestrictionsConditions
affected class: ETCS
scope: local
comment: Only applicable (true) when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.6
rinf index: 1.2.1.1.1.6
message: hasETCSRestrictionsConditions (1.1.1.3.2.6, 1.2.1.1.1.6):The ETCS or subset {$this} ({?thisLabel}), has a 'ETCS level' type selected which makes the hasETCSRestrictionsConditions parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:hasETCSRestrictionsConditions AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:hasETCSRestrictionsConditions ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:hasETCSRestrictionsConditions } . }

EtcsRestrictionsConditionsDoc
type: PropertyShape
affected property: etcsRestrictionsConditionsDoc
affected class: Track
scope: local
comment: Indication of the document where restrictions or conditions due to partial compliance with the TSI CCS are described.
rinf index: 1.1.1.3.2.6
rinf index: 1.2.1.1.1.6
path: etcsRestrictionsConditionsDoc
max count: 1
class: Document
severity: Violation
message: etcsRestrictionsConditionsDoc (1.1.1.3.2.6, 1.2.1.1.1.6): The ETCS or subset has a document regarding the rules or restrictions of a strictly local nature available by the IM value that must be a Document.

EtcsRestrictionsConditionsDocApplicability
type: SPARQLConstraint
affected property: etcsRestrictionsConditionsDoc
affected class: ETCS
scope: local
comment: Only applicable when hasETCSRestricionsConditions is true.
rinf index: 1.1.1.3.2.6
rinf index: 1.2.1.1.1.6
message: etcsRestrictionsConditionsDoc (1.1.1.3.2.6, 1.2.1.1.1.6):The ETCS or subset {$this} ({?label}), has a 'has ETCS Restricions Condition' value 'true' which makes the etcsRestrictionsConditionsDoc parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:etcsRestrictionsConditionsDoc AS ?path) WHERE { $this era:hasETCSRestrictionsConditions true . OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS { $this era:etcsRestrictionsConditionsDoc ?value } . }

LocalRulesOrRestrictions
type: PropertyShape
affected property: localRulesOrRestrictions
affected class: RunningTrack
affected class: OperationalPoint
affected class: CommonCharacteristicsSubset
scope: local
comment: Existence of rules and restrictions of a strictly local nature.
rinf index: 1.1.1.4.1
rinf index: 1.2.3.1
path: localRulesOrRestrictions
max count: 1
datatype: boolean
severity: Violation
message: localRulesOrRestrictions (1.1.1.4.1, 1.2.3.1): Each track may define the existence of rules and restrictions of a strictly local nature. This error is due to having more than one value or having a value that is not Y/N (boolean).

SwitchProtectControlWarning
type: PropertyShape
affected property: switchProtectControlWarning
affected class: Track
scope: local
comment: Indication whether a switch over between different systems whilst running exists.
rinf index: 1.2.1.1.7.1
rinf index: 1.1.1.3.8.1
path: switchProtectControlWarning
max count: 1
datatype: boolean
severity: Violation
message: switchProtectControlWarning (1.2.1.1.7.1, 1.1.1.3.8.1): Each track may define the existence of switch over between different protection, control and warning systems while running. This error is due to having more than one value or having a value that is not Y/N (boolean).

SwitchProtectControlWarningApplicability
type: SPARQLConstraint
affected property: switchProtectControlWarning
affected class: RunningTrack
scope: local
comment: Applicable ('Y') when at least two different class of protection systems exist.
rinf index: 1.2.1.1.7.1
rinf index: 1.1.1.3.8.1
message: switchProtectControlWarning (1.2.1.1.7.1, 1.1.1.3.8.1):The track {$this} ({?label}), has more than one protection system defined which makes the switchProtectControlWarning parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?count (era:switchProtectControlWarning AS ?path) WHERE { { SELECT $this (COUNT(?system) AS ?count) WHERE{ {$this era:protectionLegacySystem ?system} UNION {$this era:otherTrainProtection ?system} } GROUP BY $this } OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER ( ?count > 1) . FILTER NOT EXISTS {$this era:switchProtectControlWarning ?value} . }

SwitchRadioSystem
type: PropertyShape
affected property: switchRadioSystem
affected class: Track
scope: local
comment: Indication whether a switch over between different radio systems and no communication system whilst running exists.
rinf index: 1.2.1.1.7.2
rinf index: 1.1.1.3.8.2
path: switchRadioSystem
max count: 1
datatype: boolean
severity: Violation
message: switchRadioSystem (1.2.1.1.7.2, 1.1.1.3.8.2): Each track may define the existence of switch over between different radio systems. This error is due to having more than one value or having a value that is not Y/N (boolean).

SwitchRadioSystemApplicability
type: SPARQLConstraint
affected property: switchRadioSystem
affected class: RunningTrack
scope: local
comment: Applicable ('Y') when at least two different radio systems exist.
rinf index: 1.2.1.1.7.2
rinf index: 1.1.1.3.8.2
message: switchRadioSystem (1.2.1.1.7.2, 1.1.1.3.8.2):The track {$this} ({?label}), has more than one radio system defined which makes the switchRadioSystem parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?countRS (era:switchRadioSystem AS ?path) WHERE { { SELECT $this (COUNT(?radioSystem) AS ?countRS) WHERE{ $this era:legacyRadioSystem ?radioSystem } GROUP BY $this } OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER ( ?countRS > 1) . FILTER NOT EXISTS {$this era:switchRadioSystem ?value} . }

HasTSITrainDetection
type: PropertyShape
affected property: hasTSITrainDetection
affected class: RunningTrack
scope: local
comment: Indication if there is any train detection system installed and fully compliant with the TSI CCS (Annex I, Appendix A, Table A.2 -Index 77).
rinf index: 1.1.1.3.4.1
rinf index: 1.2.1.1.3.1
path: hasTSITrainDetection
max count: 1
datatype: boolean
severity: Violation
message: hasTSITrainDetection (1.1.1.3.4.1, 1.2.1.1.3.1): Each track may define the existence of train detection system fully compliant with the TSI. This error is due to having more than one value or having a value that is not Y/N (boolean).

GprsForETCS
type: PropertyShape
affected property: gprsForETCS
affected class: RunningTrack
scope: local
comment: Indication if GPRS can be used for ETCS.
rinf index: 1.1.1.3.3.3.2
rinf index: 1.2.1.1.2.3.2
path: gprsForETCS
max count: 1
datatype: boolean
severity: Violation
message: gprsForETCS (1.1.1.3.3.3.2, 1.2.1.1.2.3.2): Each track may define the existence of GPRS for ETCS. This error is due to having more than one value or having a value that is not Y/N (boolean).
message: gprsForETCS (1.1.1.3.3.3.2): The track must define at most one use of GPRS for ETCS value that is Y/N (boolean). This error may be due to the track having more than one value or to having a value that is not Y/N (boolean).

GprsForETCSApplicability
type: SPARQLConstraint
affected property: gprsForETCS
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) and ETCS L2 (parameter 1.1.1.3.2.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.3.2
rinf index: 1.2.1.1.2.3.2
message: gprsForETCS (1.1.1.3.3.3.2, 1.2.1.1.2.3.2):The track {$this} ({?label}), has a 'GSM-R version' defined and a 'ETCS level' type selected which makes the gprsForETCS parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gprsForETCS AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion; era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gprsForETCS ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:gprsForETCS} . }

GsmrNetworkCoverage
type: PropertyShape
affected property: gsmrNetworkCoverage
affected class: RunningTrack
scope: local
comment: List of GSM-R networks which are covered by a roaming agreement.
rinf index: 1.1.1.3.3.5
rinf index: 1.2.1.1.2.5
path: gsmrNetworkCoverage
node kind: IRI
severity: Violation
message: gsmrNetworkCoverage (1.1.1.3.3.5, 1.2.1.1.2.5): The track must have a GSM-R networks covered by a roaming agreement value that is an IRI.

GsmrNetworkCoverageSKOS
type: SPARQLConstraint
affected property: gsmrNetworkCoverage
affected class: RunningTrack
scope: local
comment: List of GSM-R networks which are covered by a roaming agreement.
rinf index: 1.1.1.3.3.5
rinf index: 1.2.1.1.2.5
message: gsmrNetworkCoverage (1.1.1.3.3.5, 1.2.1.1.2.5): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/gsmr-networks/GSMRNetworks.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:gsmrNetworkCoverage AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gsmrNetworkCoverage ?concept . era:gsmrNetworkCoverage era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

GsmrNetworkCoverageApplicability
type: SPARQLConstraint
affected property: gsmrNetworkCoverage
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.5
rinf index: 1.2.1.1.2.5
message: gsmrNetworkCoverage (1.1.1.3.3.5, 1.2.1.1.2.5):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the gsmrNetworkCoverage parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gsmrNetworkCoverage AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gsmrNetworkCoverage ?value} . }

UsesGroup555Applicability
type: SPARQLConstraint
affected property: usesGroup555
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) and ETCS L2 (parameter 1.1.1.3.2.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.4
rinf index: 1.2.1.1.2.4
message: usesGroup555 (1.1.1.3.3.4, 1.2.1.1.2.4):The track {$this} ({?label}), has a 'GSM-R version' defined and a 'ETCS level' type selected which makes the usesGroup555 parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:usesGroup555 AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion; era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:usesGroup555 ?value} . }

GsmRVersion
type: PropertyShape
affected property: gsmRVersion
affected class: RunningTrack
scope: local
comment: GSM-R functional requirements specification and system requirements specification in accordance with the specification respectively referenced in TSI CCS (Annex ), version number installed lineside.
rinf index: 1.1.1.3.3.1
rinf index: 1.2.1.1.2.1
path: gsmRVersion
node kind: IRI
severity: Violation
message: gsmRVersion (1.1.1.3.3.1, 1.2.1.1.2.1): The track must have a GSM-R version value that is an IRI.

GsmRVersionSKOS
type: SPARQLConstraint
affected property: gsmRVersion
affected class: RunningTrack
scope: local
comment: GSM-R functional requirements specification and system requirements specification in accordance with the specification respectively referenced in TSI CCS (Annex ), version number installed lineside.
rinf index: 1.1.1.3.3.1
rinf index: 1.2.1.1.2.1
message: gsmRVersion (1.1.1.3.3.1, 1.2.1.1.2.1): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/gsmr-versions/GSMRVersions.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:gsmRVersion AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gsmRVersion ?concept . era:gsmRVersion era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

TrackId
type: PropertyShape
affected property: trackId
affected class: RunningTrack
scope: local
comment: Unique track identification or unique track number within an OP or a section of line.
rinf index: 1.1.1.0.0.1
rinf index: 1.2.1.0.0.2
min count: 1
max count: 1
path: trackId
datatype: string
severity: Violation
message: trackId (1.1.1.3.3.3.3, 1.2.1.1.2.3.3): The identification of a track must be a string. This error may be due to having a track with no identification or with more than one value as identification, or having a value that is not a string.

GsmrForcedDeregistrationFunctionalNumber
type: PropertyShape
affected property: gsmrForcedDeregistrationFunctionalNumber
affected class: RunningTrack
scope: local
comment: This feature will determine the applicable operational rules for drivers and signallers when dealing with cab radios registered under wrong numbers.
rinf index: 1.1.1.3.3.11
rinf index: 1.2.1.1.2.11
path: gsmrForcedDeregistrationFunctionalNumber
max count: 1
datatype: boolean
severity: Violation
message: gsmrForcedDeregistrationFunctionalNumber (1.1.1.3.3.11, 1.2.1.1.2.11): Each track may define the existence of GSM-R network configured to allow forced de-registration of a functional number by another driver. This error is due to having more than one value or having a value that is not Y/N (boolean).

GsmrForcedDeregistrationFunctionalNumberApplicability
type: SPARQLConstraint
affected property: gsmrForcedDeregistrationFunctionalNumber
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) and ETCS L2 (parameter 1.1.1.3.2.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.11
rinf index: 1.2.1.1.2.11
message: gsmrForcedDeregistrationFunctionalNumber (1.1.1.3.3.11, 1.2.1.1.2.11):The track {$this} ({?label}), has a 'GSM-R version' defined and a 'ETCS level' type selected which makes the gsmrForcedDeregistrationFunctionalNumber parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gsmrForcedDeregistrationFunctionalNumber AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion; era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gsmrForcedDeregistrationFunctionalNumber ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:gsmrForcedDeregistrationFunctionalNumber} . }

MNvcontact
type: PropertyShape
affected property: mNvcontact
affected class: ETCS
scope: local
comment: On-Board system reaction when T_NVCONTACT expires.
rinf index: 1.1.1.3.2.16.9
rinf index: 1.2.1.1.1.16.9
path: mNvcontact
node kind: IRI
max count: 1
severity: Violation
message: mNvcontact (1.1.1.3.2.16.9, 1.2.1.1.1.16.9): The ETCS or subset may have an M_NVCONTACT value that is an IRI. This error is due to having more than one value or having a value that is not an IRI

MNvcontactSKOS
type: SPARQLConstraint
affected property: mNvcontact
affected class: ETCS
scope: local
comment: On-Board system reaction when T_NVCONTACT expires.
rinf index: 1.1.1.3.2.16.9
rinf index: 1.2.1.1.1.16.9
message: mNvcontact (1.1.1.3.2.16.9, 1.2.1.1.1.16.9): The ETCS or subset {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-reactions-contact/ETCSReactionsNVContact.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:mNvcontact AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:mNvcontact ?concept . era:mNvcontact era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

MNvcontactApplicability
type: SPARQLConstraint
affected property: mNvcontact
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.9
rinf index: 1.2.1.1.1.16.9
message: mNvcontact (1.1.1.3.2.16.9, 1.2.1.1.1.16.9):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the mNvcontact parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:mNvcontact AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:mNvcontact ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:mNvcontact } . }

MNvderun
type: PropertyShape
affected property: mNvderun
affected class: ETCS
scope: local
comment: Entry of Driver ID permitted while running.
rinf index: 1.1.1.3.2.16.10
rinf index: 1.2.1.1.1.16.10
path: mNvderun
max count: 1
datatype: boolean
severity: Violation
message: mNvderun (1.1.1.3.2.16.10, 1.2.1.1.1.16.10): Each ETCS or subset may define the M_NVDERUN value. This error is due to having more than one value or having a value that is not Y/N (boolean).

MNvderunApplicability
type: SPARQLConstraint
affected property: mNvderun
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.10
rinf index: 1.2.1.1.1.16.10
message: mNvderun (1.1.1.3.2.16.10, 1.2.1.1.1.16.10):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the mNvderun parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:mNvderun AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:mNvderun ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:mNvderun } . }

NationalValuesBrakeModel
type: PropertyShape
affected property: nationalValuesBrakeModel
affected class: ETCS
scope: local
comment: Set of parameters for adapting the braking curves calculated by the ETCS on-board system to match accuracy, performance and safety margins imposed by the infrastructure manager.
rinf index: 1.1.1.3.2.16.13
rinf index: 1.2.1.1.1.16.13
path: nationalValuesBrakeModel
datatype: string
max count: 1
severity: Violation
message: nationalValuesBrakeModel (1.1.1.3.2.16.13, 1.2.1.1.1.16.13): The ETCS or subset has a National Value used for the brake model that must be a string and follow the format [±NNNN.NNN]. The error is due to having more than one value, having a vaalue that is not a string, or it is due to the value not following the pattern.

NationalValuesBrakeModelApplicability
type: SPARQLConstraint
affected property: nationalValuesBrakeModel
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.13
rinf index: 1.2.1.1.1.16.13
message: nationalValuesBrakeModel (1.1.1.3.2.16.13, 1.2.1.1.1.16.13):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the nationalValuesBrakeModel parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:nationalValuesBrakeModel AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:nationalValuesBrakeModel ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:nationalValuesBrakeModel } . }

GsmRNoCoverage
type: PropertyShape
affected property: gsmRNoCoverage
affected class: RunningTrack
scope: local
comment: Indication if there is no GSMR coverage.
rinf index: 1.1.1.3.3.8
rinf index: 1.2.1.1.2.8
path: gsmRNoCoverage
max count: 1
datatype: boolean
severity: Violation
message: gsmRNoCoverage (1.1.1.3.3.8, 1.2.1.1.2.8): Each track may define the indication of existence of GSMR coverage. This error is due to having more than one value or having a value that is not Y/N (boolean).

GsmRNoCoverageApplicability
type: SPARQLConstraint
affected property: gsmRNoCoverage
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.8
rinf index: 1.2.1.1.2.8
message: gsmRNoCoverage (1.1.1.3.3.8, 1.2.1.1.2.8):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the gsmRNoCoverage parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gsmRNoCoverage AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gsmRNoCoverage ?value} . }

GsmRActiveMobiles
type: PropertyShape
affected property: gsmRActiveMobiles
affected class: RunningTrack
scope: local
comment: Number of simultaneous communication session on board for ETCS level 2 required for a smooth running of the train. This relates to the radio block centre (RBC) handling of communication sessions. Not safety critical and no matter of interoperability.
rinf index: 1.1.1.3.3.2
rinf index: 1.2.1.1.2.2
path: gsmRActiveMobiles
node kind: IRI
max count: 1
severity: Violation
message: gsmRActiveMobiles (1.1.1.3.3.2, 1.2.1.1.2.2): The track must have a number of active GSM-R mobiles (EDOR) or simultaneous communication session on-board for ETCS Level 2 needed to perform radio block centre handovers without having an operational disruption value that is a single IRI. This error is due to having more than one value or having a value that is not an IRI.

GsmRActiveMobilesSKOS
type: SPARQLConstraint
affected property: gsmRActiveMobiles
affected class: RunningTrack
scope: local
comment: Number of simultaneous communication session on board for ETCS level 2 required for a smooth running of the train. This relates to the radio block centre (RBC) handling of communication sessions. Not safety critical and no matter of interoperability.
rinf index: 1.1.1.3.3.2
rinf index: 1.2.1.1.2.2
message: gsmRActiveMobiles (1.1.1.3.3.2, 1.2.1.1.2.2): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/gsmr-number-active-mobiles/NumberActiveMobiles.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:gsmRActiveMobiles AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gsmRActiveMobiles ?concept . era:gsmRActiveMobiles era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

GsmRActiveMobilesApplicability
type: SPARQLConstraint
affected property: gsmRActiveMobiles
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) and ETCS L2 (parameter 1.1.1.3.2.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.2
rinf index: 1.2.1.1.2.2
message: gsmRActiveMobiles (1.1.1.3.3.2, 1.2.1.1.2.2):The track {$this} ({?label}), has a 'GSM-R version' defined and a 'ETCS level' type selected which makes the gsmRActiveMobiles parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gsmRActiveMobiles AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion; era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gsmRActiveMobiles ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:gsmRActiveMobiles} . }

GsmROptionalFunctions
type: PropertyShape
affected property: gsmROptionalFunctions
affected class: RunningTrack
scope: local
comment: Use of optional GSM-R functions which might improve operation on the line. They are for information only and not for network access criteria.
rinf index: 1.1.1.3.3.3, 1.2.1.1.2.3
path: gsmROptionalFunctions
node kind: IRI
severity: Violation
message: gsmROptionalFunctions (1.1.1.3.3.3, 1.2.1.1.2.3): The track must have optional GSM-R functions value that is an IRI. This error is due to having a avalue that is not an IRI

GsmROptionalFunctionsSKOS
type: SPARQLConstraint
affected property: gsmROptionalFunctions
affected class: RunningTrack
scope: local
comment: Use of optional GSM-R functions which might improve operation on the line. They are for information only and not for network access criteria.
rinf index: 1.1.1.3.3.2
rinf index: 1.2.1.1.2.2
message: gsmROptionalFunctions (1.1.1.3.3.2, 1.2.1.1.2.2): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/gsmr-optional-functions/OptionalFunctions.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:gsmROptionalFunctions AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:gsmROptionalFunctions ?concept . era:gsmROptionalFunctions era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

GsmROptionalFunctionsApplicability
type: SPARQLConstraint
affected property: gsmROptionalFunctions
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.2
rinf index: 1.2.1.1.2.2
message: gsmROptionalFunctions (1.1.1.3.3.2, 1.2.1.1.2.2):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the gsmROptionalFunctions parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gsmROptionalFunctions AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gsmROptionalFunctions ?value} . }

OtherCantDeficiencyBasicSSP
type: PropertyShape
affected property: otherCantDeficiencyBasicSSP
affected class: RunningTrack
scope: local
comment: Essential information for drivers of trains with a worse (lower) tolerated cant deficiency than those for which the ETCS trackside provides SSP (Static Speed Profiles) in conjunction with parameter 'Cant Deficiency used for the basic SSP'.
rinf index: 1.1.1.3.2.14.1
rinf index: 1.2.1.1.1.14.1
path: otherCantDeficiencyBasicSSP
max count: 1
node kind: IRI
severity: Violation
message: otherCantDeficiencyBasicSSP (1.1.1.3.2.14.1, 1.2.1.1.1.14.1): The ETCS or subset must have other Cant Deficiency train categories basic SSP value that is an IRI. This error is due to having more than one value or having a value that is not an IRI

OtherCantDeficiencyBasicSSPSKOS
type: SPARQLConstraint
affected property: otherCantDeficiencyBasicSSP
affected class: ETCS
scope: local
comment: Essential information for drivers of trains with a worse (lower) tolerated cant deficiency than those for which the ETCS trackside provides SSP (Static Speed Profiles) in conjunction with parameter 'Cant Deficiency used for the basic SSP'.
rinf index: 1.1.1.3.2.14.1
rinf index: 1.2.1.1.1.14.1
message: otherCantDeficiencyBasicSSP (1.1.1.3.2.14.1, 1.2.1.1.1.14.1): The ETCS or subset {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/cant-deficiencies/CantDeficiencies.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:otherCantDeficiencyBasicSSP AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:otherCantDeficiencyBasicSSP ?concept . era:otherCantDeficiencyBasicSSP era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

OtherCantDeficiencyBasicSSPApplicability
type: SPARQLConstraint
affected property: otherCantDeficiencyBasicSSP
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.14.1
rinf index: 1.2.1.1.1.14.1
message: otherCantDeficiencyBasicSSP (1.1.1.3.2.14.1, 1.2.1.1.1.14.1):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the otherCantDeficiencyBasicSSP parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:otherCantDeficiencyBasicSSP AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:otherCantDeficiencyBasicSSP ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:otherCantDeficiencyBasicSSP } . }

LegacyRadioSystem
type: PropertyShape
affected property: legacyRadioSystem
affected class: RunningTrack
scope: local
comment: Indication of radio legacy systems installed.
rinf index: 1.1.1.3.6.1
rinf index: 1.2.1.1.5.1
path: legacyRadioSystem
node kind: IRI
severity: Violation
message: legacyRadioSystem (1.1.1.3.6.1, 1.2.1.1.5.1): The track may have other radio systems installed (Radio Legacy Systems) value that is an IRI. This error is due to having a value that is not an IRI

LegacyRadioSystemSKOS
type: SPARQLConstraint
affected property: legacyRadioSystem
affected class: RunningTrack
scope: local
comment: Indication of radio legacy systems installed.
rinf index: 1.1.1.3.6.1
rinf index: 1.2.1.1.5.1
message: legacyRadioSystem (1.1.1.3.6.1, 1.2.1.1.5.1): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/legacy-radio-systems/LegacyRadioSystems.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:legacyRadioSystem AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:legacyRadioSystem ?concept . era:legacyRadioSystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

OtherTrainProtection
type: PropertyShape
affected property: otherTrainProtection
affected class: RunningTrack
scope: local
comment: Indication of existence of other system than ETCS for degraded situation.
rinf index: 1.1.1.3.10.2
rinf index: 1.2.1.1.9.2
path: otherTrainProtection
max count: 1
node kind: IRI
severity: Violation
message: otherTrainProtection (1.1.1.3.10.2, 1.2.1.1.9.2): The track may have other train protection, control and warning systems for degraded situation value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

OtherTrainProtectionSKOS
type: SPARQLConstraint
affected property: otherTrainProtection
affected class: RunningTrack
scope: local
comment: Indication of existence of other system than ETCS for degraded situation.
rinf index: 1.1.1.3.10.2
rinf index: 1.2.1.1.9.2
message: otherTrainProtection (1.1.1.3.10.2, 1.2.1.1.9.2): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/other-protection-control-warning/OtherProtectionControlWarnings.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:otherTrainProtection AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:otherTrainProtection ?concept . era:otherTrainProtection era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

OtherTrainProtectionApplicability
type: SPARQLConstraint
affected property: otherTrainProtection
affected class: RunningTrack
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.10.2
rinf index: 1.2.1.1.9.2
message: otherTrainProtection (1.1.1.3.10.2, 1.2.1.1.9.2):The track {$this} ({?label}), has an 'ETCS Level Type' defined which makes the otherTrainProtection parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:otherTrainProtection AS ?path) WHERE { $this era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:otherTrainProtection ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:otherTrainProtection} . }

FreightCorridorShape
type: PropertyShape
affected property: freightCorridor
affected class: RunningTrack
scope: local
comment: Indication whether the line is designated to a Railway Freight Corridor
rinf index: 1.1.1.1.2.3
rinf index: 1.2.1.0.2.3
path: freightCorridor
node kind: IRI
severity: Violation
message: freightCorridor (1.1.1.1.2.3, 1.2.1.0.2.3): Each track may have an indication whether the line is designated to a Railway Freight Corridor that is an IRI. This error is due to having a value that is not an IRI.

FreightCorridorSKOS
type: SPARQLConstraint
affected property: freightCorridor
affected class: RunningTrack
scope: local
comment: Indication whether the line is designated to a Railway Freight Corridor
rinf index: 1.1.1.1.2.3
rinf index: 1.2.1.0.2.3
message: Indication whether the line is designated to a Railway Freight Corridor (1.1.1.1.2.3, 1.2.1.0.2.3): The National Line {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/freight-corridor/FreightCorridors.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:freightCorridor AS ?path) WHERE { $this era:freightCorridor ?concept . era:freightCorridor era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

QNvdriverAdhes
type: PropertyShape
affected property: qNvdriverAdhes
affected class: ETCS
scope: local
comment: Qualifier determining whether the driver is allowed to modify the adhesion factor used by the ETCS on-board to calculate the braking curves.
rinf index: 1.1.1.3.2.16.11
rinf index: 1.2.1.1.1.16.11
path: qNvdriverAdhes
max count: 1
node kind: IRI
severity: Violation
message: qNvdriverAdhes (1.1.1.3.2.16.11, 1.2.1.1.1.16.11): The ETCS or subset must have a single Q_NVDRIVER_ADHES value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

QNvdriverAdhesSKOS
type: SPARQLConstraint
affected property: qNvdriverAdhes
affected class: ETCS
scope: local
comment: Qualifier determining whether the driver is allowed to modify the adhesion factor used by the ETCS on-board to calculate the braking curves.
rinf index: 1.1.1.3.2.16.11
rinf index: 1.2.1.1.1.16.11
message: qNvdriverAdhes (1.1.1.3.2.16.11, 1.2.1.1.1.16.11): The ETCS or subset {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/adhf-qualifier/AdhesionFactorChange.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:qNvdriverAdhes AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:qNvdriverAdhes ?concept . era:qNvdriverAdhes era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

QNvdriverAdhesApplicability
type: SPARQLConstraint
affected property: qNvdriverAdhes
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.11
rinf index: 1.2.1.1.1.16.11
message: qNvdriverAdhes (1.1.1.3.2.16.11, 1.2.1.1.1.16.11):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the qNvdriverAdhes parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:qNvdriverAdhes AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:qNvdriverAdhes ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:qNvdriverAdhes } . }

QNvemrrls
type: PropertyShape
affected property: qNvemrrls
affected class: ETCS
scope: local
comment: Qualifier defining whether the application of the emergency brake for reasons other than a trip can be revoked as soon as the conditions for it have disappeared or after the train has come to a complete standstill.
rinf index: 1.1.1.3.2.16.2
rinf index: 1.2.1.1.1.16.2
path: qNvemrrls
max count: 1
node kind: IRI
severity: Violation
message: qNvemrrls (1.1.1.3.2.16.2, 1.2.1.1.1.16.2): The ETCS or subset must have a single Q_NVEMRRLS value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

QNvemrrlsSKOS
type: SPARQLConstraint
affected property: qNvemrrls
affected class: ETCS
scope: local
comment: Qualifier defining whether the application of the emergency brake for reasons other than a trip can be revoked as soon as the conditions for it have disappeared or after the train has come to a complete standstill.
rinf index: 1.1.1.3.2.16.2
rinf index: 1.2.1.1.1.16.2
message: qNvemrrls (1.1.1.3.2.16.2, 1.2.1.1.1.16.2): The ETCS or subset {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/ebr-qualifier/EBReleaseQualifier.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:qNvemrrls AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:qNvemrrls ?concept . era:qNvemrrls era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

QNvemrrlsApplicability
type: SPARQLConstraint
affected property: qNvemrrls
affected class: ETCS
scope: local
comment: Only applicable when parameter 1.1.1.3.2.1 is applicable (its Applicable: 'Y').
rinf index: 1.1.1.3.2.16.2
rinf index: 1.2.1.1.1.16.2
message: qNvemrrls (1.1.1.3.2.16.2, 1.2.1.1.1.16.2):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the qNvemrrls parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:qNvemrrls AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:qNvemrrls ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:qNvemrrls } . }

QNvsbtsmperm
type: PropertyShape
affected property: qNvsbtsmperm
affected class: ETCS
scope: local
comment: Permission to use service brake in target speed monitoring.
rinf index: 1.1.1.3.2.16.12
rinf index: 1.2.1.1.1.16.12
path: qNvsbtsmperm
max count: 1
datatype: boolean
severity: Violation
message: qNvsbtsmperm (1.1.1.3.2.16.12, 1.2.1.1.1.16.12): Each ETCS or subset may define the Q_NVSBTSMPERM value. This error is due to having more than one value or having a value that is not Y/N (boolean).

QNvsbtsmpermApplicability
type: SPARQLConstraint
affected property: qNvsbtsmperm
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.12
rinf index: 1.2.1.1.1.16.12
message: qNvsbtsmperm (1.1.1.3.2.16.12, 1.2.1.1.1.16.12):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the qNvsbtsmperm parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:qNvsbtsmperm AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:qNvsbtsmperm ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:qNvsbtsmperm } . }

RadioNetworkId
type: PropertyShape
affected property: radioNetworkId
affected class: RunningTrack
scope: local
comment: Unique identification of the GSM-R network the calling mobile station has to register with, as defined in the specification referenced in TSI CCS.
rinf index: 1.1.1.3.3.12
rinf index: 1.2.1.1.2.13
path: radioNetworkId
datatype: string
pattern: ^([1-9]\d{0,5}|0)$
severity: Violation
message: radioNetworkId (1.1.1.3.3.12, 1.2.1.1.2.13): The track has a Radio Network ID that must be a string and follow the format [NNNNNN]. The error is due to the value not being a string or not following the pattern.

RadioNetworkIdApplicability
type: SPARQLConstraint
affected property: radioNetworkId
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.12
rinf index: 1.2.1.1.2.13
message: radioNetworkId (1.1.1.3.3.12, 1.2.1.1.2.13):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the radioNetworkId parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:radioNetworkId AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:radioNetworkId ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:radioNetworkId} . }

DataRadioCompatible
type: PropertyShape
affected property: dataRadioCompatible
affected class: RunningTrack
scope: local
comment: Radio requirements used for demonstrating technical compatibility data.
rinf index: 1.1.1.3.3.10
rinf index: 1.2.1.1.2.10
path: dataRadioCompatible
node kind: IRI
severity: Violation
message: dataRadioCompatible (1.1.1.3.3.10, 1.2.1.1.2.10): The track may have a radio system compatibility data value that is an IRI. This error is due to having a value that is not an IRI.

DataRadioCompatibleSKOS
type: SPARQLConstraint
affected property: dataRadioCompatible
affected class: RunningTrack
scope: local
comment: Radio requirements used for demonstrating technical compatibility data.
rinf index: 1.1.1.3.3.10
rinf index: 1.2.1.1.2.10
message: dataRadioCompatible (1.1.1.3.3.10, 1.2.1.1.2.10): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/radio-system-compatibilities-data/RadioSystemCompatibilitiesData.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:dataRadioCompatible AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:dataRadioCompatible ?concept . era:dataRadioCompatible era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

DataRadioCompatibleApplicability
type: SPARQLConstraint
affected property: dataRadioCompatible
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) and ETCS L2 (parameter 1.1.1.3.2.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.10
rinf index: 1.2.1.1.2.10
message: dataRadioCompatible (1.1.1.3.3.10, 1.2.1.1.2.10):The track {$this} ({?label}), has a 'GSM-R version' defined and a 'ETCS level' type selected which makes the dataRadioCompatible parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:dataRadioCompatible AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion; era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:dataRadioCompatible ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:dataRadioCompatible} . }

VoiceRadioCompatible
type: PropertyShape
affected property: voiceRadioCompatible
affected class: RunningTrack
scope: local
comment: Radio requirements used for demonstrating technical compatibility voice.
rinf index: 1.1.1.3.3.9
rinf index: 1.2.1.1.2.9
path: voiceRadioCompatible
node kind: IRI
severity: Violation
message: voiceRadioCompatible (1.1.1.3.3.9, 1.2.1.1.2.9): The track may have a radio system compatibility voice value that is an IRI. This error is due to having a value that is not an IRI.

VoiceRadioCompatibleSKOS
type: SPARQLConstraint
affected property: voiceRadioCompatible
affected class: RunningTrack
scope: local
comment: Radio requirements used for demonstrating technical compatibility voice.
rinf index: 1.1.1.3.3.9
rinf index: 1.2.1.1.2.9
message: voiceRadioCompatible (1.1.1.3.3.9, 1.2.1.1.2.9): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/radio-system-compatibilities-voice/RadioSystemCompatibilitiesVoice.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:voiceRadioCompatible AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:voiceRadioCompatible ?concept . era:voiceRadioCompatible era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

VoiceRadioCompatibleApplicability
type: SPARQLConstraint
affected property: voiceRadioCompatible
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) must be installed for this parameter to be applicable.
rinf index: 1.1.1.3.3.9
rinf index: 1.2.1.1.2.9
message: voiceRadioCompatible (1.1.1.3.3.9, 1.2.1.1.2.9):The track {$this} ({?label}), has a 'GSM-R version' defined which makes the voiceRadioCompatible parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:voiceRadioCompatible AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:voiceRadioCompatible ?value} . }

ErrorCorrectionsOnboardExplanation
type: PropertyShape
affected property: errorCorrectionsOnboardExplanation
affected class: RunningTrack
scope: local
comment: Explanation on why a mandatory onboard CR required to be solved in the on-board (ETCS, GSM-R and/or ATO) was accepted by the IM.
rinf index: 1.1.1.3.1.2
rinf index: 1.2.1.1.1.19
path: errorCorrectionsOnboardExplanation
max count: 1
datatype: string
severity: Violation
message: errorCorrectionsOnboardExplanation (1.1.1.3.1.2, 1.2.1.1.1.19): The errorCorrectionsOnboardExplanation must be a string. This error is due to having more than one value or having a value that is not a string.

ReasonsEtcsRadioBlockCenterReject
type: PropertyShape
affected property: reasonsEtcsRadioBlockCenterReject
affected class: ETCS
scope: local
comment: List of cases subject to system design choices made by the infrastructure manager according to the specification referenced in TSI CCS.
rinf index: 1.1.1.3.2.15
rinf index: 1.2.1.1.1.15
path: reasonsEtcsRadioBlockCenterReject
max count: 1
node kind: IRI
severity: Violation
message: reasonsEtcsRadioBlockCenterReject (1.1.1.3.2.15, 1.2.1.1.1.15): The ETCS or subset must have a single reasons for which an ETCS Radio Block Center can reject a train value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

ReasonsEtcsRadioBlockCenterRejectSKOS
type: SPARQLConstraint
affected property: reasonsEtcsRadioBlockCenterReject
affected class: ETCS
scope: local
comment: List of cases subject to system design choices made by the infrastructure manager according to the specification referenced in TSI CCS.
rinf index: 1.1.1.3.2.15
rinf index: 1.2.1.1.1.15
message: reasonsEtcsRadioBlockCenterReject (1.1.1.3.2.15, 1.2.1.1.1.15): The ETCS or subset {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/etcs-rbc-reject-reasons/ETCSRBCRejectionReasons.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:reasonsEtcsRadioBlockCenterReject AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:reasonsEtcsRadioBlockCenterReject ?concept . era:reasonsEtcsRadioBlockCenterReject era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

ReasonsEtcsRadioBlockCenterRejectApplicability
type: SPARQLConstraint
affected property: reasonsEtcsRadioBlockCenterReject
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.15
rinf index: 1.2.1.1.1.15
message: reasonsEtcsRadioBlockCenterReject (1.1.1.3.2.15 , 1.2.1.1.1.15): The ETCS or subset {$this} ({?thisLabel}), has a ETCS level type which makes the reasonsEtcsRadioBlockCenterReject parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:reasonsEtcsRadioBlockCenterReject AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:reasonsEtcsRadioBlockCenterReject ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:reasonsEtcsRadioBlockCenterReject } . }

SafeConsistLengthInformationNecessary
type: PropertyShape
affected property: safeConsistLengthInformationNecessary
affected class: RunningTrack
scope: local
comment: Indication whether safe consist train length information from on-board is required to access the line for safety reasons and the required safety integrity level.
rinf index: 1.1.1.3.2.11
rinf index: 1.2.1.1.1.11
path: safeConsistLengthInformationNecessary
max count: 1
node kind: IRI
severity: Violation
message: safeConsistLengthInformationNecessary (1.1.1.3.2.11, 1.2.1.1.1.11): The ETCS or subset must have a single Safe consist length information from on-board necessary for access the line and SIL value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

SafeConsistLengthInformationNecessarySKOS
type: SPARQLConstraint
affected property: safeConsistLengthInformationNecessary
affected class: ETCS
scope: local
comment: Indication whether safe consist train length information from on-board is required to access the line for safety reasons and the required safety integrity level.
rinf index: 1.1.1.3.2.11
rinf index: 1.2.1.1.1.11
message: safeConsistLengthInformationNecessary (1.1.1.3.2.11, 1.2.1.1.1.11): The ETCS or subset {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/safe-consist-length/SafeConsistLengthNecessary.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:safeConsistLengthInformationNecessary AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:safeConsistLengthInformationNecessary ?concept . era:safeConsistLengthInformationNecessary era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

SafeConsistLengthInformationNecessaryApplicability
type: SPARQLConstraint
affected property: safeConsistLengthInformationNecessary
affected class: ETCS
scope: local
comment: Only applicable when parameter 1.1.1.3.2.1 is applicable (its Applicable: 'Y').
rinf index: 1.1.1.3.2.11
rinf index: 1.2.1.1.1.11
message: safeConsistLengthInformationNecessary (1.1.1.3.2.11, 1.2.1.1.1.11):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the safeConsistLengthInformationNecessary parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:safeConsistLengthInformationNecessary AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:safeConsistLengthInformationNecessary ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:safeConsistLengthInformationNecessary } . }

ConditionsSwitchTrainProtectionSystems
type: PropertyShape
affected property: conditionsSwitchTrainProtectionSystems
affected class: RunningTrack
scope: local
comment: Conditions to switch over between different class B train protection, control and warning systems.
rinf index: 1.1.1.3.8.1.1
rinf index: 1.2.1.1.7.1.1
path: conditionsSwitchTrainProtectionSystems
datatype: string
max count: 1
severity: Violation
message: conditionsSwitchTrainProtectionSystems (1.1.1.3.8.1.1, 1.2.1.1.7.1.1): The track has a Special conditions to switch over between different class B train protection, control and warning systems value that must be a string and follow the format [NNN]. The error is due to having more than one value, having a value that is not a string, or it is due to the value not following the pattern.

InstructionsSwitchRadioSystems
type: PropertyShape
affected property: instructionsSwitchRadioSystems
affected class: RunningTrack
scope: local
comment: Name and/or reference of the document specifying the Special instructions to switch over between different radio systems.
rinf index: 1.1.1.3.8.2.1
rinf index: 1.2.1.1.7.2.1
path: instructionsSwitchRadioSystems
class: Document
severity: Violation
message: instructionsSwitchRadioSystems (1.1.1.3.8.2.1, 1.2.1.1.7.2.1): The track has Special instructions to switch over between different radio systems value that must be a Document.

InstructionsSwitchRadioSystemsApplicability
type: SPARQLConstraint
affected property: instructionsSwitchRadioSystems
affected class: RunningTrack
scope: local
comment: Applicable ('Y') when at least two different radio systems exist.
rinf index: 1.1.1.3.8.2.1
rinf index: 1.2.1.1.7.2.1
message: instructionsSwitchRadioSystems (1.1.1.3.8.2.1, 1.2.1.1.7.2.1):The track {$this} ({?label}), has a more than one radio system defined which makes the instructionsSwitchRadioSystems parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?countRS (era:instructionsSwitchRadioSystems AS ?path) WHERE { { SELECT $this (COUNT(?radioSystem) AS ?countRS) WHERE{ $this era:legacyRadioSystem ?radioSystem } GROUP BY $this } OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER ( ?countRS > 1) . FILTER NOT EXISTS {$this era:instructionsSwitchRadioSystems ?value} . }

ConditionsSwitchClassBSystems
type: PropertyShape
affected property: conditionsSwitchClassBSystems
affected class: RunningTrack
scope: local
comment: Name and/or reference of the document specifying the Special technical conditions required to switch over between ERTMS/ETCS and Class B systems.
rinf index: 1.1.1.3.8.3
rinf index: 1.2.1.1.7.3
path: conditionsSwitchClassBSystems
class: Document
max count: 1
severity: Violation
message: conditionsSwitchClassBSystems (1.1.1.3.8.3, 1.2.1.1.7.3): The track has Special technical conditions required to switch over between ERTMS/ETCS and Class B systems value that must be a Document. This error is due to having more than one value or having a value that is not an instance of Document.

ConditionsSwitchClassBSystemsApplicability
type: SPARQLConstraint
affected property: conditionsSwitchClassBSystems
affected class: RunningTrack
scope: local
comment: Applicable ('Y') when at least two different class of protection systems exist.
rinf index: 1.1.1.3.8.3
rinf index: 1.2.1.1.7.3
message: conditionsSwitchClassBSystems (1.1.1.3.8.3, 1.2.1.1.7.3):The track {$this} ({?label}), has a more than one protection system defined which makes the conditionsSwitchClassBSystems parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?count (era:conditionsSwitchClassBSystems AS ?path) WHERE { { SELECT $this (COUNT(?system) AS ?count) WHERE{ {$this era:protectionLegacySystem ?system} UNION {$this era:otherTrainProtection ?system} } GROUP BY $this } OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER ( ?count > 1) . FILTER NOT EXISTS {$this era:conditionsSwitchClassBSystems ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:conditionsSwitchClassBSystems} . }

TNvovtrp
type: PropertyShape
affected property: tNvovtrp
affected class: ETCS
scope: local
comment: Maximum time for overriding the train trip in seconds.
rinf index: 1.1.1.3.2.16.6
rinf index: 1.2.1.1.1.16.6
path: tNvovtrp
max count: 1
datatype: integer
pattern: ^([1-9]\d{0,2}|0)$
severity: Violation
message: tNvovtrp (1.1.1.3.2.16.6 , 1.2.1.1.1.16.6): The ETCS or subset defines a T_NVOVTRP. This error is due to having more than one value, having a value that is not an integer or having an integer that does not follow the pattern [NNN].

TNvovtrpApplicability
type: SPARQLConstraint
affected property: tNvovtrp
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.6
rinf index: 1.2.1.1.1.16.6
message: tNvovtrp (1.1.1.3.2.16.6, 1.2.1.1.1.16.6):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the tNvovtrp parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:tNvovtrp AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:tNvovtrp ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:tNvovtrp } . }

TrainIntegrityOnBoardRequired
type: PropertyShape
affected property: trainIntegrityOnBoardRequired
affected class: ETCS
scope: local
comment: Indication whether train confirmation from on-board is required to access the line for safety reasons.
rinf index: 1.1.1.3.2.8
rinf index: 1.2.1.1.1.8
path: trainIntegrityOnBoardRequired
datatype: boolean
max count: 1
severity: Violation
message: trainIntegrityOnBoardRequired (1.1.1.3.2.8, 1.2.1.1.1.8): value must be xsd:boolean (true/false) and at most one value is allowed.

TrainIntegrityOnBoardRequiredApplicability
type: SPARQLConstraint
affected property: trainIntegrityOnBoardRequired
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.8
rinf index: 1.2.1.1.1.8
message: trainIntegrityOnBoardRequired (1.1.1.3.2.8 , 1.2.1.1.1.8): The ETCS or subset {$this} ({?thisLabel}), has a ETCS level type which makes the trainIntegrityOnBoardRequired parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:trainIntegrityOnBoardRequired AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:trainIntegrityOnBoardRequired ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:trainIntegrityOnBoardRequired } . }

EddyCurrentBraking
type: PropertyShape
affected property: eddyCurrentBraking
affected class: RunningTrack
scope: local
comment: Indication of limitations on the use of eddy current brakes.
rinf index: 1.1.1.1.6.2
rinf index: 1.2.1.0.4.2
path: eddyCurrentBraking
max count: 1
node kind: IRI
severity: Violation
message: eddyCurrentBraking (1.1.1.1.6.2, 1.2.1.0.4.2): The track must have a single use of eddy current brakes value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

EddyCurrentBrakingSKOS
type: SPARQLConstraint
affected property: eddyCurrentBraking
affected class: RunningTrack
scope: local
comment: Indication of limitations on the use of eddy current brakes.
rinf index: 1.1.1.1.6.2
rinf index: 1.2.1.0.4.2
message: eddyCurrentBraking (1.1.1.1.6.2, 1.2.1.0.4.2): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/eddy-current-braking/EddyCurrentBraking.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:eddyCurrentBraking AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:eddyCurrentBraking ?concept . era:eddyCurrentBraking era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

MagneticBraking
type: PropertyShape
affected property: magneticBraking
affected class: RunningTrack
scope: local
comment: Indication of limitations on the use of magnetic brakes.
rinf index: 1.1.1.1.6.3
rinf index: 1.2.1.0.4.3
path: magneticBraking
max count: 1
node kind: IRI
severity: Violation
message: magneticBraking (1.1.1.1.6.3, 1.2.1.0.4.3): The track must have a single use of magnetic brakes value that is an IRI. This error is due to having more than one value or having a value that is not an IRI.

MagneticBrakingSKOS
type: SPARQLConstraint
affected property: magneticBraking
affected class: RunningTrack
scope: local
comment: Indication of limitations on the use of magnetic brakes.
rinf index: 1.1.1.1.6.3
rinf index: 1.2.1.0.4.3
message: magneticBraking (1.1.1.1.6.3, 1.2.1.0.4.3): The track {$this} (label {?label}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/magnetic-braking/MagneticBraking.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?label (era:magneticBraking AS ?path) WHERE { OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) $this era:magneticBraking ?concept . era:magneticBraking era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

VNvallowovtrp
type: PropertyShape
affected property: vNvallowovtrp
affected class: ETCS
scope: local
comment: Speed limit allowing the driver to select the “override” function in km/h.
rinf index: 1.1.1.3.2.16.3
rinf index: 1.2.1.1.1.16.3
path: vNvallowovtrp
max count: 1
min inclusive: 0
max inclusive: 600
datatype: unsignedInt
pattern: ^([1-9]\d{0,1}[0,5]|[0,5])$
severity: Violation
message: vNvallowovtrp (1.1.1.3.2.16.3, 1.2.1.1.1.16.3): The ETCS or subset defines a speed limit allowing the driver to select the “override” function (V_NVALLOWOVTRP). This error is due to having more than one value, having a value that is not an integer or having an integer that does not follow the pattern [NNF], with N a decimal number (0÷9), F=(0|5), max. `600`.

VNvallowovtrpApplicability
type: SPARQLConstraint
affected property: vNvallowovtrp
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.3
rinf index: 1.2.1.1.1.16.3
message: vNvallowovtrp (1.1.1.3.2.16.3, 1.2.1.1.1.16.3):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the vNvallowovtrp parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:vNvallowovtrp AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:vNvallowovtrp ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:vNvallowovtrp } . }

VNvsupovtrp
type: PropertyShape
affected property: vNvsupovtrp
affected class: ETCS
scope: local
comment: Override speed limit to be supervised when the “override” function is active in km/h.
rinf index: 1.1.1.3.2.16.4
rinf index: 1.2.1.1.1.16.4
path: vNvsupovtrp
max count: 1
min inclusive: 0
max inclusive: 600
datatype: unsignedInt
pattern: ^([1-9]\d{0,1}[0,5]|[0,5])$
severity: Violation
message: vNvsupovtrp (1.1.1.3.2.16.4, 1.2.1.1.1.16.4): The ETCS or subset defines a override speed limit to be supervised when the “override” function is active (V_NVSUPOVTRP). This error is due to having more than one value, having a value that is not an integer or having an integer that does not follow the pattern [NNF], with N a decimal number (0÷9), F=(0|5), max. `600`.

VNvsupovtrpApplicability
type: SPARQLConstraint
affected property: vNvsupovtrp
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.4
rinf index: 1.2.1.1.1.16.4
message: vNvsupovtrp (1.1.1.3.2.16.4, 1.2.1.1.1.16.4):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the vNvsupovtrp parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:vNvsupovtrp AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:vNvsupovtrp ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:vNvsupovtrp } . }

GsmrConstraintsOperateOnlyInCircuitSwitch
type: PropertyShape
affected property: gsmrConstraintsOperateOnlyInCircuitSwitch
affected class: RunningTrack
scope: local
comment: Specific constraints imposed by the GSM-R network operator on ETCS on-board units only able to operate in circuit-switch.
rinf index: 1.2.1.1.2.12
path: gsmrConstraintsOperateOnlyInCircuitSwitch
node kind: IRI
severity: Violation
message: gsmrConstraintsOperateOnlyInCircuitSwitch (1.2.1.1.2.12): The track may have GSM-R constraints values and each must be an IRI. This error may be due to having a value that is not an IRI.

GsmrConstraintsOperateOnlyInCircuitSwitchApplicability
type: SPARQLConstraint
affected property: gsmrConstraintsOperateOnlyInCircuitSwitch
affected class: RunningTrack
scope: local
comment: GSM-R (parameter 1.1.1.3.3.1) and ETCS L2 (parameter 1.1.1.3.2.1) must be installed for this parameter to be applicable.
rinf index: 1.2.1.1.2.12
message: gsmrConstraintsOperateOnlyInCircuitSwitch (1.2.1.1.2.12):The track {$this} ({?label}), has a 'GSM-R version' defined and a 'ETCS level' type selected which makes the gsmrConstraintsOperateOnlyInCircuitSwitch parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:gsmrConstraintsOperateOnlyInCircuitSwitch AS ?path) WHERE { $this era:gsmRVersion ?gsmRVersion; era:etcs ?etcs. ?etcs era:etcsLevelType ?etcsType. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:gsmrConstraintsOperateOnlyInCircuitSwitch ?value} . FILTER NOT EXISTS {$this era:notYetAvailable era:gsmrConstraintsOperateOnlyInCircuitSwitch} . }

TNvcontact
type: PropertyShape
affected property: tNvcontact
affected class: ETCS
scope: local
comment: Maximum time without a safe message from Radio Block Center before train reacts in seconds.
rinf index: 1.1.1.3.2.16.8
rinf index: 1.2.1.1.1.16.8
path: tNvcontact
max count: 1
datatype: integer
pattern: ^([1-9]\d{0,2}|0)$
severity: Violation
message: tNvcontact (1.1.1.3.2.16.8, 1.2.1.1.1.16.8): The ETCS or subset defines a maximum time without a safe message from Radio Block Center. This error is due to having more than one value, having a value that is not an integer or having an integer that does not follow the pattern [NNN].

TNvcontactApplicability
type: SPARQLConstraint
affected property: tNvcontact
affected class: ETCS
scope: local
comment: Only applicable when selected value for 1.1.1.3.2.1 (ETCS present).
rinf index: 1.1.1.3.2.16.8
rinf index: 1.2.1.1.1.16.8
message: tNvcontact (1.1.1.3.2.16.8, 1.2.1.1.1.16.8):The ETCS or subset {$this} ({?thisLabel}), has an 'ETCS Level Type' defined which makes the tNvcontact parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?thisLabel (era:tNvcontact AS ?path) WHERE { $this era:etcsLevelType ?type . OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) FILTER NOT EXISTS { $this era:tNvcontact ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:tNvcontact } . }

HasBridge
type: PropertyShape
affected property: hasBridge
affected class: RunningTrack
scope: local
comment: Whether or not a track is associated with a bridge.
path: hasBridge
datatype: boolean
max count: 1
severity: Violation
message: hasBridge: The track specifies if it is associated with a bridge and the value must be boolean. This error is due to the value not being Y/N (boolean)

ContactLineSystem
type: PropertyShape
affected property: contactLineSystem
affected class: RunningTrack
scope: local
comment: Contact line system present in the section of line.
path: contactLineSystem
class: ContactLineSystem
rinf index: 1.1.1.2.2
rinf index: 1.2.2.0.6.1
node kind: IRI
severity: Violation
message: contactLineSystem (1.2.2.0.6.1, 1.1.1.2.2) : The track may have a value of a contact line system that must be an instance of ContactLineSystem. This error may be due to having a value that is not an instance of the class ContactLineSystem.

HasPartSoL
type: PropertyShape
affected class: SectionOfLine
affected property: hasPart
scope: local
comment: Indicates that a SectionOfLine hasPart at least one Track.
path:
  alternative path: hasPart
  alternative path:
    inverse path: isPartOf
qualified value shape:
  class: Track
qualified min count: 1
node kind: IRI
severity: Violation
message: hasPart: The SectionOfLine must have at least one hasPart reference to an instance of Track.

NoRepeatedTrackIdsSoL
type: SPARQLConstraint
affected property: trackId
affected class: SectionOfLine
affected class: RunningTrack
scope: global
comment: Each track shall have unique identification or number within the SoL. This number cannot be used for naming any other track in the same SoL.
rinf index: 1.1.1.0.0.1
message: trackId (1.1.1.0.0.1): Each track shall have unique identification or number within the SoL. This number cannot be used for naming any other track in the same SoL. There is a problem with SoL {$this} ({?solLabel}) and tracks {?track1} ({?track1Label}) and {?track2} ({?track2Label}), since they have the same identifier: {?value}.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?opLabel ?track1 ?track1Label ?track2 ?track2Label ?value (era:trackId AS ?path) WHERE { $this era:hasPart ?track1 ; era:canonicalURI ?cano1 . $this era:hasPart ?track2 ; era:canonicalURI ?cano2 . ?track1 era:trackId ?value . ?track2 era:trackId ?value . FILTER(?track1 != ?track2) . FILTER(?cano1 != ?cano2) . OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) OPTIONAL { ?track1 rdfs:label ?track1Label0 } . BIND(COALESCE(?track1Label0, "unknown label") AS ?track1Label) OPTIONAL { ?track2 rdfs:label ?track2Label0 } . BIND(COALESCE(?track2Label0, "unknown label") AS ?track2Label) }

TrackDirection
type: PropertyShape
affected property: trackDirection
affected class: RunningTrack
scope: local
comment: The normal running direction of the track.
rinf index: 1.1.1.0.0.2
path: trackDirection
max count: 1
node kind: IRI
severity: Violation
message: trackDirection (1.1.1.0.0.2): The track must have at most one running direction value and it must be an IRI. This error may be due to having more than one value or having a value that is not an IRI.

SoLTrackDirectionMinCount
type: SPARQLConstraint
affected property: trackDirection
affected class: RunningTrack
affected class: SectionOfLine
scope: local
comment: The normal running direction is: 1) the same as the direction defined by the start and end of the SoL 2) the opposite to the direction defined by the start and end of the SoL 3) both directions defined for SoL.
rinf index: 1.1.1.0.0.2
message: There should be at least one Track Direction. There is a problem with SoL {$this} ({?solLabel}) and its track {?track} ({?trackLabel}). This track has no values for this property
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?solLabel ?track ?trackLabel (era:trackDirection AS ?path) WHERE { $this era:hasPart ?track . OPTIONAL { ?track rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) OPTIONAL { $this rdfs:label ?solLabel0 } . BIND(COALESCE(?solLabel0, "unknown label") AS ?solLabel) FILTER NOT EXISTS { ?track era:trackDirection ?value } . }

SoLTrackDirectionMaxCount
type: SPARQLConstraint
affected property: trackDirection
affected class: RunningTrack
affected class: SectionOfLine
scope: local
comment: The normal running direction is: 1) the same as the direction defined by the start and end of the SoL 2) the opposite to the direction defined by the start and end of the SoL 3) both directions defined for SoL.
rinf index: 1.1.1.0.0.2
message: There should be at most one Track Direction. There is a problem with SoL {$this} ({?solLabel}) and its track {?track} ({?trackLabel}). This track has at least two different values for this property: {?value1} and {?value2}
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?solLabel ?track ?trackLabel ?value1 ?value2 (era:trackDirection AS ?path) WHERE { $this era:hasPart ?track . OPTIONAL { ?track rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) OPTIONAL { $this rdfs:label ?solLabel0 } . BIND(COALESCE(?solLabel0, "unknown label") AS ?solLabel) ?track era:trackDirection ?value1 . ?track era:trackDirection ?value2 . FILTER(STR(?value1) < STR(?value2)) . }

TrackDirectionSKOS
type: SPARQLConstraint
affected property: trackDirection
affected class: RunningTrack
scope: local
comment: The normal running direction is: 1) the same as the direction defined by the start and end of the SoL 2) the opposite to the direction defined by the start and end of the SoL 3) both directions defined for SoL.
rinf index: 1.1.1.0.0.2
message: Indication of the trackDirection (1.1.1.0.0.2):): The track {?track} in the Section of Line {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/track-running-directions/TrackRunningDirections.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:trackDirection AS ?path) WHERE { $this era:hasPart ?track . ?track era:trackDirection ?concept . era:trackDirection era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

TrackLoadCapability
type: PropertyShape
affected property: trackLoadCapability
affected class: RunningTrack
scope: local
comment: Relates the track with the class LoadCapability. A combination of the line category and speed at the weakest point of the track.
rinf index: 1.1.1.1.2.4
path: trackLoadCapability
class: LoadCapability
severity: Violation
message: trackLoadCapability (1.1.1.1.2.4): The track defines a load capability value that must be an instance of LoadCapability.

LoadCapabilitySpeed
type: PropertyShape
affected property: loadCapabilitySpeed
affected class: LoadCapability
scope: local
comment: Load capability is a combination of the line category and speed at the weakest point of the track.
rinf index: 1.1.1.1.2.4
path: loadCapabilitySpeed
datatype: integer
min count: 1
max count: 1
severity: Violation
message: loadCapabilitySpeed (1.1.1.1.2.4): The track must have a load capability with a value of speed that is an integer. This error may be due to having an instance of LoadCapability with no value of speed, more than one value of speed, or that the value is not an integer.

LoadCapabilityLineCategory
type: PropertyShape
affected property: loadCapabilityLineCategory
affected class: LoadCapability
scope: local
comment: Load capability is a combination of the line category and speed at the weakest point of the track.
rinf index: 1.1.1.1.2.4
path: loadCapabilityLineCategory
node kind: IRI
min count: 1
max count: 1
severity: Violation
message: loadCapabilityLineCategory (1.1.1.1.2.4): The track must have a load capability with a value of line category that is an URI. This error may be due to having an instance of Load capability with no value of a line category, more than one value of a line category, or a value that is not an IRI.

LoadCapabilityLineCategorySKOS
type: SPARQLConstraint
affected property: loadCapabilityLineCategory
affected class: LoadCapability
scope: local
comment: Load capability is a combination of the line category and speed at the weakest point of the track.
rinf index: 1.1.1.1.2.4
message: Indication of the load capability line category (1.1.1.1.2.4):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/load-capability-line-categories/LoadCapabilityLineCategories.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:loadCapabilityLineCategory AS ?path) WHERE { $this era:trackLoadCapability ?loadCapability . ?loadCapability era:loadCapabilityLineCategory ?concept . era:loadCapabilityLineCategory era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

NationalLoadCapability
type: PropertyShape
affected property: nationalLoadCapability
affected class: RunningTrack
scope: local
comment: National classification for load capability
rinf index: 1.1.1.1.2.4.1
path: nationalLoadCapability
datatype: string
severity: Violation
message: nationalLoadCapability (1.1.1.1.2.4.1): The track has a national load capability value that must be a string. This error may be due to the track having a value of national load capability that is not a character string.

HighSpeedLoadModelCompliance
type: PropertyShape
affected property: highSpeedLoadModelCompliance
affected class: RunningTrack
scope: local
comment: National classification for load capability
comment: For sections of line with a maximum permitted speed of 200km/h or more information regarding the procedure to be used to perform the dynamic compatibility check
rinf index: 1.1.1.1.2.4.2
path: highSpeedLoadModelCompliance
max count: 1
datatype: boolean
severity: Violation
message: highSpeedLoadModelCompliance (1.1.1.1.2.4.2): The track must have at most one high speed load model compliance value that must be Y/N (boolean). This error may be due to the track having more than one value or having a value of high speed load model compliance that is not Y/N.

StructureCheckLocation
type: PropertyShape
affected property: structureCheckLocation
affected class: RunningTrack
scope: local
comment: Localisation of structures requiring specific checks.
rinf index: 1.1.1.1.2.4.3
path: structureCheckLocation
datatype: double
pattern: ^(\+|\-)?([1-9]\d{1,3}|[0-9])\.\d{1,3}$
severity: Violation
message: structureCheckLocation (1.1.1.1.2.4.3): The track has a location of the structure check value that must be a double (real) number and follow the format [±NNNN.NNN]. This error may be due to the track having a value that does not follow the pattern or is not a double (real) number.

CompatibilityProcedureDocument
type: PropertyShape
affected property: compatibilityProcedureDocument
affected class: RunningTrack
scope: local
comment: Document with the procedure for static and dynamic compatibility checks.
rinf index: 1.1.1.1.2.4.4
path: compatibilityProcedureDocument
class: Document
severity: Violation
message: compatibilityProcedureDocument (1.1.1.1.2.4.4): The track has a name of the compatibility procedure document that must be a Document.

MaximumPermittedSpeed
type: PropertyShape
affected property: maximumPermittedSpeed
affected class: RunningTrack
scope: local
comment: Maximum permitted speed.
rinf index: 1.1.1.1.2.5
path: maximumPermittedSpeed
max count: 1
datatype: integer
min inclusive: 0
max inclusive: 500
severity: Warning
message: maximumPermittedSpeed (1.1.1.1.2.5): The track must have at most one value of maximum permitted speed that is an integer that lies within the range 0 to 500. This error may be due to the track having more than one value of maximum permitted speed, that the value does not lie within the range, or that the value is not an integer.

TemperatureRange
type: PropertyShape
affected property: temperatureRange
affected class: RunningTrack
scope: local
comment: Indication of the temperature range of track.
rinf index: 1.1.1.1.2.6
path: temperatureRange
node kind: IRI
max count: 1
severity: Violation
message: temperatureRange (1.1.1.1.2.6): Each track may have exactly one temperature range value that must be an IRI. This error may be due to the track not having a temperature range, or having more than one temperature range.

TemperatureRangeSKOS
type: SPARQLConstraint
affected property: temperatureRange
affected class: RunningTrack
scope: local
comment: Indication of the temperature range of track.
rinf index: 1.1.1.1.2.6
message: Indication of the temperature range (1.1.1.1.2.6):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/temperature-ranges/TemperatureRanges.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:temperatureRange AS ?path) WHERE { $this era:temperatureRange ?concept . era:temperatureRange era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

MaximumAltitude
type: PropertyShape
affected property: maximumAltitude
affected class: RunningTrack
scope: local
comment: Highest point of the section of line above sea level in reference to Normal Amsterdam's Peil (NAP).
rinf index: 1.1.1.1.2.7
path: maximumAltitude
max count: 1
pattern: ^(\+|\-)?\d{1,4}(\.0*)?$
severity: Violation
message: maximumAltitude (1.1.1.1.2.7): The track must define at most one maximum altitude value that must be a double (real) number with format[±NNNN]. This error may be due to the track having more than one value of maximum altitude or that the value is not a double (real) number.

HasSevereWeatherConditions
type: PropertyShape
affected property: hasSevereWeatherConditions
affected class: RunningTrack
scope: local
comment: Climatic conditions on the line are severe according to European standard.
rinf index: 1.1.1.1.2.8
path: hasSevereWeatherConditions
datatype: boolean
max count: 1
severity: Violation
message: hasSevereWeatherConditions (1.1.1.1.2.8): The track must have at most one existence of severe weather conditions value that must be Y/N (boolean). This error may be due to the track having more than one value of has severe weather conditions or that the value is not Y/N (boolean).

ProfileNumberSwapBodies
type: PropertyShape
affected property: profileNumberSwapBodies
affected class: RunningTrack
scope: local
comment: Coding for combined transport with swap bodies as defined in UIC Code.
rinf index: 1.1.1.1.3.4
path: profileNumberSwapBodies
node kind: IRI
severity: Violation
message: profileNumberSwapBodies (1.1.1.1.3.4): The track must have values for profile number swap bodies that are IRIs. This error may be due to having a value that is not an IRI.

ProfileNumberSwapBodiesSKOS
type: SPARQLConstraint
affected property: profileNumberSwapBodies
affected class: RunningTrack
scope: local
comment: Coding for combined transport with swap bodies as defined in UIC Code.
rinf index: 1.1.1.1.3.4
message: Indication of the profileNumberSwapBodies(1.1.1.1.3.4):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/profile-num-swap-bodies/ProfileNumbersSwapBodies.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:profileNumberSwapBodies AS ?path) WHERE { $this era:profileNumberSwapBodies ?concept . era:profileNumberSwapBodies era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

ProfileNumberSemiTrailers
type: PropertyShape
affected property: profileNumberSemiTrailers
affected class: RunningTrack
scope: local
comment: Coding for combined transport with semi-trailers as defined in UIC Code.
rinf index: 1.1.1.1.3.5
path: profileNumberSemiTrailers
node kind: IRI
severity: Violation
message: profileNumberSemiTrailers (1.1.1.1.3.5): The track must have values for profile number semi-trailers that are IRIs. This error may be due to having a value that is not an IRI.

ProfileNumberSemiTrailersSKOS
type: SPARQLConstraint
affected property: profileNumberSemiTrailers
affected class: RunningTrack
scope: local
comment: Coding for combined transport with semi-trailers as defined in UIC Code.
rinf index: 1.1.1.1.3.5
message: Indication of the profileNumberSemiTrailers(1.1.1.1.3.5):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/profile-num-semi-trailers/ProfileNumbersSemiTrailers.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:profileNumberSemiTrailers AS ?path) WHERE { $this era:profileNumberSemiTrailers ?concept . era:profileNumberSemiTrailers era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

SpecificInformation
type: PropertyShape
affected property: specificInformation
affected class: RunningTrack
scope: local
comment: Any specific information from the IM.
rinf index: 1.1.1.1.3.5.1
path: specificInformation
datatype: string
severity: Violation
message: specificInformation (1.1.1.1.3.5.1): The track has a specific information value that must be a string. This error may be due to having a value of specific information from the IM that is not a character string.

GradientProfile
type: PropertyShape
affected property: gradientProfile
affected class: RunningTrack
scope: local
comment: Sequence of gradient values and locations of change in gradient.
rinf index: 1.1.1.1.3.6
path: gradientProfile
datatype: string
pattern: ^((\+|\-)\d{1,2}(\.\d{1})?(\((\+|\-)?\d{1,4}(\.\d{1,3})?\))?)(,\s?(\+|\-)\d{1,2}(\.\d{1})?(\((\+|\-)?\d{1,4}(\.\d{1,3})?\))?)*$
severity: Violation
message: gradientProfile (1.1.1.1.3.6): The track has a gradient profile value that must be a string with a sequence of comma-separated values in the format [+/-][NN.N]([+/-][NNNN.NNN]). This error may be due to having a sequence of values that are not a string or that do not follow the pattern.

CantDeficiency
type: PropertyShape
affected property: cantDeficiency
affected class: RunningTrack
scope: local
comment: Maximum cant deficiency expressed in millimeters defined as difference between the applied cant and a higher equilibrium cant the line has been designed for.
rinf index: 1.1.1.1.4.2
path: cantDeficiency
max count: 1
datatype: integer
pattern: ^(\+|\-)?([0-9]\d{0,3})$
severity: Violation
message: cantDeficiency (1.1.1.1.4.2): The track must have at most one cant deficiency value that is an integer. This error may be due to the track having more than one cant deficiency value or to having a value that is not an int.

RailInclination
type: PropertyShape
affected property: railInclination
affected class: RunningTrack
scope: local
comment: An angle defining the inclination of the head of a rail relatie to the running surface.
rinf index: 1.1.1.1.4.3
path: railInclination
max count: 1
node kind: IRI
severity: Violation
message: railInclination (1.1.1.1.4.3): The track must have at most one rail inclination measurement value that is an IRI. This error may be due to the track having more than one rail inclination measurement value or to having a value that is not an IRI.

RailInclinationSKOS
type: SPARQLConstraint
affected property: railInclination
affected class: RunningTrack
scope: local
comment: An angle defining the inclination of the head of a rail relatie to the running surface.
rinf index: 1.1.1.1.4.3
message: Indication of the rail inclination (1.1.1.1.4.3):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/rail-inclinations/RailInclinations.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:railInclination AS ?path) WHERE { $this era:railInclination ?concept . era:railInclination era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

HasBallast
type: PropertyShape
affected property: hasBallast
affected class: RunningTrack
scope: local
comment: Specifies whether the track construction is with sleepers embedded in ballast or not.
rinf index: 1.1.1.1.4.4
path: hasBallast
max count: 1
datatype: boolean
severity: Violation
message: hasBallast (1.1.1.1.4.4): The track must have at most one existence of ballast value that is Y/N (boolean). This error may be due to the track having more than one has ballast value or to having a value that is not Y/N (boolean).

TSISwitchCrossing
type: PropertyShape
affected property: tsiSwitchCrossing
affected class: RunningTrack
scope: local
comment: Switches and crossings are maintained to in service limit dimension as specified in TSI.
rinf index: 1.1.1.1.5.1
path: tsiSwitchCrossing
max count: 1
datatype: boolean
severity: Violation
message: tsiSwitchCrossing (1.1.1.1.5.1): The track must have at most one existence of TSI switches and crossing value that is Y/N (boolean). This error may be due to the track having more than one tsi swith crossing value or to having a value that is not Y/N (boolean).

MinimumWheelDiameter
type: PropertyShape
affected property: minimumWheelDiameter
affected class: RunningTrack
scope: local
comment: Maximum unguided length of fixed obtuse crossings is based on a minimum wheel diameter in service expressed in millimiters.
rinf index: 1.1.1.1.5.2
path: minimumWheelDiameter
max count: 1
min inclusive: 330
datatype: integer
pattern: ^([1-9]\d{1,2}|[0-9])$
severity: Warning
message: minimumWheelDiameter (1.1.1.1.5.2): The track must have at most one minimum wheel diameter value that is an integer. This error may be due to the track having more than one minimum wheel diameter value or to having a value that is not an integer. If the value of the wheel diameter is bigger than 330 mm, it has to be specified.

MaximumTrainDeceleration
type: PropertyShape
affected property: maximumTrainDeceleration
affected class: RunningTrack
scope: local
comment: Limit for longitudinal track resistance given as a maximum allowed train deceleration and expressed in m/s2.
rinf index: 1.1.1.1.6.1
path: maximumTrainDeceleration
max count: 1
datatype: double
pattern: ^[0-9]\.[0-9]$
severity: Violation
message: maximumTrainDeceleration (1.1.1.1.6.1): The track must have at most one maximum train deceleration value that is a double (real) number . This error may be due to the track having more than one maximum train deceleration value or to having a value that is not a real (double) number.

EddyCurrentBrakingConditionsDocument
type: PropertyShape
affected property: eddyCurrentBrakingConditionsDocument
affected class: RunningTrack
scope: local
comment: Electronic document available in two EU languages from the IM stored by the Agency with conditions for the use of eddy current brakes identified in 1.1.1.1.6.2.
rinf index: 1.1.1.1.6.4
path: eddyCurrentBrakingConditionsDocument
class: Document
severity: Violation
message: eddyCurrentBrakingConditionsDocument (1.1.1.1.6.4): The track has an eddy current braking conditions document value that must be a Document.

MagneticBrakingConditionsDocument
type: PropertyShape
affected property: magneticBrakingConditionsDocument
affected class: RunningTrack
scope: local
comment: Electronic documents available in two EU languages from the IM stored by the Agency with conditions for the use of magnetic brakes identified in 1.1.1.1.6.3.
rinf index: 1.1.1.1.6.5
path: magneticBrakingConditionsDocument
class: Document
severity: Violation
message: magneticBrakingConditionsDocument (1.1.1.1.6.5): The track has a magnetic braking conditions document value that must be a Document.

FlangeLubeForbidden
type: PropertyShape
affected property: flangeLubeForbidden
affected class: RunningTrack
scope: local
comment: Indication whether the use of on-board device for flange lubrication is forbidden.
rinf index: 1.1.1.1.7.1
path: flangeLubeForbidden
max count: 1
datatype: boolean
severity: Violation
message: flangeLubeForbidden (1.1.1.1.7.1): The track must have at most one flange lube forbidden value that is Y/N (boolean). This error may be due to having more than one value or having a value that is not Y/N (boolean).

HasLevelCrossings
type: PropertyShape
affected property: hasLevelCrossings
affected class: RunningTrack
scope: local
comment: Indication whether level crossings (including pedestrian track crossing) exist onf the section line.
rinf index: 1.1.1.1.7.2
path: hasLevelCrossings
max count: 1
datatype: boolean
severity: Violation
message: hasLevelCrossings (1.1.1.1.7.2): The track must have at most one existence of level crossings value that is Y/N (boolean). This error may be due to having more than one value or having a value that is not Y/N (boolean).

AccelerationLevelCrossing
type: PropertyShape
affected property: accelerationLevelCrossing
affected class: Track
scope: local
comment: Existence of limit for acceleration of train if stopping or recovering speed close to a level crossing expressed in a specific reference acceleration curve.
rinf index: 1.1.1.1.7.3
path: accelerationLevelCrossing
max count: 1
node kind: IRI
class: Document
severity: Violation
message: accelerationLevelCrossing (1.1.1.1.7.3): The track must have at most one acceleration level crossing value that is a Document. This error may be due to having more than one value or having a value that is not an instance of Document.

HasHotAxleBoxDetector
type: PropertyShape
affected property: hasHotAxleBoxDetector
affected class: RunningTrack
scope: local
comment: Existence of trackside hot axle box detector.
rinf index: 1.1.1.1.7.4
path: hasHotAxleBoxDetector
max count: 1
datatype: boolean
severity: Violation
message: hasHotAxleBoxDetector (1.1.1.1.7.4): The track must have at most one existence of hot axle box detector value that is Y/N (boolean).

RedLightsRequired
type: PropertyShape
affected property: redLightsRequired
affected class: RunningTrack
scope: local
comment: Sections where two steady red lights are required in accordance with Implementing Regulations (EU) 2019/773.
rinf index: 1.1.1.1.7.10
path: redLightsRequired
max count: 1
datatype: boolean
severity: Violation
message: redLightsRequired (1.1.1.1.7.10): The track must have at most one value that defines if two steady red lights are required and the value must be Y/N (boolean). This error may be due to having more than one value or having a value that is not Y/N (boolean).

RedLightsRequiredCountryApplicability
type: SPARQLConstraint
affected property: redLightsRequired
affected class: RunningTrack
message: redLightsRequired: This property may only be used for RunningTracks located in Belgium, France, Italy, Portugal, or Spain. This error may be due to applying it to a country other that these, or not having an inCountry annotation in the parent element of the RunningTrack.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX eu-country: <http://publications.europa.eu/resource/authority/country/> SELECT ?this (era:redLightsRequired AS ?path) WHERE { ?this a era:RunningTrack ; era:redLightsRequired true . # before ?val { ?parent era:hasPart ?this ; era:inCountry ?country . } UNION { ?this era:isPartOf ?parent . ?parent era:inCountry ?country . } FILTER (?country NOT IN ( eu-country:BEL, eu-country:FRA, eu-country:ITA, eu-country:PRT, eu-country:ESP )) }

IsQuietRoute
type: PropertyShape
affected property: isQuietRoute
affected class: RunningTrack
scope: local
comment: Belonging to a 'quiet route' in accordance with Article 5b of Regulation (EU) 1304/2014.
rinf index: 1.1.1.1.7.11
path: isQuietRoute
max count: 1
datatype: boolean
severity: Violation
message: isQuietRoute (1.1.1.1.7.11): The track must have at most one value that defines if it belongs to a 'quiet route' and the value must be Y/N (boolean). This error may be due to having more than one value or having a value that is not Y/N (boolean).

VerificationENE
type: PropertyShape
affected property: verificationENE
affected class: RunningTrack
scope: local
comment: Unique number for EC declarations following format requirements specified in the 'Document about practical arrangents for transmitting interoperability documents' .
rinf index: 1.1.1.2.1.1
path: verificationENE
datatype: string
pattern: ^[A-Z]{2}\/.{14}\/(19[0-9][0-9]|20[0-9][0-9]|2100)\/[0-9]{6}$
severity: Violation
message: verificationENE (1.1.1.2.1.1): The track has a number for EC declarations that must follow format CC/XXXXXXXXXXXXXX/YYYY/NNNNNN where CC is country code, XXXXX... is a number, YYYY is a year between 1900 and 2100, NNNNNN is the number for the EC declaration. This error may be due to the track having a value that does not follow the pattern.

DemonstrationENE
type: PropertyShape
affected property: demonstrationENE
affected class: RunningTrack
scope: local
comment: Unique number for EI declarations following the same format requirements as specified in the 'Document about practical arrangents for transmitting interoperability documents'.
rinf index: 1.1.1.2.1.2
path: demonstrationENE
datatype: string
pattern: ^[A-Z]{2}\/.{14}\/(19[0-9][0-9]|20[0-9][0-9]|2100)\/[0-9]{6}$
severity: Violation
message: demonstrationENE (1.1.1.2.1.2): The track has a number for EI declarations that must follow format CC/XXXXXXXXXXXXXX/YYYY/NNNNNN where CC is country code, XXXXX... is a number, YYYY is a year between 1900 and 2100, NNNNNN is the number for the EI declaration. This error may be due to the track having a value that is not a tring or that does not follow the pattern.

TsiPantographHead
type: PropertyShape
affected property: tsiPantographHead
affected class: RunningTrack
scope: local
comment: Indication of TSI compliant pantograph heads which are allowed to be used.
rinf index: 1.1.1.2.3.1
path: tsiPantographHead
node kind: IRI
severity: Violation
message: tsiPantographHead (1.1.1.2.3.1): The track may have TSI compliant pantograph head values and each must be an IRI. This error may be due to having a value that is not an IRI.

TsiPantographHeadSKOS
type: SPARQLConstraint
affected property: tsiPantographHead
affected class: RunningTrack
scope: local
comment: Accepted TSI compliant pantograph heads.
rinf index: 1.1.1.2.3.1
message: Indication of the tsiPantographHead (1.1.1.2.3.1):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/compliant-pantograph-heads/CompliantPantographHeads.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:tsiPantographHead AS ?path) WHERE { $this era:tsiPantographHead ?concept . era:tsiPantographHead era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

OtherPantographHead
type: PropertyShape
affected property: otherPantographHead
affected class: RunningTrack
scope: local
comment: Indication of pantograph heads which are allowed to be used.
rinf index: 1.1.1.2.3.2
path: otherPantographHead
node kind: IRI
severity: Violation
message: otherPantographHead (1.1.1.2.3.2): The track may have other pantograph head values and each must be an IRI. This error may be due to having a value that is not an IRI.

OtherPantographHeadSKOS
type: SPARQLConstraint
affected property: otherPantographHead
affected class: RunningTrack
scope: local
comment: Indication of which other pantograph heads are allowed to be used.
rinf index: 1.1.1.2.3.2
severity: Warning
message: Indication of the otherPantographHead (1.1.1.2.3.2):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/other-pantograph-heads/OtherPantographHeads.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:otherPantographHead AS ?path) WHERE { $this era:otherPantographHead ?concept . era:otherPantographHead era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

TrackRaisedPantographsDistanceAndSpeed
type: PropertyShape
affected property: trackRaisedPantographsDistanceAndSpeed
affected class: RunningTrack
scope: local
comment: Relates the track with the class RaisedPantporaphsDistanceAndSpeed. Indication of maximum number of raised pantographs per train allowed and minimum spacing centre line to centre line of adjacent pantograph heads, expressed in metres, at the given speed.
rinf index: 1.1.1.2.3.3
path: trackRaisedPantographsDistanceAndSpeed
class: RaisedPantographsDistanceAndSpeed
severity: Violation
message: trackRaisedPantographsDistanceAndSpeed (1.1.1.2.3.3): The track defines a raised pantographs distance and speed value that must be an instance of RaisedPantographsDistanceAndSpeed.

RaisedPantographsDistance
type: PropertyShape
affected property: raisedPantographsDistance
affected class: RaisedPantographsDistanceAndSpeed
scope: local
comment: Indication of maximum number of raised pantographs per train allowed and minumum spacing centre line to centre line of adjacent pantograph heads, expressed in meters, at the given speed.
rinf index: 1.1.1.2.3.3
path: raisedPantographsDistance
min count: 1
max count: 1
datatype: integer
severity: Violation
message: Raised pantographs distance (1.1.1.2.3.3): The track must have a raised pantographs distance and speed with a value of distance that is an integer. This error is due to the track having a RaisedPantographDistanceAndSpeed with no value of distance, more than one value of distance or having a value that is not an integer.

RaisedPantographsSpeed
type: PropertyShape
affected property: raisedPantographsSpeed
scope: local
affected class: RaisedPantographsDistanceAndSpeed
comment: Indication of maximum number of raised pantographs per train allowed and minumum spacing centre line to centre line of adjacent pantograph heads, expressed in meters, at the given speed.
rinf index: 1.1.1.2.3.3
min count: 1
max count: 1
path: raisedPantographsSpeed
datatype: integer
severity: Violation
message: raised pantographs speed (1.1.1.2.3.3): The track must have a raised pantographs distance and speed with a value of speed that is an integer. This error is due to having a RaisedPantographDistanceAndSpeed with no value of speed, more than one value of speed or having a value that is not an integer.

RaisedPantographsNumber
type: PropertyShape
affected property: raisedPantographsNumber
scope: local
affected class: RaisedPantographsDistanceAndSpeed
comment: Indication of maximum number of raised pantographs per train allowed and minumum spacing centre line to centre line of adjacent pantograph heads, expressed in meters, at the given speed.
rinf index: 1.1.1.2.3.3
path: raisedPantographsNumber
min count: 1
max count: 1
datatype: integer
severity: Violation
message: Raised pantographs number (1.1.1.2.3.3): The track must have a raised pantographs distance and number with a value of number that is an integer. This error is due to having a RaisedPantographDistanceAndSpeed with no value of number, more than one value of number or having a value that is not an integer.

ContactStripMaterialSKOS
type: SPARQLConstraint
affected property: contactStripMaterial
affected class: RunningTrack
scope: local
comment: Indication of the material of the contact strip.
rinf index: 1.1.1.2.3.4
message: Indication of the contactStripMaterial (1.1.1.2.3.4):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/contact-strip-materials/ContactStripMaterials.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:contactStripMaterial AS ?path) WHERE { $this era:contactStripMaterial ?concept . era:contactStripMaterial era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

ContactStripMaterialMetallicContent
type: PropertyShape
affected property: contactStripMaterialMetallicContent
affected class: RunningTrack
scope: local
comment: In case that the value of the property era:contactStripMaterial is impregnated carbon, it is the metallic content, the maximum percentage allowed.
rinf index: 1.1.1.2.3.4
path: contactStripMaterialMetallicContent
datatype: integer
max count: 1
severity: Violation
message: contactStripMaterialMetallicContent (1.1.1.2.3.4): The track has an indication of the material of the contact strip that must be an integer. This error may be due to the track having a value that is not an integer.

HasPhaseSeparation
type: PropertyShape
affected property: hasPhaseSeparation
affected class: RunningTrack
scope: local
comment: Indication of existence of phase separation and required information.
rinf index: 1.1.1.2.4.1.1
path: hasPhaseSeparation
max count: 1
datatype: boolean
severity: Violation
message: hasPhaseSeparation (1.1.1.2.4.1.1): The track defines at most one existence of phase separation and required information value that is Y/N (boolean). This error may be due to the track having more than one value or having a value that is not Y/N (boolean).

TrackPhaseInfo
type: PropertyShape
affected property: trackPhaseInfo
affected class: RunningTrack
scope: local
comment: Relates the Track with PhaseInfo. Indication of required several information on phase separation.
rinf index: 1.1.1.2.4.1.2
path: trackPhaseInfo
class: PhaseInfo
severity: Violation
message: trackPhaseInfo (1.1.1.2.4.1.2): The track defines a track phase info value that must be an instance of PhaseInfo.

PhaseInfoKm
type: PropertyShape
affected property: phaseInfoKm
scope: local
affected class: PhaseInfo
comment: Indication of existence of phase separation and required information.
path: phaseInfoKm
min count: 1
max count: 1
datatype: double
severity: Warning
message: Phase info km : The track has a phase info with the location from the start of the line value (km), that must be a double. This error may be due to the track having a PhaseInfo with no value of km, more than one value of km, or a value that is not a double (real) number.

PhaseInfoDistanceType
type: PropertyShape
affected property: phaseInfoDistanceType
scope: local
affected class: PhaseInfo
comment: Indication of existence of phase separation and required information.
path: phaseInfoDistanceType
min count: 1
max count: 1
datatype: string
in: MIN
in: MAX
severity: Warning
message: Phase info distance type : The track has a phase info with the single selection of 'MIN=minimum' or 'MAX=maximum' to show whether the length is a minimum distance between the inner contact strips of the pantographs or a maximum distance between the outer contact strips of the pantographs, that must be the string MIN or MAX. This error may be due to the track having a PhaseInfo with no value of distancetype, more than one value of distance type, or having a value that is not one of the strings MIN or MAX.

PhaseInfoLength
type: PropertyShape
affected property: phaseInfoLength
scope: local
affected class: PhaseInfo
comment: Indication of existence of phase separation and required information.
path: phaseInfoLength
datatype: integer
min count: 1
max count: 1
severity: Violation
message: Phase infolength (): The track has a phase info with the length of the phase separation value (length), that must be an integer. This error may be due to the track having a PhaseInfo with no value of length, more than one value of length, or having a value that is not an integer.

PhaseInfoPantographLowered
type: PropertyShape
affected property: phaseInfoPantographLowered
scope: local
affected class: PhaseInfo
comment: Indication of existence of phase separation and required information.
path: phaseInfoPantographLowered
datatype: boolean
min count: 1
max count: 1
severity: Violation
message: Phase info (1.1.1.2.4.1.2): The track has the phase info with the indication whether the pantograph is lowered value, that must be Y/N (boolean). This error may be due to the track having a PhaseInfo with no value of phaseInfoPantographLowered, more than one value of phaseInfoPantographLowered, or having a value that is not Y/N (boolean).

PhaseInfoSwitchOffBreaker
type: PropertyShape
affected property: phaseInfoSwitchOffBreaker
scope: local
affected class: PhaseInfo
comment: Indication of existence of phase separation and required information.
path: phaseInfoSwitchOffBreaker
datatype: boolean
max count: 1
severity: Violation
message: Phase info switchOffBreaker : The track has the phase info with the indication whether the breaker may be switched off value, that must be Y/N (boolean). This error may be due to the track having a PhaseInfo with no value of phaseInfoSwitchOffBreaker, more than one value of phaseInfoSwitchOffBreaker, or having a value that is not Y/N (boolean).

HasSystemSeparation
type: PropertyShape
affected property: hasSystemSeparation
affected class: RunningTrack
scope: local
comment: Indication of existence of system separation.
rinf index: 1.1.1.2.4.2.1
path: hasSystemSeparation
max count: 1
datatype: boolean
severity: Violation
message: hasSystemSeparation (1.1.1.2.4.2.1): The track has at most one existence of system separation value that must be Y/N (boolean). This error may be due to the track having more than one value or to having a value that is not Y/N (boolean).

TrackSystemSeparationInfo
type: PropertyShape
affected property: trackSystemSeparationInfo
affected class: RunningTrack
scope: local
comment: Relates the Track with the SystemSeparationInfo. Indication of required several information on system separation.
rinf index: 1.1.1.2.4.2.2
path: trackSystemSeparationInfo
class: SystemSeparationInfo
severity: Violation
message: trackSystemSeparationInfo (1.1.1.2.4.2.2): The track defines a system separation info value that must be an instance of SystemSeparationInfo.

SystemSeparationInfoKm
type: PropertyShape
affected property: systemSeparationInfoKm
scope: local
affected class: SystemSeparationInfo
comment: Indication of required several information on system separation.
path: systemSeparationInfoKm
min count: 1
max count: 1
datatype: double
severity: Warning
message: System separation info km : The track has a system separation info with the location from the start of the line value (km), that must be a double.This error may be due to the track having a SystemSeparationInfo with no value, more than one value, or a value that is not a double (real) number.

SystemSeparationInfoLength
type: PropertyShape
affected property: systemSeparationInfoLength
scope: local
affected class: SystemSeparationInfo
comment: Indication of required several information on system separation.
path: systemSeparationInfoLength
min count: 1
max count: 1
datatype: integer
severity: Violation
message: System separation info length: The track has a system separatione info with the length of the system separation value (length), that must be an integer. This error may be due to the track having a SystemSeparationInfo with no value, more than one value, or a value that is not an integer.

SystemSeparationInfoPantographLowered
type: PropertyShape
affected property: systemSeparationInfoPantographLowered
scope: local
affected class: SystemSeparationInfo
comment: Indication of required several information on system separation.
path: systemSeparationInfoPantographLowered
min count: 1
max count: 1
datatype: boolean
severity: Warning
message: System separation info pantograph lowered: The track has the system separation info with the indication whether the pantograph is lowered value, that must be Y/N (boolean). This error may be due to the track having a SystemSeparationInfo with no value, more than one value, or a value that is not Y/N (boolean).

SystemSeparationInfoSwitchOffBreaker
type: PropertyShape
affected property: systemSeparationInfoSwitchOffBreaker
scope: local
comment: Indication of required several information on system separation.
path: systemSeparationInfoSwitchOffBreaker
min count: 1
max count: 1
affected class: SystemSeparationInfo
datatype: boolean
severity: Warning
message: System separation info switchOffBreaker : The track has the system separation info with the indication wether the breaker may be switched off value, that must be Y/N (boolean). This error is due to the track having a SystemSeparationInfo with no value, more than one value, or a value that is not Y/N (boolean).

DistSignToPhaseEnd
type: PropertyShape
affected property: distSignToPhaseEnd
affected class: RunningTrack
scope: local
comment: Specific for route compatibility check on French network. Distance between the signboard authorizing the driver to 'raise pantograph' or 'close the circuit breaker' after passing the phase separation and the end of the phase separation section.
path: distSignToPhaseEnd
max count: 1
datatype: integer
pattern: ^([1-9]\d{1,2}|[0-9])$
severity: Violation
message: distSignToPhaseEnd: The track must have at most one value of the distance between the signboard authorizing the driver to 'raise pantograph' or 'close the circuit breaker' after passing the phase separation and the end of the phase separation section, and the value is an integer. This error is due to the track having more than one value or to having a value that is not an integer.

PermittedContactForce
type: PropertyShape
affected property: permittedContactForce
affected class: RunningTrack
scope: local
comment: Indication of contact force allowed expressed in newtons.
rinf index: 1.1.1.2.5.2
path: permittedContactForce
max count: 1
datatype: string
severity: Violation
message: permittedContactForce (1.1.1.2.5.2): The track must have at most one value of the contact force allowed expressed in newtons. This error is due to the track having more than one value or to having a value that is not a character string.

AutomaticDroppingDeviceRequired
type: PropertyShape
affected property: automaticDroppingDeviceRequired
affected class: RunningTrack
scope: local
comment: Indication of the requirement of automatic dropping device.
rinf index: 1.1.1.2.5.3
path: automaticDroppingDeviceRequired
max count: 1
datatype: boolean
severity: Violation
message: automaticDroppingDeviceRequired (1.1.1.2.5.3): The track must have at most one value of the requirement of automatic dropping device and it is Y/N (boolean). This error is due to the track having more than one value or to having a value that is not Y/N (boolean).

VerificationCCS
type: PropertyShape
affected property: verificationCCS
affected class: RunningTrack
scope: local
comment: Unique number for EC declarations following format requirements specified in the 'Document about practical arrangements for transmitting interoperability documents'.
rinf index: 1.1.1.3.1.1
path: verificationCCS
datatype: string
pattern: ^[A-Z]{2}\/.{14}\/(19[0-9][0-9]|20[0-9][0-9]|2100)\/[0-9]{6}$
severity: Violation
message: verificationCCS (1.1.1.3.1.1): The track defines the unique number for EC declarations following format requirements specified in the 'Document about practical arrangements for transmitting interoperability documents; the value must be a string that follows the pattern [CC/RRRRRRRRRRRRRR/YYYY/NNNNNN] where the YYYY characters must be a number between 1900 and 2100, and the NNNNNN characters must be digits. This error is due to having a value that does not follow the pattern.

ProtectionLegacySystemSKOS
type: SPARQLConstraint
affected property: protectionLegacySystem
affected class: RunningTrack
scope: local
comment: Indication of which class B system is installed.
rinf index: 1.1.1.3.5.3
message: Indication of the protectionLegacySystem (1.1.1.3.5.3): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/train-protection-legacy-systems/TrainProtectionLegacySystems.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:protectionLegacySystem AS ?path) WHERE { $this era:protectionLegacySystem ?concept . era:protectionLegacySystem era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS {?concept skos:inScheme ?conceptScheme} || REGEX(STR(?concept), "/eratv/")) }

MaximumBrakingDistance
type: PropertyShape
affected property: maximumBrakingDistance
affected class: RunningTrack
scope: local
comment: The maximum value of the braking distance [in metres] of a train shall be given for the maximum line speed.
rinf index: 1.1.1.3.11.1
path: maximumBrakingDistance
max count: 1
datatype: integer
pattern: ^([1-9]\d{1,4}|[0-9])$
severity: Violation
message: maximumBrakingDistance (1.1.1.3.11.1): The track must define at most one value of the maximum value of the braking distance [in metres] of a train and it is an integer. This error may be due to the track having more than one value or to having a value that is not an integer.

HasAdditionalBrakingInformation
type: PropertyShape
affected property: hasAdditionalBrakingInformation
affected class: RunningTrack
scope: local
comment: Availability by the IM of additional information as defined in 4.2.2.6.2 (2) Regulation XXX-OPE TSI.
rinf index: 1.1.1.3.11.2
path: hasAdditionalBrakingInformation
max count: 1
datatype: boolean
severity: Violation
message: hasAdditionalBrakingInformation (1.1.1.3.11.2): The track must define at most one value of the availability by the IM of additional information and it is Y/N (boolean). This error may be due to the track having more than one value or to having a value that is not Y/N (boolean).

AdditionalBrakingInformationDocument
type: PropertyShape
affected property: additionalBrakingInformationDocument
affected class: RunningTrack
scope: local
comment: Documents available by the IM relating to braking performance.
rinf index: 1.1.1.3.11.3
path: additionalBrakingInformationDocument
class: Document
severity: Violation
message: additionalBrakingInformationDocument (1.1.1.3.11.3): The track defines the documents available by the IM relating to braking performance value and it must be a Document.

CurrentLimitationRequired
type: PropertyShape
affected property: currentLimitationRequired
affected class: ContactLineSystem
scope: local
comment: Indication of whether an on board current or power limitation function on vehicles is required.
rinf index: 1.1.1.2.5.1
path: currentLimitationRequired
datatype: boolean
severity: Violation
message: currentLimitationRequired (1.1.1.2.5.1): The track may have a current limitation required value that is a boolean. This error may be due to the track having a value that is not a boolean.

DocumentRestrictionPositionContactLineSeparation
type: PropertyShape
affected property: documentRestrictionPositionContactLineSeparation
affected class: RunningTrack
scope: local
comment: Document with restriction related to the position of Multiple Traction unit(s) to comply with contact line separation.
rinf index: 1.1.1.2.5.5
path: documentRestrictionPositionContactLineSeparation
class: Document
severity: Violation
message: documentRestrictionPositionContactLineSeparation (1.1.1.2.5.5): The track may have a Document with restriction related to the position of Multiple Traction unit(s) to comply with contact line separation value that is a Document. This error may be due to the track having a value that is not a Document.

DocumentRestrictionPowerConsumption
type: PropertyShape
affected property: documentRestrictionPowerConsumption
affected class: RunningTrack
scope: local
comment: Document with restriction related to power consumption of specific electric traction unit(s).
rinf index: 1.1.1.2.5.4
path: documentRestrictionPowerConsumption
class: Document
severity: Violation
message: documentRestrictionPowerConsumption (1.1.1.2.5.4): The track may have a Document with restriction related to power consumption of specific electric traction unit(s) value that is a Document. This error may be due to the track having a value that is not a Document.

LinesideDistanceIndication
type: PropertyShape
affected property: linesideDistanceIndication
affected class: RunningTrack
scope: local
comment: Indication of types of appearance of track lineside distance indications.
path: linesideDistanceIndication
class: LinesideDistanceIndication
max count: 1
rinf index: 1.1.1.0.0.3
node kind: IRI
severity: Warning
message: linesideDistanceIndication (1.1.1.0.0.3) : The track must have exactly one value of a lineside distance indication that must be an instance of LinesideDistanceIndication. This error may be due to the track having no value, having more than one value or having a value that is not an instance of the class LinesideDistanceIndication.

LinesideDistanceIndicationRequiredForSoL
type: SPARQLConstraint
affected property: linesideDistanceIndication
affected class: RunningTrack
scope: local
comment: linesideDistanceIndication is required on RunningTrack instances that are connected to a SectionOfLine via era:isPartOf or era:hasPart.
message: linesideDistanceIndication (1.1.1.0.0.3): The running track {$this} is connected to a SectionOfLine but does not have a linesideDistanceIndication value. A RunningTrack that is part of a SectionOfLine (via era:isPartOf or era:hasPart) must have exactly one era:linesideDistanceIndication.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this (era:linesideDistanceIndication AS ?path) WHERE { $this a era:RunningTrack . { $this era:isPartOf ?sol . ?sol a era:SectionOfLine . } UNION { ?sol a era:SectionOfLine ; era:hasPart $this . } FILTER NOT EXISTS { $this era:linesideDistanceIndication ?ldi } }

LinesideDistanceIndicationPositioning
type: PropertyShape
affected property: linesideDistanceIndicationPositioning
affected class: LinesideDistanceIndication
scope: local
comment: Indication of the side along the track where the lineside indication is positioned (left or right).
path: linesideDistanceIndicationPositioning
max count: 1
node kind: IRI
severity: Violation
message: LinesideDistanceIndicationPositioning: The track must have at most one value of the lineside distance indication positioning. This error may be due to the track having no value, more than one value or to having a value that is not an IRI.

LinesideDistanceIndicationPositioningSKOS
type: SPARQLConstraint
affected property: linesideDistanceIndicationPositioning
affected class: RunningTrack
scope: local
comment: Indication of the side along the track where the lineside indication is positioned (left or right).
message: Indication of the linesideDistanceIndicationPositioning: The track {$this} has a LinesideDistanceIndication {?linesideDistanceIndication} with a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/lineside-distance-indication-positioning/LinesideDistanceIndicationPositioning.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?linesideDistanceIndication ?concept (era:linesideDistanceIndicationPositioning AS ?path) WHERE { $this era:linesideDistanceIndication ?linesideDistanceIndication . ?linesideDistanceIndication era:linesideDistanceIndicationPositioning ?concept . era:linesideDistanceIndicationPositioning era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

LinesideDistanceIndicationAppearance
type: PropertyShape
affected property: linesideDistanceIndicationAppearance
affected class: LinesideDistanceIndication
scope: local
comment: Indication of types of appearance of track lineside distance indications.
path: linesideDistanceIndicationAppearance
min count: 1
node kind: IRI
severity: Violation
message: linesideDistanceIndicationAppearance: The track must have at least one value of the lineside distance indication appearance. This error may be due to the track having no value, or to having a value that is not an IRI.

LinesideDistanceIndicationAppearanceSKOS
type: SPARQLConstraint
affected property: linesideDistanceIndicationAppearance
affected class: RunningTrack
scope: local
comment: Indication of types of appearance of track lineside distance indications.
message: Indication of the linesideDistanceIndicationAppearance: The track {$this} has a LinesideDistanceIndication {?linesideDistanceIndication} that has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/lineside-distance-indication-appearance/LinesideDistanceIndicationAppearance.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?linesideDistanceIndication ?concept (era:linesideDistanceIndicationAppearance AS ?path) WHERE { $this era:linesideDistanceIndication ?linesideDistanceIndication . ?linesideDistanceIndication era:linesideDistanceIndicationAppearance ?concept . era:linesideDistanceIndicationAppearance era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

LinesideDistanceIndicationFrequency
type: PropertyShape
affected property: linesideDistanceIndicationFrequency
affected class: LinesideDistanceIndication
scope: local
comment: Frequency of track lineside distance indications..
path: linesideDistanceIndicationFrequency
min count: 1
max count: 1
datatype: integer
severity: Violation
message: linesideDistanceIndicationFrequency: The track must have at most one value of the lineside distance indication frequency. This error may be due to the track having a LineDistanceIndication with no value, more than one value or to having a value that is not an integer.

AccelerationLevelCrossingApplicability
type: SPARQLConstraint
affected property: accelerationLevelCrossing
affected class: RunningTrack
scope: local
comment: Existence of limit for acceleration of train if stopping or recovering speed close to a level crossing expressed in a specific reference acceleration curve.
rinf index: 1.1.1.1.7.3
message: accelerationLevelCrossing (1.1.1.1.7.3): This error is due to the track {?trackLabel} , violating the rule: Applicable only when selected value of parameter 1.1.1.1.7.2 is ‘Y’
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:accelerationLevelCrossing AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) FILTER EXISTS { $this era:hasLevelCrossings ?value } . FILTER NOT EXISTS { $this era:accelerationLevelCrossing ?value } . }

TrackPhaseInfoApplicability
type: SPARQLConstraint
affected property: trackPhaseInfo
affected class: RunningTrack
scope: local
comment: Relates the Track with PhaseInfo. Indication of required several information on phase separation.
rinf index: 1.1.1.2.4.1.2
message: trackPhaseInfo (1.1.1.2.4.1.2): This error is due to the track {?trackLabel} , violating the rule: Applicable when in parameter 1.1.1.2.4.1.1 selected option is ‘Y’
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:trackPhaseInfo AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:hasPhaseSeparation true . FILTER NOT EXISTS { $this era:trackPhaseInfo ?value } . }

TrackSystemSeparationInfoApplicability
type: SPARQLConstraint
affected property: trackSystemSeparationInfo
affected class: RunningTrack
scope: local
comment: Relates the Track with the SystemSeparationInfo. Indication of required several information on system separation.
rinf index: 1.1.1.2.4.2.2
message: trackSystemSeparationInfo (1.1.1.2.4.2.2): This error is due to the track {?trackLabel} , violating the rule: Applicable when in parameter 1.1.1.2.4.2.1 selected option is ‘Y’
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:trackSystemSeparationInfo AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:hasSystemSeparation true . FILTER NOT EXISTS { $this era:trackSystemSeparationInfo ?value } . }

TsiPantographHeadApplicability
type: SPARQLConstraint
affected property: tsiPantographHead
affected class: RunningTrack
scope: local
comment: Indication of TSI compliant pantograph heads which are allowed to be used.
rinf index: 1.1.1.2.3.1
message: tsiPantographHead (1.1.1.2.3.1): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:tsiPantographHead AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) FILTER EXISTS { $this era:tsiPantographHead ?value } . }

TrackRaisedPantographDistanceAndSpeedApplicability
type: SPARQLConstraint
affected property: trackRaisedPantographsDistanceAndSpeed
affected class: RunningTrack
scope: local
comment: Relates the track with the class RaisedPantographsDistanceAndSpeed. Indication of maximum number of raised pantographs per train allowed and minimum spacing centre line to centre line of adjacent pantograph heads, expressed in metres, at the given speed.
rinf index: 1.1.1.2.3.3
message: trackRaisedPantographsDistanceAndSpeed (1.1.1.2.3.3): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:trackRaisedPantographsDistanceAndSpeed AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) . FILTER EXISTS { $this era:trackRaisedPantographsDistanceAndSpeed ?value } . }

HasPhaseSeparationApplicability
type: SPARQLConstraint
affected property: hasPhaseSeparation
affected class: RunningTrack
scope: local
comment: Indication of existence of phase separation and required information.
rinf index: 1.1.1.2.4.1.1
message: hasPhaseSeparation (1.1.1.2.4.1.1): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:hasPhaseSeparation AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) . FILTER EXISTS { $this era:hasPhaseSeparation ?value } . }

ContactStripMaterialApplicability
type: SPARQLConstraint
affected property: contactStripMaterial
affected class: RunningTrack
scope: local
comment: Indication of which contact strip materials are permitted to be used.
rinf index: 1.1.1.2.3.4
message: contactStripMaterial (1.1.1.2.3.4): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:contactStripMaterial AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) . FILTER EXISTS { $this era:contactStripMaterial ?value } . }

OtherPantographHeadApplicability
type: SPARQLConstraint
affected property: otherPantographHead
affected class: RunningTrack
scope: local
comment: Indication of pantograph heads which are allowed to be used.
rinf index: 1.1.1.2.3.2
message: otherPantographHead (1.1.1.2.3.2): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?cls ?trackLabel (era:otherPantographHead AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) . FILTER EXISTS { $this era:otherPantographHead ?value } . }

HasSystemSeparationApplicability
type: SPARQLConstraint
affected property: hasSystemSeparation
affected class: RunningTrack
scope: local
comment: Indication of existence of system separation.
rinf index: 1.1.1.2.4.2.1
message: hasSystemSeparation (1.1.1.2.4.2.1): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:hasSystemSeparation AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) . FILTER EXISTS { $this era:hasSystemSeparation ?value } . }

PermittedContactForceApplicability
type: SPARQLConstraint
affected property: permittedContactForce
affected class: RunningTrack
scope: local
comment: Indication of contact force allowed expressed in newton.
rinf index: 1.1.1.2.5.2
message: permittedContactForce (1.1.1.2.5.2): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:permittedContactForce AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) . FILTER EXISTS { $this era:permittedContactForce ?value } . }

AutomaticDroppingDeviceRequiredApplicability
type: SPARQLConstraint
affected property: automaticDroppingDeviceRequired
affected class: RunningTrack
scope: local
comment: Indication of whether an automatic dropping device (ADD) required on the vehicle.
rinf index: 1.1.1.2.5.3
message: automaticDroppingDeviceRequired (1.1.1.2.5.3): This error is due to the track {?trackLabel} , violating the rule: This parameter is applicable ('Y') only if “Overhead contact line (OCL)” is selected for 1.1.1.2.2.1.1.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:automaticDroppingDeviceRequired AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType != <http://data.europa.eu/949/concepts/contact-line-systems/10>) . FILTER EXISTS { $this era:automaticDroppingDeviceRequired ?value } . }

CurrentLimitationRequiredApplicability
type: SPARQLConstraint
affected property: currentLimitationRequired
affected class: RunningTrack
scope: local
comment: Indication of whether an on board current or power limitation function on vehicles is required.
rinf index: 1.1.1.2.5.1
message: currentLimitationRequired (1.1.1.2.5.1): This error is due to the track {?trackLabel} , violating the rule: When 'not electrified' is chosen in parameter 1.1.1.2.2.1.1, then this parameter is not applicable selection ‘N’.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:currentLimitationRequired AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:contactLineSystem ?cls . ?cls era:contactLineSystemType ?clsType . FILTER (?clsType = <http://data.europa.eu/949/concepts/contact-line-systems/40>) . FILTER EXISTS { $this era:currentLimitationRequired ?value } . }

HasBallastApplicability
type: SPARQLConstraint
affected property: hasBallast
affected class: RunningTrack
scope: local
comment: Specifies whether track construction is with sleepers embedded in ballast or not.
rinf index: 1.1.1.1.4.4
message: hasBallast (1.1.1.1.4.4): This error is due to the track {?trackLabel} , violating the rule: Y for tracks with permitted speed (parameter 1.1.1.1.2.5) greater than 250km/h.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:hasBallast AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:maximumPermittedSpeed ?mps . FILTER (?mps > 250) . FILTER NOT EXISTS { $this era:hasBallast ?value } . }

MagneticBrakingConditionsDocumentApplicability
type: SPARQLConstraint
affected property: magneticBrakingConditionsDocument
affected class: RunningTrack
scope: local
comment: Electronic document available in two EU languages from the IM stored by the Agency with conditions for the use of magnetic brakes identified in 1.1.1.1.6.3.
rinf index: 1.1.1.1.6.5
message: magneticBrakingConditionsDocument (1.1.1.1.6.5): This error is due to the track {?trackLabel} , violating the rule: Y if the answer to 1.1.1.1.6.3 / Use of magnetic brakes is “allowed under conditions” or “allowed under conditions only for emergency brake”.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:magneticBrakingConditionsDocument AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:magneticBraking ?mb . FILTER (?mb = <http://data.europa.eu/949/concepts/magnetic-braking/20> || ?mb = <http://data.europa.eu/949/concepts/magnetic-braking/30>) . FILTER NOT EXISTS { $this era:magneticBrakingConditionsDocument ?value } . }

AdditionalBrakingInformationDocumentApplicability
type: SPARQLConstraint
affected property: additionalBrakingInformationDocument
affected class: RunningTrack
scope: local
comment: Electronic document available in two EU languages from the IM stored by the Agency providing additional information as defined in point (2) of point 4.2.2.6.2 of TSI OPE.
rinf index: 1.1.1.3.11.3
message: additionalBrakingInformationDocument (1.1.1.3.11.3): This error is due to the track {?trackLabel} , violating the rule: Y in case of Y for 1.1.1.3.11.2.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:additionalBrakingInformationDocument AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:hasAdditionalBrakingInformation true . FILTER NOT EXISTS { $this era:additionalBrakingInformationDocument ?value } . }

EddyCurrentBrakingConditionsDocumentApplicability
type: SPARQLConstraint
affected property: eddyCurrentBrakingConditionsDocument
affected class: RunningTrack
scope: local
comment: Electronic document available in two EU languages from the IM stored by the Agency with conditions for the use of eddy current brakes identified in 1.1.1.1.6.2.
rinf index: 1.1.1.1.6.4
message: eddyCurrentBrakingConditionsDocument (1.1.1.1.6.4): This error is due to the track {?trackLabel} , violating the rule: Y in case of Y for 1.1.1.1.6.2 Use of eddy current brakes is “allowed under conditions” or “allowed under conditions only for emergency brake””.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:eddyCurrentBrakingConditionsDocument AS ?path) WHERE { OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) $this era:eddyCurrentBraking ?ecb . FILTER (?ecb = <http://data.europa.eu/949/concepts/eddy-current-braking/20> || ?ecb = <http://data.europa.eu/949/concepts/eddy-current-braking/40>) . FILTER NOT EXISTS { $this era:eddyCurrentBrakingConditionsDocument ?value } . }

ConditionalRegenerativeBrake
type: PropertyShape
affected property: conditionalRegenerativeBrake
affected class: ContactLineSystem
scope: local
comment: Indication whether regenerative braking is permitted, not permitted, or permitted under specific conditions.
rinf index: 1.1.1.2.2.4
path: conditionalRegenerativeBrake
node kind: IRI
max count: 1
severity: Violation
message: conditionalRegenerativeBrake (1.1.1.2.2.4): The track defines if the regenerative brake is permitted. This error is due to having more than one value for this property or having a value that is not an IRI.

ConditionalRegenerativeBrakeSKOS
type: SPARQLConstraint
affected property: conditionalRegenerativeBrake
affected class: RunningTrack
scope: local
comment: Indication whether regenerative braking is permitted, not permitted, or permitted under specific conditions.
rinf index: .1.1.2.2.4
message: conditionalRegenerativeBrake (1.1.1.2.2.4):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/regenerative-braking/RegenerativeBraking.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:conditionalRegenerativeBrake AS ?path) WHERE { $this era:conditionalRegenerativeBrake ?concept . era:conditionalRegenerativeBrake era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

ConditionsUseReflectivePlates
type: PropertyShape
affected property: conditionsUseReflectivePlates
affected class: RunningTrack
affected class: CommonCharacteristicsSubset
scope: local
comment: Details of any conditions for using the reflective plates on freight corridors. Specific case for Portugal and Spain until 1.1.2025 and Belgium and France until 1.1.2026.
rinf index: 1.1.1.1.7.12.1
path: conditionsUseReflectivePlates
node kind: IRI
severity: Violation
message: conditionsUseReflectivePlates (1.1.1.1.7.12.1): The track may have a value of the conditions for use of reflective plates. This error may be due to the track having a value that is not an IRI.

ConditionsUseReflectivePlatesSKOS
type: SPARQLConstraint
affected property: conditionsUseReflectivePlates
affected class: RunningTrack
affected class: CommonCharacteristicsSubset
scope: local
comment: Details of any conditions for using the reflective plates on freight corridors. Specific case for Portugal and Spain until 1.1.2025 and Belgium and France until 1.1.2026.
rinf index: 1.1.1.1.7.12.1
severity: Violation
message: Indication of the conditionsUseReflectivePlates (1.1.1.1.7.12.1): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/conditions-use-reflective-plates/ConditionsUseReflectivePlates.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:conditionsUseReflectivePlates AS ?path) WHERE { $this era:conditionsUseReflectivePlates ?concept . era:conditionsUseReflectivePlates era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

Etcs
type: PropertyShape
affected property: etcs
affected class: RunningTrack
scope: local
comment: European Train Control System (ETCS) application level supported by the track side equipment.
path: etcs
class: ETCS
rinf index: 1.1.1.3.2
node kind: IRI
severity: Violation
message: etcs (1.1.1.3.2) : The track may have a value of a European Train Control System (ETCS) that must be an instance of ETCS. This error may be due to the track having a value that is not an instance of the class ETCS.

StandardCombinedTransportContainers
type: PropertyShape
affected property: standardCombinedTransportContainers
affected class: RunningTrack
scope: local
comment: Coding for combined transport for containers (for all freight and mixed-traffic lines) in accordance with the specification referenced in Appendix A-1, index [B].
rinf index: 1.1.1.1.3.8
path: standardCombinedTransportContainers
node kind: IRI
severity: Violation
message: standardCombinedTransportContainers (1.1.1.1.3.8): The track defines a standard combined transport profile number for containers. This error is due to having a value that is not an IRI.

StandardCombinedTransportContainersSKOS
type: SPARQLConstraint
affected property: standardCombinedTransportContainers
affected class: RunningTrack
scope: local
comment: Coding for combined transport for containers (for all freight and mixed-traffic lines) in accordance with the specification referenced in Appendix A-1, index [B].
rinf index: .1.1.1.1.3.8
message: standardCombinedTransportContainers (1.1.1.1.3.8):): The track {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/standard-combined-transport-containers/StandardCombinedTransportContainers.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:standardCombinedTransportContainers AS ?path) WHERE { $this era:standardCombinedTransportContainers ?concept . era:standardCombinedTransportContainers era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

StandardCombinedRollerUnits
type: PropertyShape
affected property: standardCombinedTransportRollerUnits
affected class: RunningTrack
scope: local
comment: Coding for combined transport for roller units (for all freight and mixed-traffic lines) in accordance with the specification referenced in Appendix A-1, index [B].
rinf index: 1.1.1.1.3.9
path: standardCombinedTransportRollerUnits
node kind: IRI
severity: Violation
message: standardCombinedTransportRollerUnits (1.1.1.1.3.9): The track defines a standard combined transport profile number for roller units. This error is due to having or having a value that is not an IRI.

StandardCombinedRollerUnitsSKOS
type: SPARQLConstraint
affected property: standardCombinedTransportRollerUnits
affected class: RunningTrack
scope: local
comment: Coding for combined transport for roller units (for all freight and mixed-traffic lines) in accordance with the specification referenced in Appendix A-1, index [B].
rinf index: 1.1.1.1.3.9
message: standardCombinedTransportRollerUnits (1.1.1.1.3.9):): The track {$this} in the Section of Line {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/standard-combined-transport-roller-units/StandardCombinedTransportRollerUnits.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:standardCombinedTransportRollerUnits AS ?path) WHERE { $this era:standardCombinedTransportRollerUnits ?concept . era:standardCombinedTransportRollerUnits era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

TrainDetectionSystem
type: PropertyShape
affected property: trainDetectionSystem
affected class: RunningTrack
scope: local
comment: Train detection systems installed in the section of line.
path: trainDetectionSystem
class: TrainDetectionSystem
rinf index: 1.1.1.3.4
node kind: IRI
severity: Violation
message: trainDetectionSystem (1.1.1.3.4) : The track may have a value of a train detection system that must be an instance of TrainDetectionSystem. This error may be due to the track having a value that is not an instance of the class TrainDetectionSystem.

AllocationCompany
type: PropertyShape
affected class: SubsidiaryLocation
affected property: allocationCompany
scope: local
comment: The organisation in charge to allocate the code for the subsidiary location.
path: allocationCompany
node kind: IRI
class: OrganisationRole
severity: Violation
message: allocationCompany: An instance of subsidiary location may have a value for allocation company. This error may be due to having a value that is not an IRI or that does not point to an instance of OrganisationRole.

LinkedToPrimaryLocation
type: PropertyShape
affected class: SubsidiaryLocation
affected property: linkedToPrimaryLocation
scope: local
comment: Linked to primary location.
path: linkedToPrimaryLocation
node kind: IRI
class: PrimaryLocation
severity: Violation
message: linkedToPrimaryLocation: An instance of subsidiary location may have a value for linkedToPrimaryLocation. This error may be due to having a value that is not an IRI or that does not point to an instance of PrimaryLocation.

SubsidiaryLocationType
type: PropertyShape
affected class: SubsidiaryLocation
affected property: subsidiaryLocationType
scope: local
comment: Subsidiary location type.
path: subsidiaryLocationType
node kind: IRI
severity: Violation
message: subsidiaryLocationType: An instance of subsidiary location may have a value for subsidiary location type. This error may be due to having a value that is not an IRI.

SubsidiaryLocationTypeSKOS
type: SPARQLConstraint
affected class: SubsidiaryLocation
affected property: subsidiaryLocationType
scope: local
comment: Subsidiary location type.
message: subsidiaryLocationType: The Subsidiary Location {$this} (label {?slLabel}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/subsidiary-location-types/SubsidiaryLocationTypes.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?slLabel (era:subsidiaryLocationType AS ?path) WHERE { OPTIONAL { $this rdfs:label ?slLabel0 } . BIND(COALESCE(?slLabel0, "unknown label") AS ?slLabel) $this era:subsidiaryLocationType ?concept . era:subsidiaryLocationType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme . } }

SubsidiaryLocationName
type: PropertyShape
affected class: SubsidiaryLocation
affected property: subsidiaryLocationName
scope: local
comment: The common name given to the subsidiary location
path: subsidiaryLocationName
datatype: langString
node kind: Literal
unique lang: true
severity: Violation
message: subsidiaryLocationName: Each Subsidiary Location may have a name. If it does, there should be at least one name in English (@en). Additional multilingual names are allowed, but only one value per language tag is permitted. All values must be language-tagged string literals.
sparql: LangStringEnRequiredIfPresent

TrainDetectionSystemType
type: PropertyShape
affected property: trainDetectionSystemType
affected class: TrainDetectionSystem
scope: local
comment: Indication of types of train detection system installed.
rinf index: 1.1.1.3.7.1.1
rinf index: 1.2.1.1.3.1.1
path: trainDetectionSystemType
max count: 1
node kind: IRI
severity: Violation
message: trainDetectionSystemType (1.1.1.3.7.1.1, 1.2.1.1.3.1.1): The train detection system has a train detection system type that must be a single IRI. This error may be due to having more than one value or having a value that is not an IRI.

TrainDetectionSystemTypeSKOS
type: SPARQLConstraint
affected property: trainDetectionSystemType
affected class: TrainDetectionSystem
scope: local
comment: Indication of types of train detection system installed.
rinf index: 1.1.1.3.7.1.1
rinf index: 1.2.1.1.3.1.1
message: Indication of types of train detection system installed (1.1.1.3.7.1.1, 1.2.1.1.3.1.1): The train detection system {$this} (label {?tdsLabel}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/train-detection/TrainDetectionSystems.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?tdsLabel (era:trainDetectionSystemType AS ?path) WHERE { OPTIONAL { $this rdfs:label ?tdsLabel0 } . BIND(COALESCE(?tdsLabel0, "unknown label") AS ?tdsLabel) $this era:trainDetectionSystemType ?concept . era:trainDetectionSystemType era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme } || REGEX(STR(?concept), "/eratv/")) }

TrainDetectionSystemSpecificCheck
type: PropertyShape
affected property: trainDetectionSystemSpecificCheck
affected class: TrainDetectionSystem
scope: local
comment: Reference to the technical specification of train detection system.
rinf index: 1.1.1.3.7.1.2
rinf index: 1.2.1.1.6.1
path: trainDetectionSystemSpecificCheck
max count: 1
node kind: IRI
severity: Violation
message: trainDetectionSystemSpecificCheck (1.1.1.3.7.1.2, 1.2.1.1.6.1): The train detection system has a train detection system specific check that must be a single IRI. This error may be due to having more than one value or having a value that is not an IRI.

TrainDetectionSystemSpecificCheckSKOS
type: SPARQLConstraint
affected property: trainDetectionSystemSpecificCheck
affected class: TrainDetectionSystem
scope: local
comment: Reference to the technical specification of train detection system.
rinf index: 1.1.1.3.7.1.2
rinf index: 1.2.1.1.6.1
message: Indication of specific checks of train detection system installed (1.1.1.3.7.1.2, 1.2.1.1.6.1): The train detection system {$this} (label {?tdsLabel}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/train-detection-specific-checks.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?tdsLabel (era:trainDetectionSystemSpecificCheck AS ?path) WHERE { OPTIONAL { $this rdfs:label ?tdsLabel0 } . BIND(COALESCE(?tdsLabel0, "unknown label") AS ?tdsLabel) $this era:trainDetectionSystemSpecificCheck ?concept . era:trainDetectionSystemSpecificCheck era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

TrainDetectionSystemSpecificCheckApplicability
type: SPARQLConstraint
affected property: trainDetectionSystemSpecificCheck
affected class: TrainDetectionSystem
scope: local
comment: Only applicable, when 1.1.1.3.7.1.1 is applicable.
rinf index: 1.1.1.3.7.1.2
rinf index: 1.2.1.1.6.1
message: trainDetectionSystemSpecificCheck (1.1.1.3.7.1.2, 1.2.1.1.6.1):The Train Detection System {$this} ({?clsLabel}), has a type that makes the trainDetectionSystemSpecificCheck parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:trainDetectionSystemSpecificCheck AS ?path) WHERE { $this era:trainDetectionSystemType ?tdsType . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:trainDetectionSystemSpecificCheck ?value } . }

TrainDetectionSystemSpecificCheckDocument
type: PropertyShape
affected property: trainDetectionSystemSpecificCheckDocument
affected class: TrainDetectionSystem
scope: local
comment: Electronic document available in two EU languages from the IM stored by the Agency with precise procedures for the specific check to be performed for train detection systems identified in 1.1.1.3.7.1.2.
rinf index: 1.1.1.3.7.1.3
rinf index: 1.2.1.1.6.2
path: trainDetectionSystemSpecificCheckDocument
max count: 1
class: Document
severity: Violation
message: trainDetectionSystemSpecificCheckDocument (1.1.1.3.7.1.3, 1.2.1.1.6.2): The track defines the electronic document available in two EU languages value and it must be a Document. This error may be due to having more than one value or having a value that is not a Document.

TrainDetectionSystemSpecificCheckDocumentApplicability
type: SPARQLConstraint
affected property: trainDetectionSystemSpecificCheckDocument
affected class: TrainDetectionSystem
scope: local
comment: Only applicable, when 1.1.1.3.7.1.1 is applicable.
rinf index: 1.1.1.3.7.1.3
rinf index: 1.2.1.1.6.2
message: trainDetectionSystemSpecificCheckDocument (1.1.1.3.7.1.3, 1.2.1.1.6.2):The Train Detection System {$this} ({?clsLabel}), has a type that makes the trainDetectionSystemSpecificCheckDocument parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:trainDetectionSystemSpecificCheckDocument AS ?path) WHERE { $this era:trainDetectionSystemType ?tdsType . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:trainDetectionSystemSpecificCheckDocument ?value } . }

MaximumInterferenceCurrentEvaluation
type: PropertyShape
affected property: maximumInterferenceCurrentEvaluation
affected class: TrainDetectionSystem
scope: local
comment: If the preferred frequency bands are not used, (mandatory) description of the parameters for evaluation of compliance. If the preferred frequency bands are used, this parameter is optional.
rinf index: 1.1.1.3.4.2.1
rinf index: 1.2.1.1.3.2.1
path: maximumInterferenceCurrentEvaluation
max count: 1
datatype: string
severity: Violation
message: maximumInterferenceCurrentEvaluation (1.1.1.3.4.2.1, 1.2.1.1.3.2.1): Each TrainDetectionSystem may have a single value for maximumInterferenceCurrentEvaluation that is a character string. This error is due to having more than one maximumInterferenceCurrentEvaluation value or having a value that is not a string.

FrequencyBandsForDetection
type: PropertyShape
affected property: frequencyBandsForDetection
affected class: TrainDetectionSystem
scope: local
comment: Bands of the frequency management of the train detection systems as defined in the TSI CCS (Annex I, Appendix A, Table A.2 -Index 77), and in the specific cases or technical documents referred to in Article 13 of TSI CCS when they are available.
rinf index: 1.1.1.3.4.2
rinf index: 1.2.1.1.3.2
path: frequencyBandsForDetection
node kind: IRI
severity: Violation
message: frequencyBandsForDetection (1.1.1.3.4.2.1, 1.2.1.1.3.2): The train detection system has a frequency band for detection that must be an IRI. This error may be due to having more than one value or having a value that is not a Document.

FrequencyBandsForDetectionSKOS
type: SPARQLConstraint
affected property: frequencyBandsForDetection
affected class: TrainDetectionSystem
scope: local
comment: Indication of the frequency band for detection of the train detection system
rinf index: 1.1.1.3.4.2
rinf index: 1.2.1.1.3.2
message: Indication of the frequency band for detection of the train detection system (1.1.1.3.4.2, 1.2.1.1.3.2): The train detection system {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/train-detection/FrequencyBandsForDetection.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:frequencyBandsForDetection AS ?path) WHERE { $this era:frequencyBandsForDetection ?concept . era:frequencyBandsForDetection era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

MaximumInterferenceCurrent
type: PropertyShape
affected property: maximumInterferenceCurrent
affected class: TrainDetectionSystem
scope: local
comment: Maximum interference current limits allowed for track circuits for a defined frequency band (to be expressed in A/m).
rinf index: 1.1.1.3.4.2.1
rinf index: 1.2.1.1.3.2.1
path: maximumInterferenceCurrent
datatype: double
pattern: ^([1-9]\d{0,2}|[0-9])(\.\d+)?$
max count: 1
severity: Violation
message: maximumInterferenceCurrent (1.1.1.3.4.2.1, 1.2.1.1.3.2.1): Each train detection system must define the maximum interference current in Amperes. This error may be due to having more than one value or having a value that is not a double (real) number.

TdsMaximumMagneticField
type: PropertyShape
affected class: TrainDetectionSystem
affected property: tdsMaximumMagneticField
scope: local
comment: Relates the Axle Counter TrainDetectionSystem with its MaximumMagneticField in (X,Y,Z). The maximum magnetic field limits allowed for axle counters (in dB µA/m) for a defined frequency band. It should be provided in 3 directions.
rinf index: 1.1.1.3.4.2.3
rinf index: 1.2.1.1.3.2.3
path: tdsMaximumMagneticField
class: MaximumMagneticField
max count: 1
severity: Violation
message: tdsMaximumMagneticField (1.1.1.3.4.2.3, 1.2.1.1.3.2.3): The train detection system has a train detection system maximum magnetic field reference that must be a maximum magnetic field. This error may be due to having more than one value or having a value that is not an instance of a MaximumMagnaticField.

TdsMaximumMagneticFieldApplicability
type: SPARQLConstraint
affected property: tdsMaximumMagneticField
affected class: TrainDetectionSystem
scope: local
comment: Y, for parameter 1.1.1.3.7.1.1 “Axle Counters” only.
rinf index: 1.1.1.3.4.2.3
rinf index: 1.2.1.1.3.2.3
message: tdsMaximumMagneticField (1.1.1.3.4.2.3, 1.2.1.1.3.2.3):The Train Detection System {$this} ({?clsLabel}), has an 'axle counters' type that makes the tdsMaximumMagneticField parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:tdsMaximumMagneticField AS ?path) WHERE { $this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/eratv/axle-counters> . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:tdsMaximumMagneticField ?value } . }

MaximumMagneticFieldDirectionX
type: PropertyShape
affected property: maximumMagneticFieldDirectionX
affected class: MaximumMagneticField
scope: local
comment: The maximum magnetic field limits allowed for axle counters (in dB µA/m) for a defined frequency band. Direction X.
path: maximumMagneticFieldDirectionX
min count: 1
max count: 1
datatype: integer
severity: Violation
message: maximumMagneticFieldDirectionX : Each MaximumMagneticField may have a single value for maximum magnetic field direction X that is an integer. This error is due to not having a value, having more than one value or having a value that is not an integer.

MaximumMagneticFieldDirectionY
type: PropertyShape
affected property: maximumMagneticFieldDirectionY
affected class: MaximumMagneticField
scope: local
comment: The maximum magnetic field limits allowed for axle counters (in dB µA/m) for a defined frequency band. Direction Y.
path: maximumMagneticFieldDirectionY
min count: 1
max count: 1
datatype: integer
severity: Violation
message: maximumMagneticFieldDirectionY : Each MaximumMagneticField may have a single value for maximum magnetic field direction Y that is an integer. This error is due to not having a value, having more than one value or having a value that is not an integer.

MaximumMagneticFieldDirectionZ
type: PropertyShape
affected property: maximumMagneticFieldDirectionZ
affected class: MaximumMagneticField
scope: local
comment: The maximum magnetic field limits allowed for axle counters (in dB µA/m) for a defined frequency band. Direction Z.
path: maximumMagneticFieldDirectionZ
min count: 1
max count: 1
datatype: integer
severity: Violation
message: maximumMagneticFieldDirectionZ : Each MaximumMagneticField may have a single value for maximum magnetic field direction Z that is an integer. This error is due to not having a value, having more than one value or having a value that is not an integer.

TdsFrenchTrainDetectionSystemLimitation
type: PropertyShape
affected class: TrainDetectionSystem
affected property: tdsFrenchTrainDetectionSystemLimitation
scope: local
comment: Relates the class train detection system with the class that represents the section with train detection limitation. Specific for route compatibility check on French network.
rinf index: 1.1.1.3.7.1.4
rinf index: 1.2.1.1.6.3
path: tdsFrenchTrainDetectionSystemLimitation
class: FrenchTrainDetectionSystemLimitation
max count: 1
severity: Violation
message: tdsFrenchTrainDetectionSystemLimitation (1.1.1.3.7.1.4, 1.2.1.1.6.3): The train detection system has a tds french train detection system limitation reference that must be a french train detection system limitation. This error may be due to having more than one value or having a value that is not an instance of a FrenchTrainDetectionSystemLimitation

FrenchTrainDetectionSystemLimitationNumber
type: PropertyShape
affected property: frenchTrainDetectionSystemLimitationNumber
affected class: FrenchTrainDetectionSystemLimitation
scope: local
comment: Part of the section with train detection limitation that indicates the type of train detection limitation. Only for the French network
path: frenchTrainDetectionSystemLimitationNumber
node kind: IRI
min count: 1
max count: 1
severity: Violation
message: frenchTrainDetectionSystemLimitationNumber : The train detection system has a french train detection limitation number that must be an IRI. This error may be due to not having a value, having more than one value or having a value that is not an IRI.

FrenchTrainDetectionSystemLimitationNumberSKOS
type: SPARQLConstraint
affected property: frenchTrainDetectionSystemLimitationNumber
affected class: FrenchTrainDetectionSystemLimitation
scope: local
comment: Part of the section with train detection limitation that indicates the type of train detection limitation. Only for the French network
message: Indication of the frenchTrainDetectionSystemLimitationNumber: The train detection system {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/train-detection-numbers/FrenchTrainDetectionSystemLimitationNumbers.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept (era:frenchTrainDetectionSystemLimitationNumber AS ?path) WHERE { $this era:frenchTrainDetectionSystemLimitationNumber ?concept . era:frenchTrainDetectionSystemLimitationNumber era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

FrenchTrainDetectionSystemLimitationApplicable
type: PropertyShape
affected property: frenchTrainDetectionSystemLimitationApplicable
affected class: FrenchTrainDetectionSystemLimitation
scope: local
comment: Part of the section with train detection limitation that indicates if it is applicable. Only for the French network.
path: frenchTrainDetectionSystemLimitationApplicable
datatype: boolean
min count: 1
max count: 1
severity: Violation
message: frenchTrainDetectionSystemLimitationApplicable : The train detection system has a french train detection limitation applicable value that must be a boolean. This error may be due to not having a value, having more than one value or having a value that is not a boolean.

MinVehicleImpedance
type: PropertyShape
affected class: TrainDetectionSystem
affected property: minVehicleImpedance
scope: local
rinf index: 1.1.1.3.4.2.2
path: minVehicleImpedance
class: MinVehicleImpedance
max count: 1
severity: Violation
message: minVehicleImpedance (1.1.1.3.4.2.2): The train detection system has a minimum vehicle impedance reference that must be a minimum vehicle impedance. This error may be due to having more than one value or having a value that is not an instance of a MinVehicleImpedance.

MinVehicleImpedanceApplicability
type: SPARQLConstraint
affected property: minVehicleImpedance
affected class: MinVehicleImpedance
scope: local
rinf index: 1.1.1.3.4.2.2
comment: The parameter minVehicleImpedance is applicable for track circuits.
message: minVehicleImpedance (1.1.1.3.4.2.2):The Train Detection System {$this} ({?tdsLabel}), has a 'track circuit' type that makes the minVehicleImpedance parameter applicable. This error is due to not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?tdsLabel (era:minVehicleImpedance AS ?path) WHERE { $this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/rinf/10> . OPTIONAL { $this rdfs:label ?tdsLabel0 } . BIND(COALESCE(?tdsLabel0, "unknown label") AS ?tdsLabel) FILTER NOT EXISTS { $this era:minVehicleImpedance ?value } . FILTER NOT EXISTS { $this era:notYetAvailable era:minVehicleImpedance } . }

MinVehicleImpedanceVoltages
type: PropertyShape
affected property: minVehicleImpedanceVoltages
affected class: MinVehicleImpedance
scope: local
comment: Indication of the voltage system valid for the minimal impedance value (track circuits).
path: minVehicleImpedanceVoltages
node kind: IRI
max count: 1
min count: 1
severity: Violation
message: minVehicleImpedanceVoltages: The MinVehicleImpedance has a minVehicleImpedanceVoltage that must be an IRI. This error may be due to not having a value, having more than one value or having a value that is not an IRI.

MinVehicleImpedanceVoltagesSKOS
type: SPARQLConstraint
affected property: minVehicleImpedanceVoltages
affected class: MinVehicleImpedance
scope: local
comment: Indication of the voltage system valid for the minimal impedance value (track circuits).
message: minVehicleImpedanceVoltages: The minVehicleImpedance {$this} has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/energy-supply-systems/EnergySupplySystems.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:minVehicleImpedanceVoltages AS ?path) WHERE { $this era:minVehicleImpedanceVoltages ?concept . era:minVehicleImpedanceVoltages era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

MinVehicleImpedanceVoltagesApplicability
type: SPARQLConstraint
affected property: minVehicleImpedanceVoltages
affected class: MinVehicleImpedance
scope: local
comment: The parameter minVehicleImpedanceVoltages is applicable for track circuits.
rinf index: 1.2.1.1.3.2.2
rinf index: 1.1.1.3.4.2.2
message: minVehicleImpedanceVoltages (1.1.1.3.4.2.2, 1.2.1.1.3.2.2):The Train Detection System {$this} ({?clsLabel}), has a 'track circuit' type that makes the minVehicleImpedanceVoltages parameter applicable. This error is due to {?minVehicleImpedance} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:minVehicleImpedanceVoltages AS ?path) WHERE { $this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/rinf/10> ; era:minVehicleImpedance ?minVehicleImpedance . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { ?minVehicleImpedance era:minVehicleImpedanceVoltages ?value } . }

MinVehicleInputCapacitance
type: PropertyShape
affected property: minVehicleInputCapacitance
affected class: MinVehicleImpedance
scope: local
comment: For the selected DC voltage: [CCCC], as input capacitance [CCCC](Cin).
path: minVehicleInputCapacitance
datatype: double
min count: 1
max count: 1
severity: Violation
message: minVehicleInputCapacitance: Each MinVehicleImpedance must define the minVehicleInputCapacitance. This error may be due to not having a value, having more than one value or having a value that is not a double (real) number.

MinVehicleInputCapacitanceApplicability
type: SPARQLConstraint
affected property: minVehicleInputCapacitance
affected class: MinVehicleImpedance
scope: local
comment: The parameter minVehicleInputCapacitance is applicable for track circuits.
rinf index: 1.2.1.1.3.2.2
rinf index: 1.1.1.3.4.2.2
message: minVehicleInputCapacitance (1.1.1.3.4.2.2, 1.2.1.1.3.2.2):The Train Detection System {$this} ({?clsLabel}), has a 'track circuit' type that makes the minVehicleInputCapacitance parameter applicable. This error is due to {?minVehicleImpedance} not having a value for such a parameter.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:minVehicleInputCapacitance AS ?path) WHERE { $this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/rinf/10> ; era:minVehicleImpedance ?minVehicleImpedance . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { ?minVehicleImpedance era:minVehicleInputCapacitance ?value } . }

MinVehicleInputImpedance
type: PropertyShape
affected property: minVehicleInputImpedance
affected class: MinVehicleImpedance
scope: local
comment: For the selected DC voltage: [ZZZZ], as input impedance [ZZZZ](Zin).
path: minVehicleInputImpedance
datatype: double
min count: 1
max count: 1
severity: Violation
message: minVehicleInputImpedance: Each MinVehicleImpedance must define the minVehicleInputImpedance. This error may be due to not having a value, having more than one value or having a value that is not a double (real) number.

MinVehicleInputImpedanceApplicability
type: SPARQLConstraint
affected property: minVehicleInputImpedance
affected class: MinVehicleImpedance
scope: local
comment: The parameter minVehicleInputImpedance is applicable for track circuits.
rinf index: 1.2.1.1.3.2.2
rinf index: 1.1.1.3.4.2.2
message: minVehicleInputImpedance (1.1.1.3.4.2.2, 1.2.1.1.3.2.2):The Train Detection System {$this} ({?clsLabel}), has a 'track circuit' type that makes the minVehicleInputImpedance parameter applicable. This error is due to {?minVehicleImpedance} not having a value for such a parameter.
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:minVehicleInputImpedance AS ?path) WHERE { $this era:trainDetectionSystemType <http://data.europa.eu/949/concepts/train-detection/rinf/10> ; era:minVehicleImpedance ?minVehicleImpedance . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { ?minVehicleImpedance era:minVehicleInputImpedance ?value } . }

TunnelIdentification
type: PropertyShape
affected property: tunnelIdentification
affected class: Tunnel
scope: local
comment: Unique tunnel identification or unique number within Member State.
rinf index: 1.1.1.1.8.2
rinf index: 1.2.1.0.5.2
rinf index: 1.2.2.0.5.2
path: tunnelIdentification
min count: 1
max count: 1
datatype: string
severity: Warning
message: tunnelIdentification (1.1.1.1.8.2, 1.2.1.0.5.2, 1.2.2.0.5.2): Each Tunnel can be referred with only one identification. This error may be due to having a Tunnel with no identification, with more than one identification or with an identification that is not a character string.

VerificationSRT
type: PropertyShape
affected property: verificationSRT
affected class: Tunnel
scope: local
comment: Unique number for EC declarations following format requirements specified in the 'Document about practical arrangements for transmitting interoperability documents'
rinf index: 1.1.1.1.8.5
rinf index: 1.2.1.0.5.3
rinf index: 1.2.2.0.5.3
path: verificationSRT
datatype: string
pattern: ^[A-Z]{2}\/.{14}\/(19[0-9][0-9]|20[0-9][0-9]|2100)\/[0-9]{6}$
severity: Violation
message: verificationSRT (1.1.1.1.8.5, 1.2.1.0.5.3, 1.2.2.0.5.3): Each Tunnel may have one or more verificationSRT following this pattern country code/national registration number/year between 1900 and 2100/progressive counter. This error may be due to having a value that does not follow the pattern or that is not a character string.

DemonstrationSRT
type: PropertyShape
affected property: demonstrationSRT
affected class: Tunnel
scope: local
comment: Unique number for EI declarations following the same format requirements as specified in the 'Document about practical arrangements for transmitting interoperability documents'
rinf index: 1.1.1.1.8.6
rinf index: 1.2.1.0.5.4
rinf index: 1.2.2.0.5.4
path: demonstrationSRT
datatype: string
pattern: ^[A-Z]{2}\/.{14}\/(19[0-9][0-9]|20[0-9][0-9]|2100)\/[0-9]{6}$
severity: Violation
message: demonstrationSRT (1.1.1.1.8.6, 1.2.1.0.5.4, 1.2.2.0.5.4): Each Tunnel may have one or more demonstrationSRT following this pattern country code/national registration number/year between 1900 and 2100/progressive counter. This error may be due to having a value that does not follow the pattern or that is not a character string.

LengthOfTunnel
type: PropertyShape
affected property: lengthOfTunnel
affected class: Tunnel
scope: local
comment: Length of a tunnel in metres from entrance portal to exit portal.
rinf index: 1.1.1.1.8.7
rinf index: 1.2.1.0.5.5
rinf index: 1.2.2.0.5.5
path: lengthOfTunnel
max count: 1
datatype: double
severity: Warning
message: length (1.1.1.1.8.7, 1.2.1.0.5.5, 1.2.2.0.5.5): A Tunnel must have at most one length declaration. This error may be due to having a tunnel with more than one length or to having a value that is not a double (real) number.

CrossSectionAreaT
type: PropertyShape
affected property: crossSectionArea
affected class: Tunnel
scope: local
comment: Smallest cross section area in square metres of the tunnel.
rinf index: 1.1.1.1.8.8
path: crossSectionArea
max count: 1
datatype: integer
severity: Violation
message: crossSectionArea (1.1.1.1.8.8): A Tunnel can have at most one crossSectionArea. This error may be due to having a tunnel with more than one crossSectionArea or having a value that is not an integer number.

CrossSectionAreaApplicability
type: SPARQLConstraint
affected property: crossSectionArea
affected class: Tunnel
scope: local
comment: Y (applicable) if is speed of the line equal or greater than 200km/h.
rinf index: 1.1.1.1.8.8.8
message: crossSectionArea (1.1.1.1.8.8): The Tunnel {$this} ({?label}) has a maximum permitted speed of {?tunnelSpeed} Km/h . For any tunnel with a speed of the line equal or greater than 200km/h the crossSectionArea parameter is applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:crossSectionArea AS ?path) WHERE { $this era:maximumPermittedSpeed ?tunnelSpeed . OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER (?tunnelSpeed >= 200). FILTER NOT EXISTS {$this era:crossSectionArea ?value} . }

ComplianceInfTsiP
type: PropertyShape
affected property: complianceInfTsi
affected class: Tunnel
scope: local
comment: Compliance of the tunnel with INF TSI at the maximum permitted speed.
rinf index: 1.1.1.1.8.8.1
path: complianceInfTsi
max count: 1
datatype: boolean
severity: Violation
message: complianceInfTsi (1.1.1.1.8.8.1): A Tunnel can have at most one complianceInfTsi. This error may be due to having a tunnel with more than one complianceInfTsi or having a value type different than Y/N (boolean).

ComplianceInfTsiApplicability
type: SPARQLConstraint
affected property: complianceInfTsi
affected class: Tunnel
scope: local
comment: Y (applicable) if is speed of the line equal or greater than 200km/h.
rinf index: 1.1.1.1.8.8.1
message: complianceInfTsi (1.1.1.1.8.9, 1.2.1.0.5.6, 1.2.2.0.5.6): The Tunnel {$this} ({?label}) has a maximum permitted speed of {?tunnelSpeed} Km/h . For any tunnel with a speed of the line equal or greater than 200km/h the complianceInfTsi parameter is applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:complianceInfTsi AS ?path) WHERE { $this era:maximumPermittedSpeed ?tunnelSpeed . OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER (?tunnelSpeed >= 200). FILTER NOT EXISTS {$this era:complianceInfTsi ?value} . }

TunnelDocRef
type: PropertyShape
affected property: tunnelDocRef
affected class: Tunnel
scope: local
comment: Electronic document available from the IM stored by the Agency with precise description of the clearance gauge and geometry of the tunnel
rinf index: 1.1.1.1.8.8.2
path: tunnelDocRef
class: Document
severity: Violation
message: tunnelDocRef (1.1.1.1.8.8.2): A Tunnel has a tunnelDocRef with precise description of the clearance gauge and geometry of the tunnel, and it must be a Document. This error a due to having a value that is not an instance of Document

HasEmergencyPlan
type: PropertyShape
affected property: hasEmergencyPlan
affected class: Tunnel
scope: local
comment: Indication whether emergency plan exists.
rinf index: 1.1.1.1.8.9
rinf index: 1.2.1.0.5.6
rinf index: 1.2.2.0.5.6
path: hasEmergencyPlan
max count: 1
datatype: boolean
severity: Violation
message: hasEmergencyPlan (1.1.1.1.8.9, 1.2.1.0.5.6, 1.2.2.0.5.6): A Tunnel has an indication about the existence of an emergency plan. This error may be due to having a tunnel with more than one value for hasEmergencyPlan or having a value type different than Y/N (boolean).

HasEmergencyPlanApplicability
type: SPARQLConstraint
affected property: hasEmergencyPlan
affected class: Tunnel
scope: local
comment: Applicable for tunnels longer than 1 km.
rinf index: 1.1.1.1.8.9
rinf index: 1.2.1.0.5.6
rinf index: 1.2.2.0.5.6
message: hasEmergencyPlan (1.1.1.1.8.9, 1.2.1.0.5.6, 1.2.2.0.5.6): The Tunnel {$this} ({?label}) has a length of {?tunnelLength} meters. Any tunnel longer than 1 Km makes the hasEmergencyPlan parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:hasEmergencyPlan AS ?path) WHERE { $this era:lengthOfTunnel ?tunnelLength . OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER (?tunnelLength > 1000). FILTER NOT EXISTS {$this era:hasEmergencyPlan ?value} . }

HasEvacuationAndRescuePoints
type: PropertyShape
affected property: hasEvacuationAndRescuePoints
affected class: Tunnel
scope: local
comment: Indication of existence of evacuation and rescue points.
rinf index: 1.1.1.1.8.13
rinf index: 1.2.1.0.5.11
rinf index: 1.2.2.0.5.10
path: hasEvacuationAndRescuePoints
max count: 1
datatype: boolean
severity: Violation
message: hasEvacuationAndRescuePoints (1.1.1.1.8.13, 1.2.1.0.5.11, 1.2.2.0.5.10): A Tunnel has an indication about the existence of an evacuation and rescue points. This error may be due to having a tunnel with more than one value for hasEvacuationAndRescuePoints or having a value type different than Y/N (boolean).

HasEvacuationAndRescuePointsApplicability
type: SPARQLConstraint
affected property: hasEvacuationAndRescuePoints
affected class: Tunnel
scope: local
comment: Applicable for tunnels longer than 500 meters.
rinf index: 1.1.1.1.8.13
rinf index: 1.2.1.0.5.11
rinf index: 1.2.2.0.5.10
message: hasEvacuationAndRescuePoints (1.1.1.1.8.13, 1.2.1.0.5.11, 1.2.2.0.5.10): The Tunnel {$this} ({?label}) has a length of {?tunnelLength} meters. Any tunnel longer than 500 meters makes the hasEvacuationAndRescuePoints parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?tunnelLength (era:hasEvacuationAndRescuePoints AS ?path) WHERE { $this era:lengthOfTunnel ?tunnelLength . OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER (?tunnelLength > 500) . FILTER NOT EXISTS { $this era:hasEvacuationAndRescuePoints ?value } . }

RollingStockFireCategory
type: PropertyShape
affected property: rollingStockFireCategory
affected class: Tunnel
scope: local
comment: Categorisation on how a passenger train with a fire on board will continue to operate for a defined time period
rinf index: 1.1.1.1.8.10
rinf index: 1.2.1.0.5.7
rinf index: 1.2.2.0.5.7
path: rollingStockFireCategory
max count: 1
node kind: IRI
severity: Violation
message: rollingStockFireCategory (1.1.1.1.8.10, 1.2.1.0.5.7, 1.2.2.0.5.7): A Tunnel may have an indication about the rollingStockFireCategory. This error may be due to having a tunnel without a rollingStockFireCategory declaration or having a literal as value. This error may be due to a tunnel having more than one value or having a value that is not an IRI.

RollingStockFireCategorySKOS
type: SPARQLConstraint
affected property: rollingStockFireCategory
affected class: Tunnel
scope: local
comment: Categorisation on how a passenger train with a fire on board will continue to operate for a defined time period
rinf index: 1.1.1.1.8.10
rinf index: 1.2.1.0.5.7
rinf index: 1.2.2.0.5.7
message: Categorisation on how a passenger train with a fire on board will continue to operate (1.1.1.1.8.10, 1.2.1.0.5.7, 1.2.2.0.5.7): The tunnel {$this} (label {?tunnelLabel}) has a value {?concept} that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/rolling-stock-fire/Categories.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?concept ?tunnelLabel (era:rollingStockFireCategory AS ?path) WHERE { OPTIONAL { $this rdfs:label ?tunnelLabel0 } . BIND(COALESCE(?tunnelLabel0, "unknown label") AS ?tunnelLabel) $this era:rollingStockFireCategory ?concept . era:rollingStockFireCategory era:inSkosConceptScheme ?conceptScheme . FILTER (NOT EXISTS { ?concept skos:inScheme ?conceptScheme } || REGEX(STR(?concept), "/eratv/")) }

RollingStockFireCategoryApplicability
type: SPARQLConstraint
affected property: rollingStockFireCategory
affected class: Tunnel
scope: local
comment: Applicable for tunnels longer than 1 km.
rinf index: 1.1.1.1.8.10
rinf index: 1.2.1.0.5.7
rinf index: 1.2.2.0.5.7
message: rollingStockFireCategory (1.1.1.1.8.10, 1.2.1.0.5.7, 1.2.2.0.5.7): The Tunnel {$this} ({?label}) has a length of {?tunnelLength} meters. Any tunnel longer than 1 Km makes the rollingStockFireCategory parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label ?tunnelLength (era:rollingStockFireCategory AS ?path) WHERE { $this era:lengthOfTunnel ?tunnelLength . OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER (?tunnelLength > 1000) . FILTER NOT EXISTS { $this era:rollingStockFireCategory ?value } . }

NationalRollingStockFireCategory
type: PropertyShape
affected property: nationalRollingStockFireCategory
affected class: Tunnel
scope: local
comment: Categorisation on how a passenger train with a fire on board will continue to operate for a defined time period - according to national rules if they exist.
rinf index: 1.1.1.1.8.11
rinf index: 1.2.1.0.5.8
rinf index: 1.2.2.0.5.8
path: nationalRollingStockFireCategory
max count: 1
datatype: string
severity: Violation
message: nationalRollingStockFireCategory (1.1.1.1.8.11, 1.2.1.0.5.8, 1.2.2.0.5.8): A Tunnel may have an indication about the nationalRollingStockFireCategory. This error may be due to having a tunnel with more than one value or having a value type different than string.

NationalRollingStockFireCategoryApplicability
type: SPARQLConstraint
affected property: nationalRollingStockFireCategory
affected class: Tunnel
scope: local
comment: Applicable only for tunnels when for the parameter 1.1.1.1.8.10 the option 'none' was selected and national rules exist.
rinf index: 1.1.1.1.8.11
rinf index: 1.2.1.0.5.8
rinf index: 1.2.2.0.5.8
message: nationalRollingStockFireCategory (1.1.1.1.8.11, 1.2.1.0.5.8, 1.2.2.0.5.8): The Tunnel {$this} ({?clsLabel}), has a 'rolling stock fire' category that makes the nationalRollingStockFireCategory parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?clsLabel (era:nationalRollingStockFireCategory AS ?path) WHERE { $this era:rollingStockFireCategory <http://data.europa.eu/949/concepts/rolling-stock-fire/rinf/30> . OPTIONAL { $this rdfs:label ?clsLabel0 } . BIND(COALESCE(?clsLabel0, "unknown label") AS ?clsLabel) FILTER NOT EXISTS { $this era:nationalRollingStockFireCategory ?value } . }

DieselThermalAllowed
type: PropertyShape
affected property: dieselThermalAllowed
affected class: Tunnel
scope: local
comment: Indication whether it is allowed to use diesel or other thermal traction in the tunnel.
rinf index: 1.2.1.0.5.9
path: dieselThermalAllowed
max count: 1
datatype: boolean
severity: Violation
message: dieselThermalAllowed (1.2.1.0.5.9): A Tunnel may have an indication about the permission of thermal traction. This error may be due to having a tunnel with more than one dieselThermalAllowed declaration or having a value type different than Y/N (boolean).

StartLocation
type: PropertyShape
affected class: Tunnel
affected property: startLocation
scope: local
comment: Part of the Start of tunnel that indicates the Geographical coordinates according to the standard World Geodetic System (WGS).
path: startLocation
node kind: IRI
max count: 1
or:
  class: Geometry
or:
  class: Point
severity: Violation
message: startLocation (1.1.1.1.8.3): The Tunnel may have a start location (startLocation) reference that is a Geometry object or a Point. This error mey be due to a startLocation relationship from a Tunnel that is not a Geometry nor a Point.

EndLocation
type: PropertyShape
affected class: Tunnel
affected property: endLocation
scope: local
comment: Geographical coordinates in decimal degrees and km of the line at the end of a tunnel.
path: endLocation
node kind: IRI
max count: 1
or:
  class: Geometry
or:
  class: Point
severity: Violation
message: endLocation (1.1.1.1.8.4): The Tunnel may have an end location (endLocation) reference that is a Geometry object or a Point. This error mey be due to an endLocation relationship from a Tunnel that is not a Geometry nor a Point.

HasWalkway
type: PropertyShape
affected property: hasWalkway
affected class: Tunnel
scope: local
comment: Indication of existence of walkways.
rinf index: 1.1.1.1.8.12
rinf index: 1.2.1.0.5.10
rinf index: 1.2.2.0.5.9
path: hasWalkway
max count: 1
datatype: boolean
severity: Violation
message: hasWalkway (1.1.1.1.8.12, 1.2.1.0.5.10, 1.2.2.0.5.9): A Tunnel can have at most one hasWalkway. This error may be due to having a tunnel with more than one hasWalkway or having a value type different than Y/N (boolean).

LineReferenceTunnelEnd
type: PropertyShape
affected class: Tunnel
affected property: lineReferenceTunnelEnd
scope: local
comment: Part of the End of tunnel that indicates the km of the line at the end of a tunnel.
path: lineReferenceTunnelEnd
node kind: IRI
class: NetPointReference
max count: 1
severity: Violation
message: lineReferenceTunnelEnd (1.1.1.1.8.4): A Tunnel may have an end of tunnel location (lineReferenceTunnelEnd). This error may be due to a value that is not an IRI, more than one value being provided, or a value that is not a NetPointReference.

LineReferenceTunnelStart
type: PropertyShape
affected class: Tunnel
affected property: lineReferenceTunnelStart
scope: local
comment: Part of the Start of tunnel that indicates the km of the line at the beginning of a tunnel.
path: lineReferenceTunnelStart
node kind: IRI
class: NetPointReference
severity: Violation
message: lineReferenceTunnelStart (1.1.1.1.8.3): A Tunnel may have a start of tunnel location (lineReferenceTunnelStart). This error may be due to a value that is not an IRI, more than one value being provided, or a value that is not a NetPointReference.

ExistRestrictedTypeOfVehicleOfTunnel
type: PropertyShape
affected property: existRestrictedTypeOfVehicleOfTunnel
affected class: Tunnel
scope: local
comment: Indicate, if there are any limits on specific type of vehicle in the tunnel.
path: existRestrictedTypeOfVehicleOfTunnel
max count: 1
datatype: boolean
severity: Warning
message: existRestrictedTypeOfVehicleOfTunnel: A Tunnel may have at most one value indicating if there are limits on specific type of vehicle in the tunnel. This error may be due to having more than one value or having a value that is not Y/N (boolean).

RestrictedTypeOfVehicleInTunnel
type: PropertyShape
affected property: restrictedTypeOfVehicleInTunnel
affected class: Tunnel
scope: local
comment: Specific types of vehicles restricted in the tunnel.
path: restrictedTypeOfVehicleInTunnel
datatype: string
severity: Warning
message: restrictedTypeOfVehicleInTunnel: A Tunnel may have values describing specific types of vehicles restricted in the tunnel. This error may be due to having a value that is not a string.

ExistTrainExclusionOfSimultaneity
type: PropertyShape
affected property: existTrainExclusionOfSimultaneity
affected class: Tunnel
scope: local
comment: Indicate, if passenger and freight trains meeting together in a tunnel is allowed.
path: existTrainExclusionOfSimultaneity
max count: 1
datatype: boolean
severity: Warning
message: existTrainExclusionOfSimultaneity: A Tunnel may have at most one value indicating if passenger and freight trains meeting together in the tunnel is allowed. This error may be due to having more than one value or having a value that is not Y/N (boolean).

MaxTunnelSpeed
type: PropertyShape
affected property: maxTunnelSpeed
affected class: Tunnel
scope: local
comment: Indicate the speed limit in a tunnel.
path: maxTunnelSpeed
max count: 1
datatype: integer
severity: Warning
message: maxTunnelSpeed: A Tunnel may have at most one speed limit value expressed in km/h. This error may be due to having more than one value or having a value that is not an integer.

ExistOpeningHoursLimitation
type: PropertyShape
affected property: existOpeningHoursLimitation
affected class: Tunnel
affected class: SectionOfLine
affected class: Bridge
scope: local
comment: Indicate, if there are any opening hours limitations for the section of line, tunnel or bridge.
path: existOpeningHoursLimitation
max count: 1
datatype: boolean
severity: Warning
message: existOpeningHoursLimitation: The element may have at most one value indicating if there are opening hours limitations. This error may be due to having more than one value or having a value that is not Y/N (boolean).

OpeningHoursLimitation
type: PropertyShape
affected property: openingHoursLimitation
affected class: Tunnel
affected class: SectionOfLine
affected class: Bridge
scope: local
comment: Opening hours of the section of line, tunnel or bridge.
path: openingHoursLimitation
datatype: string
severity: Warning
message: openingHoursLimitation: The element may have values describing opening hours limitations. This error may be due to having a value that is not a string.

ExistRestrictedDangerousGood
type: PropertyShape
affected property: existRestrictedDangerousGood
affected class: Tunnel
affected class: SectionOfLine
scope: local
comment: Indicate, if there are any limits on transportation of dangerous goods.
path: existRestrictedDangerousGood
max count: 1
datatype: boolean
severity: Warning
message: existRestrictedDangerousGood: The element may have at most one value indicating if there are limits on transportation of dangerous goods. This error may be due to having more than one value or having a value that is not Y/N (boolean).

RestrictedDangerousGood
type: PropertyShape
affected property: restrictedDangerousGood
affected class: Tunnel
affected class: SectionOfLine
scope: local
comment: Description of the type of dangerous goods that are not allowed.
path: restrictedDangerousGood
datatype: string
severity: Warning
message: restrictedDangerousGood: The element may have values describing the types of dangerous goods that are not allowed. This error may be due to having a value that is not a string.

SpecialTunnelArea
type: PropertyShape
affected property: specialTunnelArea
affected class: Tunnel
scope: local
comment: Relates a tunnel with a special area or location.
tsi OPE appendix D2 index: 3.2.3
path: specialTunnelArea
class: SpecialTunnelArea
severity: Violation
message: specialTunnelArea (3.2.3): A Tunnel may have special tunnel areas and each must be an instance of SpecialTunnelArea. This error may be due to having a value that is not an instance of SpecialTunnelArea.

VehicleTypesCompatibleTrafficLoad
type: PropertyShape
affected property: vehicleTypesCompatibleTrafficLoad
affected class: CommonCharacteristicsSubset
scope: local
comment: List of vehicle types already identified as compatible with Traffic load and load carrying capacity of infrastructure and train detection systems.
rinf index: 1.1.1.5.1
path: vehicleTypesCompatibleTrafficLoad
node kind: IRI
severity: Violation
or:
  class: Document
or:
  class: VehicleType
message: vehicleTypesCompatibleTrafficLoad (1.1.1.5.1): The subset with common characteristics may have values for vehicle types compatible with traffic load and each must be an IRI (a Document or VehicleType). This error may be due to having a value that is not an IRI.

VehiclesCompatibleTrafficLoad
type: PropertyShape
affected property: vehiclesCompatibleTrafficLoad
affected class: CommonCharacteristicsSubset
scope: local
comment: List of vehicles already identified as compatible with Traffic load and load carrying capacity of infrastructure and train detection systems.
rinf index: 1.1.1.5.2
path: vehiclesCompatibleTrafficLoad
or:
  class: Document
or:
  class: Vehicle
node kind: IRI
severity: Violation
message: vehiclesCompatibleTrafficLoad (1.1.1.5.2): The subset with common characteristics may have values for vehicles compatible with traffic load and each must be an IRI (a Document or Vehicle). This error may be due to having a value that is not an IRI.

InstancesMustHaveTypeShape
type: NodeShape
target: SPARQLTarget
  prefixes: http://data.europa.eu/949/
  select: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX era: <http://data.europa.eu/949/> SELECT DISTINCT $this WHERE { $this ?p ?o . FILTER(isIRI($this)) FILTER(STRSTARTS(STR($this), STR(era:))) # we are not checking concepts, those are checked in other shapes anyway FILTER(!STRSTARTS(STR($this), STR(era:concepts))) # exclude URIs that already have an rdf:type FILTER NOT EXISTS { $this rdf:type ?type } }
property:
  path: type
  min count: 1
  severity: Warning
  message: Resource must have at least one rdf:type

ExistBridgeWindRestriction
type: PropertyShape
affected property: existBridgeWindRestriction
affected class: Bridge
scope: local
comment: Indicate, if there are any wind restrictions for a bridge.
path: existBridgeWindRestriction
max count: 1
datatype: boolean
severity: Warning
message: existBridgeWindRestriction: A Bridge may have at most one value indicating if there are wind restrictions for the bridge. This error may be due to having more than one value or having a value that is not Y/N (boolean).

MaxbridgeWind
type: PropertyShape
affected property: maxbridgeWind
affected class: Bridge
scope: local
comment: Indicates the maximum wind speed for which the bridge can operate.
path: maxbridgeWind
max count: 1
datatype: integer
severity: Warning
message: maxbridgeWind: A Bridge may have at most one maximum bridge wind value expressed in km/h. This error may be due to having more than one value or having a value that is not an integer.

NotYetAvailableSPARQLTarget
type: SPARQLTarget
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this { $this era:notYetAvailable ?o . FILTER NOT EXISTS { $this a ?type . ?type rdfs:subClassOf* era:InfrastructureElement . } }

NotApplicableSPARQLTarget
type: SPARQLTarget
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this { $this era:notApplicable ?o . FILTER NOT EXISTS { $this a ?type . ?type rdfs:subClassOf* era:InfrastructureElement . } }

NotYetAvailable
type: PropertyShape
affected property: notYetAvailable
affected class: InfrastructureElement
scope: local
path: notYetAvailable
comment: Reference to a property that is not provided.
node kind: IRI
or:
  class: ObjectProperty
or:
  class: DatatypeProperty
severity: Violation
message: The value of this property is a reference to an ontology property that is not provided and it must be an IRI. The error may be due to the property not belonging to the ERA ontology or the property not being an IRI.

NotApplicable
type: PropertyShape
affected property: notApplicable
affected class: InfrastructureElement
scope: local
path: notApplicable
comment: Reference to a property that is not applicable.
node kind: IRI
or:
  class: ObjectProperty
or:
  class: DatatypeProperty
severity: Violation
message: The value of this property is a reference to an ontology property that is not provided and it must be an IRI. The error may be due to the property not belonging to the ERA ontology or the property not being an IRI.

BorderPointValidCoordinatesViaNetReference
type: SPARQLConstraint
affected class: OperationalPoint
affected property: asWKT
scope: local
comment: Coordinates of topology must be sufficiently similar (within tolerance) to the referenced border point.
message: Coordinates: The OperationalPoint {$this} with label {?opLabel} is a border point that references a ReferenceBorderPoint, whose topology coordinates are too far from the referenced ReferenceBorderPoint (distance: {?distance} degrees, max allowed: 0.0001 degrees ≈ 11 meters). OP coordinates: {?opWKT} Reference coordinates: {?refWKT}
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX geo: <http://www.opengis.net/ont/geosparql#> PREFIX geof: <http://www.opengis.net/def/function/geosparql/> PREFIX uom: <http://www.opengis.net/def/uom/OGC/1.0/> SELECT DISTINCT $this ?opWKT ?refWKT ?opLabel (geo:asWKT AS ?path) WHERE { $this era:opType <http://data.europa.eu/949/concepts/op-types/90> ; era:referenceBorderPoint ?refBP ; era:netReference ?netRef . ?refBP a era:ReferenceBorderPoint ; geo:hasGeometry/geo:asWKT ?refWKT . ?netRef geo:hasGeometry/geo:asWKT ?opWKT . OPTIONAL { $this rdfs:label ?opLabel0 } . BIND(COALESCE(?opLabel0, "unknown label") AS ?opLabel) # Calculate distance between the two point geometries # Using geof:distance in degrees (default for WGS84) BIND(geof:distance(?opWKT, ?refWKT, uom:degree) AS ?distance) # Allow tolerance of 0.0001 degrees (approximately 11 meters at equator) # Adjust this threshold based on your data quality requirements FILTER (?distance > 0.0001) }

ChangeActivity
type: PropertyShape
affected property: changeActivity
affected class: Body
scope: local
comment: Links a Body to an activity representing a change affecting that resource.
path: changeActivity
class: Activity
severity: Violation
message: changeActivity: A Body may have changeActivity values that must be instances of era:Activity. This error may be due to having a value that is not an instance of Activity.

AlternativeCode
type: PropertyShape
affected class: Body
affected property: alternativeCode
scope: local
comment: Alternative code resulting of the integration of RISC into SRMO for managing organisation code.
path: alternativeCode
datatype: string
max count: 1
severity: Violation
message: alternativeCode: A Body may have at most one alternativeCode, and it must be a string. This error may be due to having a value that is not a string or having more than one alternativeCode.

PassengerFlag
type: PropertyShape
affected property: passengerFlag
affected class: PrimaryLocation
scope: local
comment: Passenger possible flag.
path: passengerFlag
datatype: boolean
max count: 1
severity: Violation
message: passengerFlag : The PrimaryLocation may have a passengerFlag value that is a boolean. This error may be due to the Primary Location having a value that is not a boolean or more than one value for this property.

TenClassificationPreDeprecationWarning
type: SPARQLConstraint
affected property: tenClassification
affected class: RunningTrack
affected class: CommonCharacteristicsSubset
scope: local
comment: Warning that tentNetworkLevel is to be preferred over the tenClassification.
message: tenClassification (Warning): The track {$this} uses the property 'tenClassification'. Please use 'tentNetworkLevel' and 'typeOfTraffic' with the respective SKOS concepts instead.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this (era:tenClassification AS ?path) WHERE { $this era:tenClassification ?value . }

LocalRulesOrRestrictionsDocApplicability
type: SPARQLConstraint
affected property: localRulesOrRestrictionsDoc
affected class: RunningTrack
affected class: CommonCharacteristicsSubset
affected class: OperationalPoint
scope: local
comment: Only applicable when localRulesOrRestrictions is true.
rinf index: 1.1.1.4.2
rinf index: 1.2.3.2
message: localRulesOrRestrictionsDoc (1.1.1.4.2, 1.2.3.2): The track, subset with common characteristics or operational point {$this} ({?label}), has 'localRulesOrRestrictions' value 'true' which makes the localRulesOrRestrictionsDoc parameter applicable. This error is due to {$this} not having a value for such a parameter.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT $this ?label (era:localRulesOrRestrictionsDoc AS ?path) WHERE { $this era:localRulesOrRestrictions true. OPTIONAL { $this rdfs:label ?label0 } . BIND(COALESCE(?label0, "unknown label") AS ?label) FILTER NOT EXISTS {$this era:localRulesOrRestrictionsDoc ?value} . }

FreightCorridor
type: PropertyShape
affected property: freightCorridor
affected class: RunningTrack
scope: local
comment: Indication whether the line is designated to a Railway Freight Corridor
rinf index: 1.1.1.1.2.3
rinf index: 1.2.1.0.2.3
path: freightCorridor
class: Concept
node kind: IRI
severity: Violation
message: freightCorridor (1.1.1.1.2.3, 1.2.1.0.2.3): Each track may have an indication whether the line is designated to a Railway Freight Corridor that is an IRI. This error is due to having a value that is not an IRI.

FreightCorridorPreDeprecationWarning
type: SPARQLConstraint
affected property: freightCorridor
affected class: RunningTrack
affected class: CommonCharacteristicsSubset
scope: local
comment: Warning that europeanTransportCorridor is to be preferred over the freightCorridor.
message: freightCorridor (Warning): The track {$this} uses the property 'freightCorridor'. Please use 'europeanTransportCorridor' with the respective SKOS concepts instead.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> SELECT $this (era:freightCorridor AS ?path) WHERE { $this era:freightCorridor ?value . }

PartOfTENT
type: PropertyShape
affected property: partOfTENT
affected class: RunningTrack
affected class: CommonCharacteristicsSubset
scope: local
comment: Links an element to its TEN-T network classification, which includes network level, type of traffic, and European transport corridor information.
path: partOfTENT
node kind: IRI
class: TENTCorridor
severity: Warning
message: partOfTENT: The running track {$this} must link to a TEN-T corridor classification (era:TENTCorridor) using an IRI. This error is due to having a value that is not an IRI or not an instance of era:TENTCorridor.

TentNetworkLevel
type: PropertyShape
affected property: tentNetworkLevel
affected class: TENTCorridor
scope: local
comment: Classification of the element according to its level in the Trans-European Transport Network (TEN-T).
path: tentNetworkLevel
min count: 1
node kind: IRI
class: Concept
severity: Violation
message: tentNetworkLevel: Each TEN-T corridor classification (era:TENTCorridor) may have a TEN-T network level that is an IRI and a SKOS concept. This error is due to having a value that is not an IRI or not a SKOS concept.

TentNetworkLevelSKOS
type: SPARQLConstraint
affected property: tentNetworkLevel
affected class: TENTCorridor
scope: local
comment: Classification of the element according to its level in the Trans-European Transport Network (TEN-T).
message: TEN-T network level: The TEN-T corridor classification {$this} has a value {?concept} that is not one of the predefined values in the scheme http://data.europa.eu/949/concepts/ten-t-network-levels/TENTNetworkLevels.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:tentNetworkLevel AS ?path) WHERE { $this era:tentNetworkLevel ?concept . era:tentNetworkLevel era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

TypeOfTraffic
type: PropertyShape
affected property: typeOfTraffic
affected class: TENTCorridor
scope: local
comment: Classification of the type of traffic carried on the railway line
path: typeOfTraffic
min count: 1
node kind: IRI
class: Concept
severity: Violation
message: typeOfTraffic: Each TEN-T corridor classification (era:TENTCorridor) may have a type of traffic that is an IRI and a SKOS concept. This error is due to having a value that is not an IRI or not a SKOS concept.

TypeOfTrafficSKOS
type: SPARQLConstraint
affected property: typeOfTraffic
affected class: TENTCorridor
scope: local
comment: Classification of the type of traffic carried on the railway line
message: Type of traffic: The TEN-T corridor classification {$this} has a value {?concept} that is not one of the predefined values in the scheme http://data.europa.eu/949/concepts/traffic-types/TrafficTypes.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:typeOfTraffic AS ?path) WHERE { $this era:typeOfTraffic ?concept . era:typeOfTraffic era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

EuropeanTransportCorridor
type: PropertyShape
affected property: europeanTransportCorridor
affected class: TENTCorridor
scope: local
comment: Indication of which European Transport Corridor the railway line belongs to
path: europeanTransportCorridor
node kind: IRI
class: Concept
severity: Violation
message: europeanTransportCorridor: Each TEN-T corridor classification (era:TENTCorridor) may indicate a European Transport Corridor using an IRI that is a SKOS concept. This error is due to having a value that is not an IRI or not a SKOS concept.

EuropeanTransportCorridorSKOS
type: SPARQLConstraint
affected property: europeanTransportCorridor
affected class: TENTCorridor
scope: local
comment: Indication of which European Transport Corridor the railway line belongs to
message: European Transport Corridor: The TEN-T corridor classification {$this} has a value {?concept} that is not one of the predefined values in the scheme http://data.europa.eu/949/concepts/european-transport-corridors/EuropeanTransportCorridors.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:europeanTransportCorridor AS ?path) WHERE { $this era:europeanTransportCorridor ?concept . era:europeanTransportCorridor era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS{ ?concept skos:inScheme ?conceptScheme . } }

LinesideDistanceIndicationCCS
type: PropertyShape
affected property: linesideDistanceIndication
affected class: CommonCharacteristicsSubset
scope: local
comment: Indication of types of appearance of track lineside distance indications.
path: linesideDistanceIndication
class: LinesideDistanceIndication
max count: 1
rinf index: 1.1.1.0.0.3
node kind: IRI
severity: Violation
message: linesideDistanceIndication (1.1.1.0.0.3) : The common characteristics subset may have at most one value of a lineside distance indication that must be an instance of LinesideDistanceIndication. This error may be due to the subset having more than one value or having a value that is not an instance of the class LinesideDistanceIndication.

LinesideDistanceIndicationRT
type: PropertyShape
affected property: linesideDistanceIndication
affected class: RunningTrack
scope: local
comment: Indication of types of appearance of track lineside distance indications.
path: linesideDistanceIndication
class: LinesideDistanceIndication
max count: 1
rinf index: 1.1.1.0.0.3
node kind: IRI
severity: Violation
message: linesideDistanceIndication (1.1.1.0.0.3) : The track must have exactly one value of a lineside distance indication that must be an instance of LinesideDistanceIndication. This error may be due to the track having no value, having more than one value or having a value that is not an instance of the class LinesideDistanceIndication.

MaxPermittedTrainLength
type: PropertyShape
affected property: maxPermittedTrainLength
affected class: RunningTrack
scope: local
comment: Maximum train length permitted on the track.
path: maxPermittedTrainLength
max count: 1
datatype: double
min inclusive: 0
severity: Violation
message: maxPermittedTrainLength: The track must have at most one maximum train length value that is a double (real) number greater than or equal to 0. This error may be due to the track having more than one value, a negative value, or a value that is not a double (real) number.

MaxPermittedTrainLengthApplicability
type: SPARQLConstraint
affected property: maxPermittedTrainLength
affected class: RunningTrack
scope: local
comment: Maximum train length permitted on the track is mandatory for tracks that are part of a SectionOfLine and belong to freight corridors.
message: maxPermittedTrainLength: This error is due to the track {?trackLabel} being part of a SectionOfLine and belonging to a freight corridor, violating the rule: Maximum train length is mandatory for tracks that are part of a SectionOfLine and part of freight corridors.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT $this ?trackLabel (era:maxPermittedTrainLength AS ?path) WHERE { $this a era:RunningTrack . { $this era:isPartOf ?sol . ?sol a era:SectionOfLine . } UNION { ?sol a era:SectionOfLine ; era:hasPart $this . } OPTIONAL { $this rdfs:label ?trackLabel0 } . BIND(COALESCE(?trackLabel0, "unknown label") AS ?trackLabel) { $this era:partOfTENT ?tenT . ?tenT era:typeOfTraffic <http://data.europa.eu/949/concepts/traffic-types/02> . } UNION { $this era:freightCorridor ?freightCorridor . } FILTER NOT EXISTS { $this era:maxPermittedTrainLength ?mtl } }

SpecialAreaType
type: PropertyShape
affected property: specialAreaType
affected class: SpecialArea
scope: local
comment: Indicates the special area or location types such as safe areas and restricted area types.
rinf index: 1.1.0.0.1.1
path: specialAreaType
class: Concept
node kind: IRI
severity: Violation
message: specialAreaType (1.1.0.0.1.1): The special area type must be a valid IRI from the SpecialAreaTypes concept scheme.

SpecialAreaTypeSKOS
type: SPARQLConstraint
affected property: specialAreaType
affected class: SpecialArea
scope: local
comment: Validates that the special area type is from the correct SKOS concept scheme.
rinf index: 1.1.0.0.1.1
message: specialAreaType (1.1.0.0.1.1): The value {$concept} for special area type must be from the SpecialAreaTypes concept scheme.
prefixes: http://data.europa.eu/949/
select: PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT $this ?concept (era:specialAreaType AS ?path) WHERE { $this era:specialAreaType ?concept . era:specialAreaType era:inSkosConceptScheme ?conceptScheme . FILTER NOT EXISTS { ?concept skos:inScheme ?conceptScheme } }

SubsidiaryLocationCode
type: PropertyShape
affected class: SubsidiaryLocation
affected property: subsidiaryLocationCode
scope: local
comment: Subsidiary location code.
path: subsidiaryLocationCode
datatype: string
min length: 1
max length: 10
max count: 1
severity: Violation
message: subsidiaryLocationCode: An instance of subsidiary location may have a value for subsidiary location code. This error may be due to having more than one value or a length grather than 10

InXSDDate
type: PropertyShape
affected property: inXSDDate
affected class: Instant
scope: local
comment: Position of an instant, expressed using xsd:date.
path: inXSDDate
datatype: date
severity: Violation
message: time:inXSDDate: The instant position must be expressed as an xsd:date.

InXSDDateTimeStamp
type: PropertyShape
affected property: inXSDDateTimeStamp
affected class: Instant
scope: local
comment: Position of an instant, expressed using xsd:dateTimeStamp.
path: inXSDDateTimeStamp
datatype: dateTimeStamp
severity: Violation
message: time:inXSDDateTimeStamp: The instant position must be expressed as an xsd:dateTimeStamp.

InXSDgYear
type: PropertyShape
affected property: inXSDgYear
affected class: Instant
scope: local
comment: Position of an instant, expressed using xsd:gYear.
path: inXSDgYear
datatype: gYear
severity: Violation
message: time:inXSDgYear: The instant position must be expressed as an xsd:gYear.

InXSDgYearMonth
type: PropertyShape
affected property: inXSDgYearMonth
affected class: Instant
scope: local
comment: Position of an instant, expressed using xsd:gYearMonth.
path: inXSDgYearMonth
datatype: gYearMonth
severity: Violation
message: time:inXSDgYearMonth: The instant position must be expressed as an xsd:gYearMonth.

InDateTime
type: PropertyShape
affected property: inDateTime
affected class: Instant
scope: local
comment: Position of an instant, expressed using a structured description.
path: inDateTime
class: GeneralDateTimeDescription
node kind: BlankNodeOrIRI
severity: Violation
message: time:inDateTime: The instant position must be a time:GeneralDateTimeDescription.

InTimePosition
type: PropertyShape
affected property: inTimePosition
affected class: Instant
scope: local
comment: Position of a time instant expressed as a TimePosition.
path: inTimePosition
class: TimePosition
node kind: BlankNodeOrIRI
severity: Violation
message: time:inTimePosition: The instant position must be a time:TimePosition.

InTemporalPosition
type: PropertyShape
affected property: inTemporalPosition
affected class: Instant
scope: local
comment: Position of a time instant.
path: inTemporalPosition
class: TemporalPosition
node kind: BlankNodeOrIRI
severity: Violation
message: time:inTemporalPosition: The instant position must be a time:TemporalPosition.

Days
type: PropertyShape
affected property: days
affected class: TemporalDuration
scope: local
comment: Length of, or element of the length of, a temporal extent expressed in days.
path: days
datatype: decimal
severity: Violation
message: time:days: The days duration must be expressed as a decimal number (xsd:decimal).

Months
type: PropertyShape
affected property: months
affected class: TemporalDuration
scope: local
comment: Length of, or element of the length of, a temporal extent expressed in months.
path: months
datatype: decimal
severity: Violation
message: time:months: The months duration must be expressed as a decimal number (xsd:decimal).
note: In the Gregorian calendar the length of the month is not fixed. Therefore, a value like '2.5 months' cannot be exactly compared with a similar duration expressed in terms of weeks or days.

Weeks
type: PropertyShape
affected property: weeks
affected class: TemporalDuration
scope: local
comment: Length of, or element of the length of, a temporal extent expressed in weeks.
path: weeks
datatype: decimal
severity: Violation
message: time:weeks: The weeks duration must be expressed as a decimal number (xsd:decimal).

Years
type: PropertyShape
affected property: years
affected class: TemporalDuration
scope: local
comment: Length of, or element of the length of, a temporal extent expressed in years.
path: years
datatype: decimal
severity: Violation
message: time:years: The years duration must be expressed as a decimal number (xsd:decimal).

RevokedCode
type: PropertyShape
affected property: revokedCode
affected class: Activity
scope: local
comment: Organisation code value that was revoked.
path: revokedCode
datatype: string
severity: Violation
message: revokedCode: An Activity may have at most one revokedCode value that must be a string. This error may be due to having more than one value or having a value that is not a string.

ValidDate
type: PropertyShape
affected property: valid
affected class: Activity
scope: local
comment: The effective date of the activity (e.g. revocation date).
path: valid
datatype: dateTimeStamp
max count: 1
severity: Violation
message: dcterms:valid: An Activity may have at most one valid date that must be an xsd:date. This error may be due to having more than one value or having a value that is not a date.

ActivityLabel
type: PropertyShape
affected property: label
affected class: Activity
scope: local
comment: The label of the activity.
path: label
datatype: langString
max count: 1
severity: Violation
message: rdfs:label: An Activity may have at most one label that must be a language-tagged string literal. This error may be due to having more than one value or having a value that is not a language-tagged string literal.

Creator
type: PropertyShape
affected property: creator
affected class: Activity
scope: local
comment: The creator of the activity.
path: creator
node kind: IRI
in: ERA
in: https://www.wikidata.org/entity/450896602
max count: 1
severity: Violation
message: dcterms:creator: An Activity may have at most one creator that must be an IRI. This error may be due to having more than one value or having a value that is not an IRI.

ActivityType
type: PropertyShape
affected property: type
affected class: Activity
scope: local
comment: The type of the activity.
path: type
node kind: IRI
max count: 1
severity: Violation
message: dcterms:type: An Activity may have at most one type that must be an IRI. This error may be due to having more than one value or having a value that is not an IRI.

ActivityTypeSKOS
type: SPARQLConstraint
affected property: type
affected class: Activity
scope: local
comment: The type of the activity must be a valid IRI from the Activities concept scheme.
message: dcterms:type: The type of the activity must be a valid IRI from the Activities concept scheme. This error may be due to having a value that is not an IRI or a value that is not one of the predefined values and cannot be converted into a SKOS concept on this list: http://data.europa.eu/949/concepts/activities/Activities.
prefixes: http://data.europa.eu/949/
select: PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX era: <http://data.europa.eu/949/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT $this ?thisLabel ?concept (dcterms:type AS ?path) WHERE { OPTIONAL { $this rdfs:label ?thisLabel0 } . BIND(COALESCE(?thisLabel0, "unknown label") AS ?thisLabel) $this dcterms:type ?concept . FILTER NOT EXISTS { ?concept skos:inScheme <http://data.europa.eu/949/concepts/activities/Activities> } }

LangStringEnRequired
type: SPARQLConstraint
select: SELECT $this (<http://www.w3.org/2000/01/rdf-schema#label> AS ?path) WHERE { FILTER NOT EXISTS { $this $PATH ?value . FILTER (LANGMATCHES(lang(?value), "en")) } }

LangStringEnRequiredIfPresent
type: SPARQLConstraint
select: SELECT $this (<http://data.europa.eu/949/primaryLocationName> AS ?path) WHERE { # If the property exists $this $PATH ?anyName . # then there should exist at least one English value FILTER NOT EXISTS { $this $PATH ?value . FILTER (LANGMATCHES(lang(?value), "en") ) } }

AllEraTypesTarget
type: SPARQLTarget
scope: local
select: SELECT DISTINCT ?this WHERE { ?s a ?this . FILTER(STRSTARTS(STR(?this), "http://data.europa.eu/949/")) . }

AllEraPropertiesTarget
type: SPARQLTarget
scope: local
select: SELECT DISTINCT ?this WHERE { ?s ?this ?o . FILTER(STRSTARTS(STR(?this), "http://data.europa.eu/949/")) . }

EraOntologyClassSPARQL
type: SPARQLConstraint
message: Invalid ERA class {$this}. The class is not defined in the ERA ontology (possible typo).
select: PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT $this (rdf:type AS ?path) WHERE { FILTER NOT EXISTS { { $this a owl:Class } UNION { $this a rdfs:Class } } }

EraOntologyDeprecatedClassSPARQL
type: SPARQLConstraint
message: Deprecated ERA class {$this} used. Suggested replacement: {$replacement}
select: PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT $this ?replacement (rdf:type AS ?path) WHERE { { $this owl:deprecated true } UNION { $this vs:term_status "archaic" } OPTIONAL { $this dcterms:isReplacedBy ?replacement0 } BIND(COALESCE(?replacement0, "?") AS ?replacement) }

EraOntologyPredicateSPARQL
type: SPARQLConstraint
message: Invalid ERA predicate {$this}. The term is not defined as a property in the ERA ontology (possible typo).
select: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT $this ($this AS ?path) WHERE { FILTER NOT EXISTS { { $this a rdf:Property } UNION { $this a owl:ObjectProperty } UNION { $this a owl:DatatypeProperty } UNION { $this a owl:AnnotationProperty } } }

EraOntologyDeprecatedPropertySPARQL
type: SPARQLConstraint
message: Deprecated ERA property {$this} used. Suggested replacement: {$replacement}
select: PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> PREFIX dcterms: <http://purl.org/dc/terms/> SELECT $this ?replacement ($this AS ?path) WHERE { { $this owl:deprecated true } UNION { $this vs:term_status "archaic" } OPTIONAL { $this dcterms:isReplacedBy ?replacement0 } BIND(COALESCE(?replacement0, "?") AS ?replacement) }