Tunnel-ontology
type: Ontology
comment: An OWL ontology that for road and rail tunnel design

hasDecks
type: DatatypeProperty
sub property of: topDataProperty
domain: Tunnel
range: nonNegativeInteger
comment: The Number of Decks

hasDiameter
type: DatatypeProperty
sub property of: topDataProperty
domain: Class
  union of: Deck
  union of: Shell
  union of: SideWall
range: Datatype
  on datatype: double
  with restrictions:
    min inclusive: 0.0
comment: Diameter in meter

hasHeight
type: DatatypeProperty
sub property of: topDataProperty
domain: Tunnel
range: Datatype
  on datatype: double
  with restrictions:
    min inclusive: 0.0
comment: Height in meter

hasLength
type: DatatypeProperty
sub property of: topDataProperty
domain: Tunnel
range: Datatype
  on datatype: double
  with restrictions:
    min inclusive: 80.0
comment: Length in meters

hasShape
type: DatatypeProperty
sub property of: topDataProperty
domain: Tunnel
range: string
comment: TunnelShape described in a String

hasSideWalls
type: DatatypeProperty
sub property of: topDataProperty
domain: Tunnel
range: nonNegativeInteger
comment: The Number of Side Walls

hasWidth
type: DatatypeProperty
sub property of: topDataProperty
type: FunctionalProperty
domain: Tunnel
range: Datatype
  on datatype: double
  with restrictions:
    min inclusive: 0.0
comment: Width in meters

HeavyRailTunnel
type: Class
subclass of: TunnelSurroundedBySoil
subclass of: Restriction
  on property: hasUse
  all values from: HeavyRailUse
type: NamedIndividual
has deck: DeckExample2
has shell: ConcreteSegmentShellExample
has side wall: SideWallExample2
has decks: 2
has height: 16.0
has length: 1000.0
has shape: Round
has side walls: 4
has width: 16.0

MainComponent
type: Class
comment: The Main Components Tunnels consist of

StreetTunnel
type: Class
subclass of: TunnelSurroundedByRock
subclass of: Restriction
  on property: hasUse
  all values from: StreetUse
type: NamedIndividual
has deck: DeckExample
has shell: ShotcreteShellExample
has side wall: SideWallExample
has decks: 1
has height: 4.4
has length: 200.0
has shape: Rectangular
has side walls: 2
has width: 8.0

SurroundingMaterial
type: Class
comment: Materials that can surround Tunnels

Tunnel
type: Class
subclass of: Restriction
  on property: hasDeck
  some values from: Deck
subclass of: Restriction
  on property: hasSideWall
  some values from: SideWall
subclass of: Restriction
  on property: hasSurroundingMaterial
  some values from: SurroundingMaterial
subclass of: Restriction
  on property: hasTunnelingMethod
  some values from: TunnelingMethod
subclass of: Restriction
  on property: hasUse
  some values from: TunnelUse
subclass of: Restriction
  on property: hasShell
  qualified cardinality: 1
  on class: Shell

TunnelUse
type: Class
comment: Functions for which tunnels can be used

TunnelingMethod
type: Class
comment: Methods by which tunnels can be built

ConcreteSegmentShellExample
type: NamedIndividual
type: ConcreteSegmentShell
has diameter: 0.7

DeckExample
type: NamedIndividual
type: Deck
has diameter: 0.3

DeckExample2
type: NamedIndividual
type: Deck
has diameter: 0.33

ShotcreteShellExample
type: NamedIndividual
type: ShotcreteShell
has diameter: 0.35

SideWallExample
type: NamedIndividual
type: SideWall
has diameter: 0.3

SideWallExample2
type: NamedIndividual
type: SideWall
has diameter: 0.4