Ontology for the representation of trips elements in the Trias ontology
type: Ontology
version IRI: https://w3id.org/mobility/trias/trips/0.1.0
imports: https://w3id.org/mobility/trias/fares/0.1
imports: https://w3id.org/mobility/trias/journey/0.1
imports: https://w3id.org/mobility/trias/location/0.1
license: 2021-11-8
creator: Jhon Toledo (Ontology Engienering Group - Universidad Politécnica de Madrid)
creator: Miguel Angel García (Ontology Engienering Group - Universidad Politécnica de Madrid
creator: Oscar Corcho (Ontology Engineering Group - Universidad Politécnica de Madrid)
description: Ontology for the representation of trips elements in the Trias ontology
rights: Creative Commons Attribution 4.0 International (CC BY 4.0)
license: http://creativecommons.org/licenses/by/4.0/

OperatingDaysDescription
type: ObjectProperty
domain: TimedLeg
range: InternationalText
comment: Human-readable description of the operating days, e.g. “Monday to Friday” or “Sunday and holidays”.

hasAccessPath
type: ObjectProperty
domain: NavigationSection
range: AccessPath
comment: Description of the type of accessibility on this navigation section.

hasDestination
type: ObjectProperty
domain: TripRequest
range: Location
comment: Specifies the destination situation where the user is heading to.

hasErrorMessage
type: ObjectProperty
range: ErrorMessage
comment: Error messages related to the trip request as a whole.

hasLegAlight
type: ObjectProperty
domain: TimedLeg
range: LegAlight
comment: End (stopping point) of trip leg.

hasLegBoard
type: ObjectProperty
domain: TimedLeg
range: LegBoard
comment: Beginning (stopping point) of trip leg.

hasLegIntermediates
type: ObjectProperty
domain: TimedLeg
range: LegIntermediates
comment: Intermediate traversed stopping points on the trip leg between LegBoard and LegAlight.

hasLocation
type: ObjectProperty
domain: LocationContext
range: Location
property disjoint with: hasTripLocation
comment: Spatial situation of a location

hasModeName
type: ObjectProperty

hasOrigin
type: ObjectProperty
domain: TripRequest
range: Location
comment: Specifies the origin situation from where the user wants to start.

hasServiceSection
type: ObjectProperty
comment: Property thar describes journey sections with properties

hasTicket
type: ObjectProperty
comment: Reference to tickets which are valid on this section of the trip.

hasTrackSection
type: ObjectProperty
domain: NavigationSection
range: TrackSection
comment: Geographic embedding of this navigation section.

hasTransportOption
type: ObjectProperty
domain: LocationContext
comment: hasTransportOption

hasTrip
type: ObjectProperty
domain: TripResult
range: Trip

hasTripFares
type: ObjectProperty
range: TripFaresResult

hasTripLeg
type: ObjectProperty
domain: Trip
range: TripLeg

hasTripLocation
type: ObjectProperty
domain: LocationContext
comment: Stop location in a (moving) vehicle

TripResult
type: ObjectProperty
domain: TripResponse
range: TripResult
comment: Property thar describes summarises the result data for a trip information.

hasVia
type: ObjectProperty
domain: TripRequest
range: Via
comment: Has one or more via-locations

hasViaPoint
type: ObjectProperty
domain: Via
range: Location
comment: Reference to a via-point(Location)

journeyDestination
type: ObjectProperty
comment: Name of the last stopping point of the journey; last stop or destination.

journeyOrigin
type: ObjectProperty
comment: Name of the first stopping point of the journey, starting stop.

legDescription
type: ObjectProperty
sub property of: topObjectProperty
domain: InterchangeLeg
range: InternationalText
comment: Text that describes this interchange.

legEnd
type: ObjectProperty
domain: InterchangeLeg
range: LocationRef
comment: Stop/Station to alight.

legStart
type: ObjectProperty
domain: InterchangeLeg
range: LocationRef
comment: Stop/Station where boarding is done.

modeDescription
type: ObjectProperty

modeShortName
type: ObjectProperty

navigationPath
type: ObjectProperty
domain: InterchangeLeg
range: NavigationSection
comment: Structured model further describing this interchange, its geographic embedding and accessibility.

noChangeAt
type: ObjectProperty
domain: TripRequest
range: Class
  union of: StopPlace
  union of: StopPoint
comment: The relation stops or stopping points, at which the trip must not provide the transfer.

NotVia
type: ObjectProperty
domain: TripRequest
range: Class
  union of: StopPlace
  union of: StopPoint
comment: This property represents whether is not allowed to pass through a specified stop or stopping point

publishedLineName
type: ObjectProperty
comment: Line number or name, as is known publicly.

routeDescription
type: ObjectProperty
comment: Description of route, e.g. “right Rheinstrecke”.

Service
type: ObjectProperty
domain: TimedLeg
comment: Specification of mode of transport such as line, mode type or Service of this leg. May be "walk" in most cases, but also cycling or taxi etc.

serviceArrival
type: ObjectProperty
domain: Leg
comment: Information about arriva

serviceDeparture
type: ObjectProperty
domain: Leg
comment: Information about departure.

turnDescription
type: ObjectProperty
domain: NavigationSection
range: InternationalText
comment: Textual description of a manoeuvre. This should imply the information from Manoeuvre, TurnAction, and TrackSection.RoadName.

identifier
type: DatatypeProperty
range: string
comment: An unambiguous reference to the resource within a given context.

length
type: DatatypeProperty
domain: Class
  intersection of: TrackSection
  intersection of: InterchangeLeg
range: float
comment: Length of this track section or interchange path

altitude
type: DatatypeProperty
domain: GeoPosition
range: string
comment: Height above sea level in meters.

bufferTime
type: DatatypeProperty
domain: InterchangeLeg
range: string
comment: Buffer time as part of the overall interchange duration. Buffer times, f.e. check in/out times, sometimes are mandatory for using certain services as f.e. airplanes, ferries or highspeed trains.

cancelled
type: DatatypeProperty
range: boolean
comment: Specifies whether this journey is completely omitted. Default setting is false.

countryName
type: DatatypeProperty
domain: Address
range: string
comment: Information about country

covered
type: DatatypeProperty
domain: Class
  union of: StopPlace
  union of: StopPoint
range: boolean
comment: Specification whether this stopping point offers weather protection

crossingStreet
type: DatatypeProperty
domain: Address
range: string
comment: Name of the crossing street.

demandStop
type: DatatypeProperty
domain: Leg
range: boolean

depArrTime
type: DatatypeProperty
domain: LocationContext
range: string
comment: Time when departure/arrival from/to location is required.

destinationStopPointRef
type: DatatypeProperty
range: string
comment: ID of the last stopping point of the journey; last stop.

deviation
type: DatatypeProperty
range: boolean
comment: Specifies whether this journey takes a different route. Default setting is false.

directionRef
type: DatatypeProperty
domain: TripLocation
range: string
comment: Direction ID

distance
type: DatatypeProperty
domain: Trip
range: float
comment: Trip distance,in meters.

duration
type: DatatypeProperty
domain: Trip
range: string
comment: Overall duration of the trip.

dwellTime
type: DatatypeProperty
domain: Via
range: string
comment: Minimum dwell time at the via point required for the user

endTime
type: DatatypeProperty
domain: Trip
range: dateTime
comment: Arrival time at destination.

faresAuthorityText
type: DatatypeProperty
range: string
comment: Description or name of fare authority.

from
type: DatatypeProperty
range: dateTime
comment: Start date of duration.

fromStopSeqNumber
type: DatatypeProperty
range: integer
comment: Route position number of stopping point, from which the properties are valid. If empty, then valid from the beginning of the route.

FromTripLegIdRef
type: DatatypeProperty
range: string
comment: Reference to a leg of the trip as beginning of validity of this tariff information.

houseNumber
type: DatatypeProperty
domain: Address
range: string
comment: House number including addition.

interchanges
type: DatatypeProperty
domain: Trip
range: integer
comment: Number of interchanges.

journeyRef
type: DatatypeProperty
range: string
comment: Journey-ID

latitude
type: DatatypeProperty
domain: GeoPosition
range: string
comment: Latitude with regard to the equator. Value range from -90 degrees (south) to +90 degrees (north).

lighting
type: DatatypeProperty
domain: Class
  union of: StopPlace
  union of: StopPoint
range: boolean
comment: Specification for lighting this stopping point

lineRef
type: DatatypeProperty
domain: TripLocation
range: string
comment: Line ID

locationName
type: DatatypeProperty
domain: Location
range: string
comment: Name of location.

longitude
type: DatatypeProperty
domain: GeoPosition
range: string
comment: Longitude with regard to Greenwich meridian. Value range from -180 degrees (west) to +180 degrees (east).

maxDistance
type: DatatypeProperty
domain: TransportOption
range: integer
comment: Maximum distance up to which the use of this individual transport type is permitted.

maxDuration
type: DatatypeProperty
domain: TransportOption
range: string
comment: Maximum duration up to which the use of this individual transport type is permitted

meetsViaRequest
type: DatatypeProperty
domain: Leg
range: boolean

minDistance
type: DatatypeProperty
domain: TransportOption
range: integer
comment: Minimum distance from which the use of this individual transport type is permitted

minDuration
type: DatatypeProperty
domain: TransportOption
range: string
comment: Minimum duration from which the use of this individual transport type is permitted.

name
type: DatatypeProperty
domain: Class
  union of: Address
  union of: Locality
  union of: PointOfInterest
  union of: StopPlace
  union of: StopPoint
range: string
comment: Name of location for passenger information. it can be POI, StopPoint, StopPlace,etc

noBoardingAtStop
type: DatatypeProperty
domain: Leg
range: boolean

notServicedStop
type: DatatypeProperty
domain: Leg
range: boolean

operatingDayRef
type: DatatypeProperty
range: dateTime
comment: Operating day of the journey

operatorRef
type: DatatypeProperty
range: string
comment: Operator ID.

originStopPointRef
type: DatatypeProperty
range: string
comment: ID of the first stopping point of the journey; starting stop.

pattern
type: DatatypeProperty
range: string
comment: Bit pattern for operating days in the period from the start date (From) to end date (To). The length of the bit pattern in Pattern corresponds to the number of days from From to To. “1” means that the event in question takes place on the day which corresponds to the position in the bit pattern.

postalCode
type: DatatypeProperty
domain: Address
range: string
comment: Postal code

price
type: DatatypeProperty
range: float
comment: Net ticket price as decimal number for calculation purposes.

privateCode
type: DatatypeProperty
domain: StopPoint
range: string
comment: Private code for this stopping point in another key system

saleUrl
type: DatatypeProperty
range: string
comment: URL for online purchase options in order to purchase this ticket .

speed
type: DatatypeProperty
domain: TransportOption
range: string
comment: Relative speed in percentage.

startTime
type: DatatypeProperty
domain: Trip
range: dateTime
comment: Departure time at origin.

stopSeqNumber
type: DatatypeProperty
domain: Leg
range: integer

streetName
type: DatatypeProperty
domain: Address
range: string
comment: Name of street, in which the address is present.

tariffLevel
type: DatatypeProperty
range: string
comment: Tariff level (example from Nürnberg “10” or “10+T”).

tariffLevelLabel
type: DatatypeProperty
range: string
comment: Name for tariff levels in this context (example from Nürnberg “price level”, “tariff level”)

ticketName
type: DatatypeProperty
range: string
comment: Name of ticket.

timeAllowance
type: DatatypeProperty
domain: LocationContext
range: string
comment: Extra time needed before reaching/after leaving this location.
comment: Extra time needed before reaching/after leaving this location. Useful only, if several location contexts are used in parallel, and no explicit date/time at the locations is known.

timeWindowEnd
type: DatatypeProperty
sub property of: timeWindowGroup
range: dateTime

timeWindowGroup
type: DatatypeProperty

timeWindowStart
type: DatatypeProperty
sub property of: timeWindowGroup
range: dateTime

to
type: DatatypeProperty
range: dateTime
comment: End date of duration.

toStopSeqNumber
type: DatatypeProperty
range: integer
comment: Route position number of stopping point, up to the properties are valid. If empty, then valid up to the end of the route.

toTripLegIdRef
type: DatatypeProperty
range: string
comment: Reference to a leg of the trip as end of validity of this tariff informatio.

unplanned
type: DatatypeProperty
range: boolean
comment: Specifies, whether the journey is an additional unplanned journey. Default setting is false.

unplannedStop
type: DatatypeProperty
domain: Leg
range: boolean

vehicleRef
type: DatatypeProperty
range: string
comment: Vehicle ID

walkDuration
type: DatatypeProperty
domain: InterchangeLeg
range: string
comment: Walk time as part of the overall interchange duration.

wheelchairAccessible
type: DatatypeProperty
domain: Class
  union of: StopPlace
  union of: StopPoint
range: boolean
comment: Wheelchair accessibility of this stopping point

AccessPath
type: Class
comment: Description of a path in terms of accessibility.

Address
type: Class
subclass of: Location
subclass of: Restriction
  on property: name
  min qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: identifier
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: countryName
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: crossingStreet
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: houseNumber
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: locationName
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: postalCode
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: streetName
  max qualified cardinality: 1
  on data range: string
comment: Class that describes a address in public transport.

ContinuousLeg
type: Class
subclass of: TripLeg
subclass of: Restriction
  on property: legEnd
  qualified cardinality: 1
  on class: LocationRef
subclass of: Restriction
  on property: legStart
  qualified cardinality: 1
  on class: LocationRef
comment: Class that describes trip leg as movement with a continuously available mode.

GeoPosition
type: Class
subclass of: Location
subclass of: Restriction
  on property: latitude
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: longitude
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: altitude
  max qualified cardinality: 1
  on data range: string
comment: Class that describes a geo position in public transport.

InterchangeLeg
type: Class
subclass of: TripLeg
subclass of: Restriction
  on property: hasAttribute
  some values from: GeneralAttribute
subclass of: Restriction
  on property: legDescription
  some values from: InternationalText
subclass of: Restriction
  on property: legEnd
  qualified cardinality: 1
  on class: LocationRef
subclass of: Restriction
  on property: legStart
  qualified cardinality: 1
  on class: LocationRef
subclass of: Restriction
  on property: navigationPath
  qualified cardinality: 1
  on class: NavigationSection
subclass of: Restriction
  on property: duration
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: length
  max qualified cardinality: 1
  on data range: float
subclass of: Restriction
  on property: bufferTime
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: walkDuration
  max qualified cardinality: 1
  on data range: string
comment: Class that describestrip leg as interchange between modes of transport.

Leg
type: Class
subclass of: Restriction
  on property: hasEstimatedBay
  some values from: InternationalText
subclass of: Restriction
  on property: hasNameSuffix
  some values from: InternationalText
subclass of: Restriction
  on property: hasPlannedBay
  some values from: InternationalText
subclass of: Restriction
  on property: stopSeqNumber
  some values from: integer
subclass of: Restriction
  on property: demandStop
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: meetsViaRequest
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: noAlightingAtStop
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: noBoardingAtStop
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: notServicedStop
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: unplannedStop
  max qualified cardinality: 1
  on data range: boolean

LegAlight
type: Class
subclass of: Leg
subclass of: Restriction
  on property: serviceArrival
  qualified cardinality: 1
  on class: ServiceCall
subclass of: Restriction
  on property: serviceDeparture
  max qualified cardinality: 1
  on class: ServiceCall

LegBoard
type: Class
subclass of: Leg
subclass of: Restriction
  on property: serviceDeparture
  qualified cardinality: 1
  on class: ServiceCall
subclass of: Restriction
  on property: serviceArrival
  max qualified cardinality: 1
  on class: ServiceCall

LegIntermediates
type: Class
subclass of: Leg
subclass of: Restriction
  on property: serviceArrival
  qualified cardinality: 1
  on class: ServiceCall
subclass of: Restriction
  on property: serviceDeparture
  qualified cardinality: 1
  on class: ServiceCall

Line
type: Class

Locality
type: Class
subclass of: Location
subclass of: Restriction
  on property: name
  some values from: string
subclass of: Restriction
  on property: identifier
  qualified cardinality: 1
  on data range: string
comment: Class that describes a locality in public transport.

Location
type: Class
subclass of: Restriction
  on property: locationName
  min qualified cardinality: 1
  on data range: string
comment: A location and access to it by individual transport. This Class is used to describe the start and end location within the journey planning service.

LocationContext
type: Class
subclass of: Restriction
  on property: hasTransportOption
  some values from: TransportOption
subclass of: Restriction
  on property: hasLocation
  qualified cardinality: 1
  on class: Location
subclass of: Restriction
  on property: hasTripLocation
  qualified cardinality: 1
  on class: TripLocation
subclass of: Restriction
  on property: depArrTime
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: timeAllowance
  qualified cardinality: 1
  on data range: string
comment: A location and access to it by individual transport..
comment: Specification of a location and accessibility options for a user via individual routes.

NavigationSection
type: Class
subclass of: Restriction
  on property: turnDescription
  some values from: InternationalText
subclass of: Restriction
  on property: hasAccessPath
  max qualified cardinality: 1
  on class: AccessPath
subclass of: Restriction
  on property: hasTrackSection
  max qualified cardinality: 1
  on class: TrackSection
comment: Building block of a NavigationPath.

PointOfInterest
type: Class
subclass of: Location
subclass of: Restriction
  on property: name
  min qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: identifier
  qualified cardinality: 1
  on data range: string
comment: Class that describes a POI in public transport.

StopPlace
type: Class
subclass of: Location
subclass of: Restriction
  on property: name
  some values from: string
subclass of: Restriction
  on property: identifier
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: covered
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: lighting
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: wheelchairAccessible
  max qualified cardinality: 1
  on data range: boolean
comment: Class that describes a StopPlace in public transport.

StopPoint
type: Class
subclass of: Location
subclass of: Restriction
  on property: name
  some values from: string
subclass of: Restriction
  on property: identifier
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: covered
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: lighting
  max qualified cardinality: 1
  on data range: boolean
subclass of: Restriction
  on property: wheelchairAccessible
  max qualified cardinality: 1
  on data range: boolean
comment: Class that describes a StopPoint in public transport.

TimedLeg
type: Class
subclass of: TripLeg
subclass of: Restriction
  on property: OperatingDaysDescription
  some values from: InternationalText
subclass of: Restriction
  on property: hasLegIntermediates
  some values from: LegIntermediates
subclass of: Restriction
  on property: hasLegAlight
  qualified cardinality: 1
  on class: LegAlight
subclass of: Restriction
  on property: hasLegBoard
  qualified cardinality: 1
  on class: LegBoard
subclass of: Restriction
  on property: Service
  qualified cardinality: 1
  on class: DatedJourney
subclass of: Restriction
  on property: hasOperatingDays
  max qualified cardinality: 1
  on class: OperatingDay
comment: Class that describes trip leg as timetabled trip leg.

TransportOption
type: Class
subclass of: Restriction
  on property: maxDistance
  max qualified cardinality: 1
  on data range: integer
subclass of: Restriction
  on property: maxDuration
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: minDistance
  max qualified cardinality: 1
  on data range: integer
subclass of: Restriction
  on property: minDuration
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: speed
  max qualified cardinality: 1
  on data range: string
comment: Options how to access/leave the location by transport.

Trip
type: Class
subclass of: Restriction
  on property: OperatingDaysDescription
  some values from: InternationalText
subclass of: Restriction
  on property: hasTripLeg
  min qualified cardinality: 1
  on class: TripLeg
subclass of: Restriction
  on property: hasOperatingDays
  max qualified cardinality: 1
  on class: OperatingDay
subclass of: Restriction
  on property: duration
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: endTime
  qualified cardinality: 1
  on data range: dateTime
subclass of: Restriction
  on property: interchanges
  qualified cardinality: 1
  on data range: integer
subclass of: Restriction
  on property: startTime
  qualified cardinality: 1
  on data range: dateTime
subclass of: Restriction
  on property: identifier
  max qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: distance
  max qualified cardinality: 1
  on data range: float
comment: Class that describes a trip in public transport(TripStructure).

TripLeg
type: Class
subclass of: Restriction
  on property: identifier
  max qualified cardinality: 1
  on data range: string
comment: Leg or legs of the trip.

TripLocation
type: Class
subclass of: Restriction
  on property: directionRef
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: journeyRef
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: lineRef
  qualified cardinality: 1
  on data range: string
subclass of: Restriction
  on property: operatingDayRef
  qualified cardinality: 1
  on data range: dateTime
comment: Define that Journey as the current trip location of a passenger

TripRequest
type: Class
subclass of: Restriction
  on property: noChangeAt
  some values from: Class
    union of: StopPlace
    union of: StopPoint
subclass of: Restriction
  on property: NotVia
  some values from: Class
    union of: StopPlace
    union of: StopPoint
subclass of: Restriction
  on property: hasVia
  all values from: Via
subclass of: Restriction
  on property: hasDestination
  min qualified cardinality: 1
  on class: LocationContext
subclass of: Restriction
  on property: hasOrigin
  min qualified cardinality: 1
  on class: LocationContext
comment: An intermodal trip information is requested via an element of the class TripRequest.

TripResponse
type: Class
subclass of: Restriction
  on property: hasErrorMessage
  some values from: ErrorMessage
subclass of: Restriction
  on property: TripResult
  some values from: TripResult
comment: Result data for a trip information.

TripResult
type: Class
subclass of: Restriction
  on property: hasErrorMessage
  some values from: ErrorMessage
subclass of: Restriction
  on property: hasTripFares
  some values from: TripFaresResult
subclass of: Restriction
  on property: hasTrip
  all values from: Trip
subclass of: Restriction
  on property: identifier
  max qualified cardinality: 1
  on data range: string

Via
type: Class
subclass of: Restriction
  on property: hasViaPoint
  qualified cardinality: 1
  on class: Location
subclass of: Restriction
  on property: dwellTime
  max qualified cardinality: 1
  on data range: string
comment: One or more via-locations

min qualified cardinality: 1

qualified cardinality: 1

stopPointRef