Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
3349 lines (2776 sloc) 112 KB
;;;; Ontology of Transportation ;;;;
;; Access to and use of these products is governed by the GNU General Public
;; License <http://www.gnu.org/copyleft/gpl.html>.
;; By using these products, you agree to be bound by the terms
;; of the GPL.
;; Those who are interested in making use of this ontology are requested
;; to contact Adam Pease (apease [at] articulatesoftware [dot] com).
;; We ask the people using or referencing this work cite our primary paper:
;; Niles, I., and Pease, A. 2001. Towards a Standard Upper Ontology. In
;; Proceedings of the 2nd International Conference on Formal Ontology in
;; Information Systems (FOIS-2001), Chris Welty and Barry Smith, eds,
;; Ogunquit, Maine, October 17-19, 2001. See also http://www.ontologyportal.org
;; Sources:
;; This file creates terms to represent transport-related material in the
;; CIA World Fact Book 2002 (http://www.cia.gov/cia/publications/factbook/).
;; Additional concepts from Universal Joint Task List (version 4)
;; (http://www.dtic.mil/doctrine/jel/cjcsd/cjcsm/m3500_4b.pdf)
;; Additional references include: on-line Glossary of Landform and
;; Geologic Terms at http://www.statlab.iastate.edu/soils/nssh/629.htm.
;; Ontology dependencies: Merge.kif, Geography.kif, Government.kif
;;------------------------------------------------------------------------
;; Outline:
;;
;; I. Transportation concepts for CIA World Fact Book
;; A. Railways
;; B. Highways
;; C. Waterways
;; D. Pipelines
;; E. Ports and harbors
;; F. Merchant marine
;; G. Airports
;; H. Airports - with paved runways
;; J. Heliports
;; K. Transportation - note
;;
;; II. General Transportation Concepts
;; A. Translocation
;; B. Transitways
;; 1. Land Transitways
;; a. Roadways
;; b. Railways
;; 2. Water Transitways
;; 3. Air Transitways
;; 4. Pipelines
;; C. Vehicles
;; 1. Land Vehicles
;; a. Road Vehicles
;; b. Rail Vehicles
;; c. Other
;; 2. Water Vehicles
;; 3. Air Vehicles
;; D. Trafficability
;; 1. Traffic Compatibility
;; 2. Transitway State
;; E. Transit Systems and Routes
;; 1. Physical Systems
;; 2. Transit Systems
;; 3. Transit Terminals
;; 4. Transitway Junctions
;; 5. Transit Routes
;; F. Trips
;; G. Transitway Capacity
;; H. Transitway Obstacles
;; I. Traffic Regulation
;; 1. Transit Authority
;; 2. Transit Control Systems
;; 3. Transit Control Devices
;; 4. Tolls or Usage Fees
;; 5. Transportation Standards
;; J. Transportation Businesses
;; 1. Business Types
;; 2. Personnel
;; 3. Transportation Services
;;========================================================================
;; I. Transportation Concepts for CIA World Fact Book
;; A. Railways
(instance totalLengthOfRailwaySystem BinaryPredicate)
(domain totalLengthOfRailwaySystem 1 GeographicArea)
(domain totalLengthOfRailwaySystem 2 LengthMeasure)
(documentation totalLengthOfRailwaySystem EnglishLanguage
"(&%totalLengthOfRailwaySystem ?AREA ?LENGTH) means that the sum
length of all railway routes in the &%GeographicArea ?AREA
is the &%LengthMeasure ?LENGTH.")
(<=>
(totalLengthOfRailwaySystem ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(instance ?RAILWAYS Railway)
(located ?RAILWAYS ?AREA)))
?LENGTH))
(=>
(and
(totalLengthOfRailwaySystem ?AREA ?LENGTH)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY Railway)
(located ?RAILWAY ?AREA))))
(instance lengthOfElectrifiedRailway BinaryPredicate)
(domain lengthOfElectrifiedRailway 1 GeographicArea)
(domain lengthOfElectrifiedRailway 2 LengthMeasure)
(documentation lengthOfElectrifiedRailway EnglishLanguage
"(&%lengthOfElectrifiedRailway ?AREA ?LENGTH) means that the sum
length of all &%ElectrifiedRailway routes in the &%GeographicArea
?AREA is the &%LengthMeasure ?LENGTH.")
(<=>
(lengthOfElectrifiedRailway ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(instance ?RAILWAYS ElectrifiedRailway)
(located ?RAILWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfElectrifiedRailway ?AREA ?LENGTH)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY ElectrifiedRailway)
(located ?RAILWAY ?AREA))))
(instance lengthOfMultipleTrackRailway BinaryPredicate)
(domain lengthOfMultipleTrackRailway 1 GeographicArea)
(domain lengthOfMultipleTrackRailway 2 LengthMeasure)
(documentation lengthOfMultipleTrackRailway EnglishLanguage
"(&%lengthOfMultipleTrackRailway ?AREA ?LENGTH) means that the sum
length of all &%MultipleTrackRailway route in the &%GeographicArea
?AREA is the &%LengthMeasure ?LENGTH.")
(<=>
(lengthOfMultipleTrackRailway ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(instance ?RAILWAYS MultipleTrackRailway)
(located ?RAILWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfMultipleTrackRailway ?AREA ?LENGTH)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY MultipleTrackRailway)
(located ?RAILWAY ?AREA))))
(instance lengthOfBroadGaugeRailway BinaryPredicate)
(domain lengthOfBroadGaugeRailway 1 GeographicArea)
(domain lengthOfBroadGaugeRailway 2 LengthMeasure)
(documentation lengthOfBroadGaugeRailway EnglishLanguage
"(&%lengthOfBroadGaugeRailway ?AREA ?LENGTH) means that the sum length
of broad gauge railway routes in the &%GeographicArea ?AREA is the
&%LengthMeasure ?LENGTH.")
(<=>
(lengthOfBroadGaugeRailway ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(instance ?RAILWAYS BroadGaugeRailway)
(located ?RAILWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfBroadGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY BroadGaugeRailway)
(located ?RAILWAY ?AREA))))
(instance lengthOfDualGaugeRailway BinaryPredicate)
(domain lengthOfDualGaugeRailway 1 GeographicArea)
(domain lengthOfDualGaugeRailway 2 LengthMeasure)
(documentation lengthOfDualGaugeRailway EnglishLanguage
"(&%lengthOfDualGaugeRailway ?AREA ?LENGTH) means that the sum length
of dual gauge railway routes in the &%GeographicArea ?AREA is the
&%LengthMeasure ?LENGTH.")
(<=>
(lengthOfDualGaugeRailway ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(instance ?RAILWAYS DualGaugeRailway)
(located ?RAILWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfDualGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY DualGaugeRailway)
(located ?RAILWAY ?AREA))))
(instance lengthOfNarrowGaugeRailway BinaryPredicate)
(domain lengthOfNarrowGaugeRailway 1 GeographicArea)
(domain lengthOfNarrowGaugeRailway 2 LengthMeasure)
(documentation lengthOfNarrowGaugeRailway EnglishLanguage
"(&%lengthOfNarrowGaugeRailway ?AREA ?LENGTH) means that the sum length
of narrow gauge railway routes in the &%GeographicArea ?AREA is the
&%LengthMeasure ?LENGTH.")
(<=>
(lengthOfNarrowGaugeRailway ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(instance ?RAILWAYS NarrowGaugeRailway)
(located ?RAILWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfNarrowGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY NarrowGaugeRailway)
(located ?RAILWAY ?AREA))))
(instance lengthOfStandardGaugeRailway BinaryPredicate)
(domain lengthOfStandardGaugeRailway 1 GeographicArea)
(domain lengthOfStandardGaugeRailway 2 LengthMeasure)
(documentation lengthOfStandardGaugeRailway EnglishLanguage
"(&%lengthOfStandardGaugeRailway ?AREA ?LENGTH) means that the sum length
of standard gauge railway routes in the &%GeographicArea ?AREA is the
&%LengthMeasure ?LENGTH.")
(<=>
(lengthOfStandardGaugeRailway ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(instance ?RAILWAYS StandardGaugeRailway)
(located ?RAILWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfStandardGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY StandardGaugeRailway)
(located ?RAILWAY ?AREA))))
(instance lengthOfUnclassifiedGaugeRailway BinaryPredicate)
(domain lengthOfUnclassifiedGaugeRailway 1 GeographicArea)
(domain lengthOfUnclassifiedGaugeRailway 2 LengthMeasure)
(documentation lengthOfUnclassifiedGaugeRailway EnglishLanguage
"(&%lengthOfUnclassifiedGaugeRailway ?AREA ?LENGTH) means that the sum length
of railway routes in the &%GeographicArea ?AREA classified as something
other than broad, dual, narrow, or standard gauge is the &%LengthMeasure
?LENGTH.")
(<=>
(lengthOfUnclassifiedGaugeRailway ?AREA ?LENGTH)
(length
(KappaFn ?RAILWAYS
(and
(located ?RAILWAYS ?AREA)
(not
(instance ?RAILWAYS
(UnionFn StandardGaugeRailway
(UnionFn BroadGaugeRailway
(UnionFn DualGaugeRailway
NarrowGaugeRailway)))))))
?LENGTH))
(=>
(and
(lengthOfUnclassifiedGaugeRailway ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?RAILWAY)
(and
(instance ?RAILWAY Railway)
(located ?RAILWAY ?AREA))))
(subclass Railway LandTransitway) ;; &%Transitway is defined in Part II.
(subclass Railway StationaryArtifact)
(documentation Railway EnglishLanguage "&%Railway is the subclass of
&%LandTransitways that have rails along which &%Trains may travel.
A railway consists of the rail bed, sleepers, tracks, electric
rails, switches, sensors, lights, crossing grades, and any other
integral machinery or parts of a section of railway.")
(subclass BroadGaugeRailway Railway)
(subclass DualGaugeRailway Railway)
(subclass NarrowGaugeRailway Railway)
(subclass StandardGaugeRailway Railway)
(subclass ElectrifiedRailway Railway)
(documentation ElectrifiedRailway EnglishLanguage "&%ElectrifiedRailway is the subclass
of &%Railway representing electrified railways.")
(subclass MultipleTrackRailway Railway)
(documentation MultipleTrackRailway EnglishLanguage "&%MultipleTrackRailway is the
subclass of &%Railway whose instances consists of two or more sets of
tracks running in parallel, allowing motion in both directions along
a route without the need for sidings and delays.")
(=>
(instance ?RAIL MultipleTrackRailway)
(exists (?TRACK1 ?TRACK2)
(and
(instance ?TRACK1 RailroadTrack)
(instance ?TRACK2 RailroadTrack)
(not (equal ?TRACK1 ?TRACK2))
(part ?TRACK1 ?RAIL)
(part ?TRACK2 ?RAIL))))
(subclass RailroadTrack StationaryArtifact)
(documentation RailroadTrack EnglishLanguage "&%RailroadTrack is the class of
&%StationaryArtifacts consisting of rails laid on supports to form
a track for railway vehicles.")
(subclass TrackGauge InternalAttribute)
(documentation TrackGauge EnglishLanguage "&%TrackGauge is the collection of
attributes that characterize sections of railways, according
to the set distances between the two tracks of the &%Railway.
Precisely, the measurement of track gauge is the distance
between the inner vertical surfaces of the heads of the rails.
Track gauges include broad, dual, standard, and narrow gauges.")
(contraryAttribute BroadGauge StandardGauge NarrowGauge DualGauge)
(instance trackWidth BinaryPredicate)
(subrelation trackWidth measure)
(documentation trackWidth EnglishLanguage "The distance between the two rails
of a &%Railway.")
(domain trackWidth 1 Railway)
(domain trackWidth 2 LengthMeasure)
(instance BroadGauge TrackGauge)
(documentation BroadGauge EnglishLanguage "&%BroadGauge is the attribute of
any &%Railway that has a &%TrackGauge wider than &%StandardGauge.")
(=>
(and
(instance ?RR Railway)
(property ?RR BroadGauge)
(trackWidth ?RR ?WIDTH))
(greaterThan ?WIDTH (MeasureFn 1.44 Meter)))
(<=>
(instance ?RR BroadGaugeRailway)
(property ?RR BroadGauge))
(instance StandardGauge TrackGauge)
(documentation StandardGauge EnglishLanguage "&%StandardGauge is the attribute
of &%Railways having the standardized track width that is
used in North America and most Western European countries.
The standard is typically a distance of 4 ft., 8-1/2 inches
(1.44 meters). There is some variation within which usage is
compatible, e.g., 1.35 meters. Standard gauge originated in
England and was mandated by the U.S. Federal government for the
U.S. Transcontinental Railroad. It is also used in Canada,
Great Britain, and most of Western Europe (but not in Ireland,
or Spain and Portugal.")
(=>
(and
(instance ?RR Railway)
(property ?RR StandardGauge)
(trackWidth ?RR ?WIDTH))
(greaterThanOrEqualTo ?WIDTH (MeasureFn 1.435 Meter)))
(=>
(and
(instance ?RR Railway)
(property ?RR StandardGauge)
(trackWidth ?RR ?WIDTH))
(lessThanOrEqualTo ?WIDTH (MeasureFn 1.44 Meter)))
(<=>
(instance ?RR StandardGaugeRailway)
(property ?RR StandardGauge))
(instance NarrowGauge TrackGauge)
(documentation NarrowGauge EnglishLanguage "&%NarrowGauge is the attribute
of any &%Railway that has a &%TrackGauge narrower than
&%StandardGauge. There are several common track widths
among &%NarrowGauge railways.")
(=>
(and
(instance ?RR Railway)
(property ?RR NarrowGauge)
(trackWidth ?RR ?WIDTH))
(lessThanOrEqualTo ?WIDTH (MeasureFn 1.435 Meter)))
(<=>
(instance ?RR NarrowGaugeRailway)
(property ?RR NarrowGauge))
(instance DualGauge TrackGauge)
(documentation DualGauge EnglishLanguage "&%DualGauge is the attribute of
any &%Railway that has three parallel rails, thus allowing
two different gauges of rolling stock to travel over it.")
(<=>
(instance ?RR DualGaugeRailway)
(property ?RR DualGauge))
;;----------------------------------------------------------------------
;; B. Highways
(instance totalLengthOfHighwaySystem BinaryPredicate)
(domain totalLengthOfHighwaySystem 1 GeographicArea)
(domain totalLengthOfHighwaySystem 2 LengthMeasure)
(documentation totalLengthOfHighwaySystem EnglishLanguage
"(&%totalLengthOfHighwaySystem ?AREA ?LENGTH) means that the total
length of the highway system in the &%GeographicArea ?AREA is ?LENGTH.
The figure includes both paved and unpaved roads.")
(<=>
(totalLengthOfHighwaySystem ?AREA ?LENGTH)
(length
(KappaFn ?HIGHWAYS
(and
(instance ?HIGHWAYS Roadway)
(located ?HIGHWAYS ?AREA)))
?LENGTH))
(=>
(and
(totalLengthOfHighwaySystem ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?HIGHWAY)
(and
(instance ?HIGHWAY Roadway)
(located ?HIGHWAY ?AREA))))
(=>
(and
(totalLengthOfHighwaySystem ?AREA ?LENGTH)
(lengthOfPavedHighway ?AREA ?LENGTH1)
(lengthOfUnpavedHighway ?AREA ?LENGTH2))
(equal ?LENGTH (AdditionFn ?LENGTH1 ?LENGTH2)))
(=>
(and
(totalLengthOfHighwaySystem ?AREA (MeasureFn ?LENGTH ?UNIT))
(lengthOfPavedHighway ?AREA (MeasureFn ?LENGTH1 ?UNIT))
(lengthOfUnpavedHighway ?AREA (MeasureFn ?LENGTH2 ?UNIT))
(instance ?UNIT UnitOfLength))
(totalLengthOfHighwaySystem ?AREA
(MeasureFn (AdditionFn ?LENGTH1 ?LENGTH2) ?UNIT)))
(=>
(and
(totalLengthOfHighwaySystem ?AREA ?TOTAL)
(lengthOfPavedHighway ?AREA ?PAVED))
(greaterThanOrEqualTo ?TOTAL ?PAVED))
(=>
(and
(totalLengthOfHighwaySystem ?AREA ?TOTAL)
(lengthOfUnpavedHighway ?AREA ?UNPAVED))
(greaterThanOrEqualTo ?TOTAL ?UNPAVED))
(instance lengthOfPavedHighway BinaryPredicate)
(domain lengthOfPavedHighway 1 GeographicArea)
(domain lengthOfPavedHighway 2 LengthMeasure)
(documentation lengthOfPavedHighway EnglishLanguage
"(&%lengthOfPavedHighway ?AREA ?LENGTH) means that the total length
of &%SurfacedRoadway in the &%GeographicArea ?AREA is ?LENGTH.")
(<=>
(lengthOfPavedHighway ?AREA ?LENGTH)
(length
(KappaFn ?HIGHWAYS
(and
(instance ?HIGHWAYS SurfacedRoadway)
(located ?HIGHWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfPavedHighway ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?HIGHWAY)
(and
(instance ?HIGHWAY SurfacedRoadway)
(located ?HIGHWAY ?AREA))))
(instance lengthOfExpresswaySystem BinaryPredicate)
(domain lengthOfExpresswaySystem 1 GeographicArea)
(domain lengthOfExpresswaySystem 2 LengthMeasure)
(documentation lengthOfExpresswaySystem EnglishLanguage
"(&%lengthOfExpresswaySystem ?AREA ?LENGTH) means that the total length
of &%Expressway in the &%GeographicArea ?AREA is ?LENGTH.")
(<=>
(lengthOfExpresswaySystem ?AREA ?LENGTH)
(length
(KappaFn ?HIGHWAYS
(and
(instance ?HIGHWAYS Expressway)
(located ?HIGHWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfExpresswaySystem ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?HIGHWAY)
(and
(instance ?HIGHWAY Expressway)
(located ?HIGHWAY ?AREA))))
(=>
(and
(lengthOfExpresswaySystem ?AREA ?LENGTH1)
(lengthOfPavedHighway ?AREA ?LENGTH2))
(greaterThanOrEqualTo ?LENGTH2 ?LENGTH1))
(instance lengthOfUnpavedHighway BinaryPredicate)
(domain lengthOfUnpavedHighway 1 GeographicArea)
(domain lengthOfUnpavedHighway 2 LengthMeasure)
(documentation lengthOfUnpavedHighway EnglishLanguage
"(&%lengthOfUnpavedHighway ?AREA ?LENGTH) means that the total length
of &%UnsurfacedRoadway in the &%GeographicArea ?AREA is ?LENGTH.")
(<=>
(lengthOfUnpavedHighway ?AREA ?LENGTH)
(length
(KappaFn ?HIGHWAYS
(and
(instance ?HIGHWAYS UnsurfacedRoadway)
(located ?HIGHWAYS ?AREA)))
?LENGTH))
(=>
(and
(lengthOfUnpavedHighway ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?HIGHWAY)
(and
(instance ?HIGHWAY UnsurfacedRoadway)
(located ?HIGHWAY ?AREA))))
(subclass Expressway SurfacedRoadway)
(documentation Expressway EnglishLanguage "&%Expressway is the subclass of
&%SurfacedRoadways that are multiple-lane, limited-access highways
designed for rapid travel by &%MotorVehicles.")
(subclass SurfacedRoadway Roadway)
(documentation SurfacedRoadway EnglishLanguage "&%SurfacedRoadway is the subclass of
&%Roadways that have been improved by covering them with a substance
to increase the hardness and smoothness of the surface. Covering
materials include pavement, concrete, asphalt, macadam, and gravel.")
(subclass UnsurfacedRoadway Roadway)
(documentation UnsurfacedRoadway EnglishLanguage "&%UnsurfacedRoadway is the subclass
of &%Roadways that have natural, unimproved surfaces of dirt or sand.")
(disjoint SurfacedRoadway UnsurfacedRoadway)
;;----------------------------------------------------------------------
;; C. Waterways
(instance totalLengthOfWaterways BinaryPredicate)
(domain totalLengthOfWaterways 1 GeographicArea)
(domain totalLengthOfWaterways 2 LengthMeasure)
(documentation totalLengthOfWaterways EnglishLanguage
"(&%totalLengthOfWaterways ?AREA ?LENGTH) means that the
total length of navigable &%Waterways in the &%GeographicArea ?AREA
is the &%LengthMeasure ?LENGTH.")
(<=>
(totalLengthOfWaterways ?AREA ?LENGTH)
(length
(KappaFn ?WATERWAY
(and
(instance ?WATERWAY Waterway)
(partlyLocated ?WATERWAY ?AREA)))
?LENGTH))
(=>
(and
(totalLengthOfWaterways ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?WATERWAY)
(and
(instance ?WATERWAY Waterway)
(located ?WATERWAY ?AREA))))
;;----------------------------------------------------------------------
;; D. Pipelines
(instance totalPipelineInArea BinaryPredicate)
(domain totalPipelineInArea 1 GeographicArea)
(domain totalPipelineInArea 2 LengthMeasure)
(documentation totalPipelineInArea EnglishLanguage
"(&%totalPipelineInArea ?AREA ?LENGTH) means that the &%GeopoliticalArea
?AREA has ?LENGTH of &%Pipelines.")
(<=>
(totalPipelineInArea ?AREA ?LENGTH)
(length
(KappaFn ?PIPE
(and
(instance ?PIPE Pipeline)
(located ?PIPE ?AREA)))
?LENGTH))
(=>
(and
(totalPipelineInArea ?AREA (MeasureFn ?LENGTH ?UNIT))
(instance ?UNIT UnitOfLength)
(greaterThan ?LENGTH 0))
(exists (?PIPE)
(and
(instance ?PIPE Pipeline)
(located ?PIPE ?AREA))))
(instance lengthOfCrudeOilPipeline BinaryPredicate)
(domain lengthOfCrudeOilPipeline 1 GeographicArea)
(domain lengthOfCrudeOilPipeline 2 LengthMeasure)
(documentation lengthOfCrudeOilPipeline EnglishLanguage
"(&%lengthOfCrudeOilPipeline ?AREA ?AMOUNT) means that in the
&%GeograpicArea ?AREA there is the &%LengthMeasure ?AMOUNT of
&%CrudeOilPipeline.")
(<=>
(lengthOfCrudeOilPipeline ?AREA ?LENGTH)
(length
(KappaFn ?PIPELINE
(and
(instance ?PIPELINE CrudeOilPipeline)
(located ?PIPELINE ?AREA)))
?LENGTH))
(=>
(and
(lengthOfCrudeOilPipeline ?AREA ?AMOUNT1)
(totalPipelineInArea ?AREA ?AMOUNT2))
(lessThanOrEqualTo ?AMOUNT1 ?AMOUNT2))
(instance lengthOfNaturalGasPipeline BinaryPredicate)
(domain lengthOfNaturalGasPipeline 1 GeographicArea)
(domain lengthOfNaturalGasPipeline 2 LengthMeasure)
(documentation lengthOfNaturalGasPipeline EnglishLanguage
"(&%lengthOfNaturalGasPipeline ?AREA ?AMOUNT) means that in the
&%GeograpicArea ?AREA there is the &%LengthMeasure ?AMOUNT of
&%NaturalGasPipeline.")
(<=>
(lengthOfNaturalGasPipeline ?AREA ?LENGTH)
(length
(KappaFn ?PIPELINE
(and
(instance ?PIPELINE NaturalGasPipeline)
(located ?PIPELINE ?AREA)))
?LENGTH))
(=>
(and
(lengthOfNaturalGasPipeline ?AREA ?AMOUNT1)
(totalPipelineInArea ?AREA ?AMOUNT2))
(lessThanOrEqualTo ?AMOUNT1 ?AMOUNT2))
(instance lengthOfPetroleumProductPipeline BinaryPredicate)
(domain lengthOfPetroleumProductPipeline 1 GeographicArea)
(domain lengthOfPetroleumProductPipeline 2 LengthMeasure)
(documentation lengthOfPetroleumProductPipeline EnglishLanguage
"(&%lengthOfPetroleumProductPipeline ?AREA ?AMOUNT) means that in the
&%GeograpicArea ?AREA there is the &%LengthMeasure ?AMOUNT of
&%PetroleumProductPipeline.")
(<=>
(lengthOfPetroleumProductPipeline ?AREA ?LENGTH)
(length
(KappaFn ?PIPELINE
(and
(instance ?PIPELINE PetroleumProductPipeline)
(located ?PIPELINE ?AREA)))
?LENGTH))
(=>
(and
(lengthOfPetroleumProductPipeline ?AREA ?AMOUNT1)
(totalPipelineInArea ?AREA ?AMOUNT2))
(lessThanOrEqualTo ?AMOUNT1 ?AMOUNT2))
(subclass Pipeline Transitway)
(documentation Pipeline EnglishLanguage "&%Pipeline is the class of pipelines used
to transport various kinds of fluids.")
(=>
(and
(instance ?PIPE Pipeline)
(instance ?MOTION Motion)
(instrument ?MOTION ?PIPE)
(patient ?MOTION ?STUFF))
(instance ?STUFF (ExtensionFn Fluid)))
(subclass SewageSystem Pipeline)
(documentation SewageSystem EnglishLanguage "A &%Pipline which is used to transport human
waste to an area where it can be treated and/or disposed of.")
(=>
(and
(instance ?T Transportation)
(patient ?T ?S)
(instrument ?T ?SS)
(instance ?SS SewageSystem))
(instance ?S Sewage))
(subclass CrudeOilPipeline Pipeline)
(documentation CrudeOilPipeline EnglishLanguage "&%CrudeOilPipeline is the subclass of
&%Pipelines that are used to carry &%CrudeOil.")
(=>
(and
(instance ?PIPE CrudeOilPipeline)
(instance ?MOTION Motion)
(instrument ?MOTION ?PIPE)
(patient ?MOTION ?OIL))
(instance ?OIL Petroleum))
(subclass NaturalGasPipeline Pipeline)
(documentation NaturalGasPipeline EnglishLanguage "&%NaturalGasPipeline is the subclass
of &%Pipelines that are used to carry &%NaturalGas.")
(=>
(and
(instance ?PIPE NaturalGasPipeline)
(instance ?MOTION Motion)
(instrument ?MOTION ?PIPE)
(patient ?MOTION ?GAS))
(instance ?GAS NaturalGas))
(subclass PetroleumProductPipeline Pipeline)
(documentation PetroleumProductPipeline EnglishLanguage
"&%PetroleumProductPipeline is the subclass of &%Pipelines that are
used to carry &%PetroleumProducts.")
(=>
(and
(instance ?PIPE PetroleumProductPipeline)
(instance ?MOTION Motion)
(instrument ?MOTION ?PIPE)
(patient ?MOTION ?STUFF))
(instance ?STUFF PetroleumProduct))
;;----------------------------------------------------------------------
;; E. Ports and harbors
(subclass RiverPort PortCity)
(documentation RiverPort EnglishLanguage "&%RiverPort is the subclass of &%PortCity
whose instances are port cities &%Adjacent to a navigable &%River.")
(=>
(instance ?PORT RiverPort)
(exists (?RIVER)
(and
(instance ?RIVER River)
(instance ?RIVER Waterway)
(meetsSpatially ?PORT ?RIVER))))
(=>
(meetsSpatially ?OBJECT1 ?OBJECT2)
(orientation ?OBJECT1 ?OBJECT2 Adjacent))
(subclass SeaPort PortCity)
(documentation SeaPort EnglishLanguage "&%SeaPort is the subclass of &%PortCity
whose instances are port cities on or closely linked to a &%Sea or
&%Ocean.")
(=>
(instance ?PORT SeaPort)
(exists (?SEA)
(and
(or
(instance ?SEA Sea)
(instance ?SEA Ocean))
(or
(orientation ?PORT ?SEA Adjacent)
(orientation ?PORT ?SEA Near)))))
(subclass ContainerPort PortCity)
(relatedInternalConcept ContainerPort ContainerShip)
(subclass DeepDraftPort PortCity)
(=>
(instance ?PORT DeepDraftPort)
(exists (?HARBOR)
(and
(instance ?HARBOR DeepDraftHarbor)
(geographicSubregion ?HARBOR ?PORT))))
(subclass DeepDraftHarbor Harbor)
(documentation DeepDraftHarbor EnglishLanguage "&%DeepDraftHarbor is the subclass
of &%Harbors that have a &%waterDepth sufficient to accommodate
vessels of a &%ladenDraft of 45 feet (13.7 meters) or greater.")
(=>
(instance ?HARBOR DeepDraftHarbor)
(navigableForDraft ?HARBOR (MeasureFn 13.7 Meter)))
(=>
(instance ?HARBOR DeepDraftHarbor)
(navigableForDraft ?HARBOR (MeasureFn 45 FootLength)))
(subclass DeepwaterPort PortFacility)
(documentation DeepwaterPort EnglishLanguage "&%DeepwaterPort is the subclass of
&%PortFacility whose instances meet the criteria defined under 33 U.S.C. section 1502(1) as 'any fixed or floating man-made structures other than
a vessel, or any group of such structures, located beyond the territorial
sea and off the coast of the United States and which are used or intended
for use as a port or terminal for the loading or unloading and further
handling of oil for transportation to any State.... The term includes all associated components and equipment including pipelines, pumping stations, service platforms, mooring buoys, and similar appurtenances to the extent
they are located seaward of the high water mark.'")
(subclass Harbor WaterArea)
(documentation Harbor EnglishLanguage "&%Harbor is the subclass of &%WaterAreas that
provide shelter and anchorage for &%WaterVehicle.")
(subclass Anchorage WaterArea)
(documentation Anchorage EnglishLanguage "&%Anchorage is the subclass of &%WaterAreas
where &%WaterVehicle may anchor with some shelter or safety. Anchorages
may be inside a &%Harbor or offshore.")
(subclass OffshoreAnchorage Anchorage)
(documentation OffshoreAnchorage EnglishLanguage "&%OffshoreAnchorage is the subclass
of &%Anchorages that are located offshore and not within a &%Harbor.")
(=>
(instance ?ANCHOR OffshoreAnchorage)
(not
(exists (?HARBOR)
(and
(instance ?HARBOR Harbor)
(located ?ANCHOR ?HARBOR)))))
(subclass PortFacility GeopoliticalArea)
(documentation PortFacility EnglishLanguage "&%PortFacility is the class of port
complexes, including piers and docking space, moorings, cargo-handling
and other support facilities for marine traffic. Ships are loaded and
unloaded at a &%PortFacility.")
;; FUNCTION:
(instance PortFacilityFn UnaryFunction)
(domain PortFacilityFn 1 PortCity)
(range PortFacilityFn PortFacility)
(documentation PortFacilityFn EnglishLanguage "(&%PortFacilityFn ?CITY) denotes the
&%PortFacility, including mooring areas, docking space, and on-land
support facilities for marine traffic, of the &%Port ?CITY, considered
as a whole.")
;;----------------------------------------------------------------------
;; F. Merchant marine
(subclass MerchantMarine Collection)
(documentation MerchantMarine EnglishLanguage "&%MerchantMarine is a class of
&%Collections of &%Ships, each collection belonging to a particular
&%Nation or &%GeopoliticalArea, in whose &%ShipRegister the member
ships are enrolled. For example, the merchant marine of &%France.")
;; FUNCTION:
(instance MerchantMarineFn UnaryFunction)
(domain MerchantMarineFn 1 GeopoliticalArea)
(range MerchantMarineFn MerchantMarine)
(documentation MerchantMarineFn EnglishLanguage "(&%MerchantMarineFn ?AREA) denotes
the &%Collection of all commercial ships registered in the
&%ShipRegister of the &%GeopoliticalArea ?AREA.")
(=>
(and
(instance ?AREA GeopoliticalArea)
(member ?SHIP (MerchantMarineFn ?AREA)))
(instance ?SHIP MerchantMarineShip))
(=>
(and
(instance ?AREA GeopoliticalArea)
(instance (MerchantMarineFn ?AREA) MerchantMarine))
(possesses ?AREA (MerchantMarineFn ?AREA)))
(instance fleetGrossRegisteredTonnage BinaryPredicate)
(domain fleetGrossRegisteredTonnage 1 Collection)
(domain fleetGrossRegisteredTonnage 2 PhysicalQuantity)
(subrelation fleetGrossRegisteredTonnage measure)
(documentation fleetGrossRegisteredTonnage EnglishLanguage
"(&%fleetGrossRegisteredTonnage ?FLEET ?AMOUNT) means that the
&%Collection of &%Ships ?FLEET has a total carrying capacity of ?AMOUNT
in &%RegistryTons. This is the total &%vesselGrossRegisteredTonnage of
all the vessels combined. Gross Registered Tonnage, or GRT, is the
capacity of a vessel calculated on an equivalence of 100 cubic feet of
sheltered area per ton.")
(=>
(and
(instance ?UNIT UnitOfMass)
(fleetGrossRegisteredTonnage ?FLEET (MeasureFn ?NUMBER ?UNIT)))
(equal ?UNIT RegistryTon))
(instance fleetDeadWeightTonnage BinaryPredicate)
(domain fleetDeadWeightTonnage 1 Collection)
(domain fleetDeadWeightTonnage 2 MassMeasure)
(subrelation fleetDeadWeightTonnage measure)
(documentation fleetDeadWeightTonnage EnglishLanguage
"(&%fleetDeadWeightTonnage ?FLEET ?AMOUNT) means that the &%Collection
of &%Ships ?FLEET has a total carrying capacity of ?AMOUNT in &%LongTons.
This is the total &%vesselDeadWeightTonnage of all the vessels combined.
Dead Weight Tonnage, or DWT, is the weight of cargo plus stores that a
vessel can carry when immersed to the proper load line.")
(=>
(and
(instance ?UNIT UnitOfMass)
(fleetDeadWeightTonnage ?FLEET (MeasureFn ?NUMBER ?UNIT)))
(equal ?UNIT LongTon))
(subclass MerchantMarineShip Ship)
(names "merchant ship" MerchantMarineShip)
(names "commercial vessel" MerchantMarineShip)
(documentation MerchantMarineShip EnglishLanguage "&%MerchantMarineShip is the class
of &%Ships that carry goods or passengers in exchange for payment.
This excludes military ships, as well as working ships such as tugboats
and fishing vessels. Merchant Marine ships belong to the
&%MerchantMarine of some country and are registered in the related
&%ShipRegister.")
(=>
(and
(instance ?SHIP MerchantMarineShip)
(measure ?SHIP (MeasureFn ?GRT RegistryTon)))
(greaterThanOrEqualTo ?GRT 1000))
(instance cargoType BinaryPredicate)
(domain cargoType 1 TransportationDevice)
(domainSubclass cargoType 2 Object)
(documentation cargoType EnglishLanguage "(&%cargoType ?DEVICE ?TYPE) means that the
&%TransportationDevice ?DEVICE typically carries cargo of the kind
?TYPE.")
;;-----------------------------------
;; If a ship's registration shows that its flag of registry is <place>,
;; then a Proposition to that effect is in the registry of that <place> as well.
(instance marineInventory BinaryPredicate)
(domain marineInventory 1 MerchantMarine)
(domain marineInventory 2 ShipRegister)
(documentation marineInventory EnglishLanguage "A relation between a &%MerchantMarine
and a &%ShipRegister which is a member of that &%MerchantMarine")
(instance fOCShipsByOrigin TernaryPredicate)
(domain fOCShipsByOrigin 1 MerchantMarine)
(domain fOCShipsByOrigin 2 GeopoliticalArea)
(domain fOCShipsByOrigin 3 NonnegativeInteger)
(documentation fOCShipsByOrigin EnglishLanguage
"(&%fOCShipsByOrigin ?MM ?AREA ?COUNT) means that the
&%MerchantMarine ?MM has ?COUNT number of ships from the
&%GeopoliticalArea ?AREA in its &%ShipRegister, using it as
a &%FlagOfConvenience, although the owner of the ships is in
?AREA.")
(=>
(and
(fOCShipsByOrigin ?MM ?HOME ?COUNT)
(equal ?MM (MerchantMarineFn ?AREA)))
(not (equal ?HOME ?AREA)))
(=>
(and
(fOCShipsByOrigin ?MM ?HOME ?COUNT)
(greaterThan ?COUNT 0)
(marineInventory ?MM ?REGISTER))
(instance ?REGISTER FlagOfConvenienceRegister))
(instance flagState BinaryPredicate)
(names "flag state" flagState)
(names "flag of registry" flagState)
(domain flagState 1 WaterVehicle)
(domain flagState 2 GeopoliticalArea)
(documentation flagState EnglishLanguage "(&%flagState ?SHIP ?AREA) means that
the &%Ship ?SHIP is enrolled in the &%ShipRegister of the
&%GeopoliticalArea ?AREA and is subject to its maritime laws,
regulations for operation of the ship, and rules of taxation.")
(subclass ShipRegistration ContentBearingObject)
(names "ship registration" ShipRegistration)
(documentation ShipRegistration EnglishLanguage "&%ShipRegistration is the official
document containing information about the ownership, size, and
flag state (flag of registry) of an individual &%Ship, as registered
in the &%ShipRegister maintained by the maritime authorities of a
particular &%Nation or &%OverseasArea of a nation. A ship flies the
flag of its registered nation or area, and the ship is subject to the
maritime regulations and rules of taxation of its &%flagState.")
(=>
(and
(instance ?REGISTRATION ShipRegistration)
(instance ?SHIP Ship)
(possesses ?SHIP ?REGISTRATION)
(instance ?AREA GeopoliticalArea)
(flagState ?SHIP ?AREA))
(subsumesContentInstance (ShipRegisterFn ?AREA) ?REGISTRATION))
(subclass ShipRegister ContentBearingObject)
(documentation ShipRegister EnglishLanguage "A &%ShipRegister is a record of each &%Ship
and owner registered with the maritime authorities of a country or
possession, colony, or territory of a country. Ships on the
&%ShipRegister of a given region fly the flag of that region and are
subject to its maritime regulations and rules of taxation.")
(=>
(instance ?MM (MerchantMarineFn ?AREA))
(exists (?REGISTER)
(and
(instance ?REGISTER ShipRegister)
(possesses ?AREA ?REGISTER)
(marineInventory ?MM ?REGISTER))))
(subclass NationalShipRegister ShipRegister)
(documentation NationalShipRegister EnglishLanguage "A &%NationalShipRegister
is a record of the &%Ships that are officially registered with
a particular &%Nation, including their tonnage and ownership.")
(=>
(and
(instance ?NATIONAL NationalShipRegister)
(possesses ?AREA ?NATIONAL))
(instance ?AREA Nation))
(instance ShipRegisterFn UnaryFunction)
(domain ShipRegisterFn 1 GeopoliticalArea)
(range ShipRegisterFn ShipRegister)
(documentation ShipRegisterFn EnglishLanguage "(&%ShipRegisterFn ?AREA)
denotes the &%ShipRegister of the &%Ships that fly the flag of
the &%GeopoliticalArea ?AREA.")
(=>
(and
(instance ?AREA GeopoliticalArea)
(instance (ShipRegisterFn ?AREA) ShipRegister))
(possesses ?AREA (ShipRegisterFn ?AREA)))
(=>
(and
(instance (ShipRegisterFn ?AREA) ShipRegister)
(instance ?AREA Nation))
(instance (ShipRegisterFn ?AREA) NationalShipRegister))
(=>
(and
(instance (ShipRegisterFn ?AREA) ShipRegister)
(instance ?AREA OverseasArea))
(instance (ShipRegisterFn ?AREA) OffshoreShipRegister))
(=>
(and
(instance ?SHIP Ship)
(instance ?AREA GeopoliticalArea)
(member ?SHIP (MerchantMarineFn ?AREA)))
(exists (?REGISTRATION)
(and
(instance ?REGISTRATION ShipRegistration)
(possesses ?SHIP ?REGISTRATION)
(subsumesContentInstance (ShipRegisterFn ?AREA) ?REGISTRATION))))
(subclass InternalShipRegister ShipRegister)
(documentation InternalShipRegister EnglishLanguage "&%InternalShipRegister is
a subset of a &%NationalShipRegister. Ships on an internal
register fly the same flag as on the national register but are
subject to different taxation and crewing rules, which are
typically more lenient. An internal register may function
primarily as a &%FlagOfConvenienceRegister.")
(=>
(and
(instance ?INTERNAL InternalShipRegister)
(possesses ?AREA ?INTERNAL))
(instance ?AREA Nation))
(subclass OffshoreShipRegister ShipRegister)
(names "captive register" OffshoreShipRegister)
(names "offshore ship register" OffshoreShipRegister)
(documentation OffshoreShipRegister EnglishLanguage "&%OffshoreShipRegister is
the class of &%ShipRegisters maintained by a colony, territory, or
possession (&%OffshoreArea) of a nation. Typically such a register has more lenient maritime
regulations with respect to taxation and crewing of ships than does
the national register associated with the country of which the
offshore area is a dependency.")
(=>
(and
(instance ?OFFSHORE OffshoreShipRegister)
(possesses ?AREA ?OFFSHORE))
(instance ?AREA Nation))
(subclass FlagOfConvenienceRegister ShipRegister)
(names "flag of convenience" FlagOfConvenienceRegister)
(names "open register" FlagOfConvenienceRegister)
(documentation FlagOfConvenienceRegister EnglishLanguage
"&%FlagOfConvenienceRegister is the subclass of &%ShipRegisters
in which most of the registered ships are owned outside of the
&%GeopoliticalArea to which the registry belongs.
&%InternalShipRegisters and &%OffshoreShipRegisters both may act as
&%FlagOfConvenienceRegisters, if permitted by the maritime
regulations of the registry owner.")
;;----------------------------------------------------------------------
;; G. Airports
(instance totalFacilityTypeInArea TernaryPredicate)
(domain totalFacilityTypeInArea 1 GeographicArea)
(domain totalFacilityTypeInArea 2 Class)
(domain totalFacilityTypeInArea 3 NonnegativeInteger)
(documentation totalFacilityTypeInArea EnglishLanguage
"(&%totalFacilityTypeInArea ?AREA ?TYPE ?COUNT) means that in the
&%GeographicArea ?AREA there a total of ?COUNT number of facilities
of type ?TYPE.")
(<=>
(totalFacilityTypeInArea ?AREA ?TYPE ?COUNT)
(cardinality
(KappaFn ?ITEM
(and
(instance ?ITEM ?TYPE)
(located ?ITEM ?AREA)))
?COUNT))
(=>
(totalFacilityTypeInArea ?AREA ?TYPE ?COUNT)
(exists (?ITEM)
(and
(instance ?ITEM ?TYPE)
(located ?ITEM ?AREA))))
(=>
(and
(totalFacilityTypeInArea ?AREA ?TYPE ?COUNT)
(equal ?COUNT 0))
(not
(exists (?ITEM)
(and
(instance ?ITEM ?TYPE)
(located ?ITEM ?AREA)))))
(subclass AirTransitway Transitway)
(documentation AirTransitway EnglishLanguage "The subclass of &%Transitways that are through
the &%EarthsAtmosphere.")
(=>
(instance ?WAY AirTransitway)
(hasPurpose ?WAY
(exists (?TRANSPORT)
(and
(instance ?TRANSPORT Transportation)
(path ?TRANSPORT ?WAY)
(partlyLocated ?WAY EarthsAtmosphere)))))
(=>
(and
(instance ?T AirTransportation)
(path ?T ?P))
(instance ?P AirTransitway))
(subclass Airport TransitTerminal)
(subclass Airport AirTransitway)
(subclass Airport LandTransitway)
(documentation Airport EnglishLanguage "&%Airport is the subclass of &%TransitTerminals
for &%Airplanes (fixed-wing &%Aircraft).")
;;----------------------------------------------------------------------
;; H. Airports - with paved runways
;; Use &%totalFacilityTypeInArea (defined above)
;; with (ExtensionFn AirportWithPavedRunway).
(<=>
(totalFacilityTypeInArea ?AREA (ExtensionFn AirportWithPavedRunway) ?COUNT)
(cardinality
(KappaFn ?AIRPORT
(exists (?RUNWAY)
(and
(instance ?AIRPORT Airport)
(instance ?RUNWAY PavedRunway)
(part ?RUNWAY ?AIRPORT)
(located ?AIRPORT ?AREA))))
?COUNT))
(=>
(totalFacilityTypeInArea ?AREA (ExtensionFn AirportWithPavedRunway) ?COUNT)
(exists (?AIRPORT ?RUNWAY)
(and
(instance ?AIRPORT Airport)
(instance ?RUNWAY PavedRunway)
(part ?RUNWAY ?AIRPORT)
(located ?AIRPORT ?AREA))))
(subclass Runway LandTransitway)
(documentation Runway EnglishLanguage "&%Runway is the class of &%Transitways that are
used for the takeoff and landing of &%Airplanes. &%Runways are
&%Transitways for an intermodal transit, which begins with a land transit
and ends with air transit, or vice versa. The &%Airspace immediately
above (and adjacent to) a &%Runway is an &%AirTransitway.")
(=>
(instance ?RUNWAY Runway)
(exists (?LENGTH)
(and
(instance ?LENGTH LengthMeasure)
(length ?RUNWAY ?LENGTH))))
(subclass PavedRunway Runway)
(documentation PavedRunway EnglishLanguage "&%PavedRunway is the subclass of &%Runways
that are surfaced with concrete or asphalt.")
(=>
(and
(instance ?RUNWAY PavedRunway)
(surface ?SURFACE ?RUNWAY))
(or
(instance ?SURFACE Asphalt)
(instance ?SURFACE Concrete)))
(=>
(and
(instance ?RUNWAY Runway)
(surface ?SURFACE ?RUNWAY)
(instance ?SURFACE Asphalt))
(instance ?RUNWAY PavedRunway))
(=>
(and
(instance ?RUNWAY Runway)
(surface ?SURFACE ?RUNWAY)
(instance ?SURFACE Concrete))
(instance ?RUNWAY PavedRunway))
(subclass AirportClassification RelationalAttribute)
(documentation AirportClassification EnglishLanguage "&%AirportClassification
is a class of &%Attributes for representing systems that categorize
&%Airports according to some criteria. There are several such systems,
including the International Civil Aviation Organization categories A to
E, based on runway lengths, the Federal Aviation Administration system
associated with airport functions, and the airport categorization by
runway length used in the CIA World Fact Book.")
(subclass AirportByRunwaySurface AirportClassification)
(documentation AirportByRunwaySurface EnglishLanguage "&%AirportByRunwaySurface is a
subclass of &%AirportClassification attributes used to describe an
airport according to the surface type of its longest runway.")
(instance AirportWithPavedRunway AirportByRunwaySurface)
(documentation AirportWithPavedRunway EnglishLanguage "&%AirportWithPavedRunway is an
&%AirportClassification attribute used to describe an airport whose
longest runway is a &%PavedRunway.")
(=>
(and
(instance ?AIRPORT Airport)
(attribute ?AIRPORT AirportWithPavedRunway))
(exists (?RUNWAY)
(and
(instance ?RUNWAY PavedRunway)
(part ?RUNWAY ?AIRPORT))))
(instance AirportWithUnpavedRunway AirportByRunwaySurface)
(documentation AirportWithUnpavedRunway EnglishLanguage "&%AirportWithUnpavedRunway is
an &%AirportClassification attribute used to describe an airport whose
longest runway is an &%UnpavedRunway.")
(=>
(and
(instance ?AIRPORT Airport)
(attribute ?AIRPORT AirportWithUnpavedRunway))
(exists (?RUNWAY)
(and
(instance ?RUNWAY UnpavedRunway)
(part ?RUNWAY ?AIRPORT))))
(subclass CIAAirportLengthClassification AirportClassification)
(documentation CIAAirportLengthClassification EnglishLanguage
"&%CIAAirportLengthClassification is a class of &%Attributes used to
characterize &%Airports according to the length of their longest
usable runway.")
(instance VeryShortRunwayAirport CIAAirportLengthClassification)
(documentation VeryShortRunwayAirport EnglishLanguage "&%VeryShortRunwayAirport is a CIA
category for &%Airports whose longest runway is less than 914 meters
long.")
(=>
(and
(instance ?AIRPORT Airport)
(attribute ?AIRPORT VeryShortRunwayAirport))
(exists (?RUNWAY ?LENGTH)
(and
(instance ?RUNWAY Runway)
(part ?RUNWAY ?AIRPORT)
(length ?RUNWAY ?LENGTH)
(lessThan ?LENGTH (MeasureFn 914 Meter)))))
(instance ShortRunwayAirport CIAAirportLengthClassification)
(documentation ShortRunwayAirport EnglishLanguage "&%ShortRunwayAirport is a CIA
category for &%Airports whose longest runway has a length between 914
meters and 1523 meters, inclusive.")
(=>
(and
(instance ?AIRPORT Airport)
(attribute ?AIRPORT ShortRunwayAirport))
(exists (?RUNWAY ?LENGTH)
(and
(instance ?RUNWAY Runway)
(part ?RUNWAY ?AIRPORT)
(length ?RUNWAY ?LENGTH)
(or
(greaterThanOrEqualTo ?LENGTH (MeasureFn 914 Meter))
(lessThanOrEqualTo ?LENGTH (MeasureFn 1523 Meter))))))
(instance MediumLengthRunwayAirport CIAAirportLengthClassification)
(documentation MediumLengthRunwayAirport EnglishLanguage "&%MediumLengthRunwayAirport is a CIA
category for &%Airports whose longest runway has a length between
1,524 meters and 2,437 meters, inclusive.")
(=>
(and
(instance ?AIRPORT Airport)
(attribute ?AIRPORT MediumLengthRunwayAirport))
(exists (?RUNWAY ?LENGTH)
(and
(instance ?RUNWAY Runway)
(part ?RUNWAY ?AIRPORT)
(length ?RUNWAY ?LENGTH)
(or
(greaterThanOrEqualTo ?LENGTH (MeasureFn 1524 Meter))
(lessThanOrEqualTo ?LENGTH (MeasureFn 2437 Meter))))))
(instance LongRunwayAirport CIAAirportLengthClassification)
(documentation LongRunwayAirport EnglishLanguage "&%LongRunwayAirport is a CIA
category for &%Airports whose longest runway has a length between
2,438 meters and 3,047 meters, inclusive.")
(=>
(and
(instance ?AIRPORT Airport)
(attribute ?AIRPORT LongRunwayAirport))
(exists (?RUNWAY ?LENGTH)
(and
(instance ?RUNWAY Runway)
(part ?RUNWAY ?AIRPORT)
(length ?RUNWAY ?LENGTH)
(or
(greaterThanOrEqualTo ?LENGTH (MeasureFn 2438 Meter))
(lessThanOrEqualTo ?LENGTH (MeasureFn 3047 Meter))))))
(instance VeryLongRunwayAirport CIAAirportLengthClassification)
(documentation VeryLongRunwayAirport EnglishLanguage "&%VeryLongRunwayAirport is a CIA
category for &%Airports whose longest runway has a length greater
than 3,047 meters.")
(=>
(and
(instance ?AIRPORT Airport)
(attribute ?AIRPORT VeryLongRunwayAirport))
(exists (?RUNWAY ?LENGTH)
(and
(instance ?RUNWAY Runway)
(part ?RUNWAY ?AIRPORT)
(length ?RUNWAY ?LENGTH)
(greaterThan ?LENGTH (MeasureFn 3047 Meter)))))
;;----------------------------------------------------------------------
;; I. Airports - with unpaved runways
;; Use &%totalFacilityTypeInArea (defined above)
;; with (ExtensionFn AirportWithUnpavedRunway)
(=>
(and
(totalFacilityTypeInArea ?AREA (ExtensionFn AirportWithUnpavedRunway) ?COUNT)
(greaterThan ?COUNT 0))
(exists (?AIRPORT ?RUNWAY)
(and
(instance ?AIRPORT Airport)
(instance ?RUNWAY UnpavedRunway)
(part ?RUNWAY ?AIRPORT)
(located ?AIRPORT ?AREA))))
(subclass UnpavedRunway Runway)
(documentation UnpavedRunway EnglishLanguage "&%UnpavedRunways include &%Runways with
grass, dirt, sand, or gravel surfaces. Contrast with &%PavedRunway.")
(disjoint PavedRunway UnpavedRunway)
;;----------------------------------------------------------------------
;; J. Heliports
;; 5 (2002)
;; Use &%totalFacilityTypeInArea (defined above)
(subclass Heliport TransitTerminal)
(names "heliport" Heliport)
(names "helipad" Heliport)
(documentation Heliport EnglishLanguage "&%Heliport is a &%TransitTerminal designed
for the takeoff and landing of &%Helicopters.")
(=>
(instance ?HELO Heliport)
(trafficableForTrafficType ?HELO Helicopter))
;;----------------------------------------------------------------------
;; K. Transportation - note [for comments on individual countries]
;;========================================================================
;; II. General Transportation Concepts
;; A. Translocation
;; B. Transitways
;; 1. Land Transitways
;; a. Roadways
;; b. Railways
;; 2. Water Transitways
;; 3. Air Transitways
;; 4. Pipelines
;; C. Vehicles
;; 1. Land Vehicles
;; a. Road Vehicles
;; b. Rail Vehicles
;; c. Other
;; 2. Water Vehicles
;; 3. Air Vehicles
;; D. Trafficability
;; 1. Traffic Compatibility
;; 2. Transitway State
;; E. Transit Systems and Routes
;; 1. Physical Systems
;; 2. Transit Systems
;; 3. Transit Terminals
;; 4. Transitway Junctions
;; 5. Transit Routes
;; F. Trips
;; G. Transitway Capacity
;; H. Transitway Obstacles
;; I. Traffic Regulation
;; 1. Transit Authority
;; 2. Transit Control Systems
;; 3. Transit Control Devices
;; 4. Tolls or Usage Fees
;; J. Transportation Businesses
;; 1. Business Types
;; 2. Personnel
;;-------------------------------------------------------------------------
;; A. Translocation
(instance TransportationFn UnaryFunction)
(domainSubclass TransportationFn 1 TransportationDevice)
(rangeSubclass TransportationFn Transportation)
(documentation TransportationFn EnglishLanguage
"(&%TransportationFn ?TYPE) denotes the subclass of &%Transportation
events in which a &%TransportationDevice of ?TYPE is the vehicle.")
(=>
(and
(subclass ?TYPE TransportationDevice)
(subclass (TransportationFn ?TYPE) Transportation)
(instance ?TRIP (TransportationFn ?TYPE)))
(exists (?VEHICLE)
(and
(instance ?VEHICLE ?TYPE)
(instrument ?TRIP ?VEHICLE))))
(instance TripFn UnaryFunction)
(domain TripFn 1 Vehicle)
(rangeSubclass TripFn Transportation)
(documentation TripFn EnglishLanguage
"(&%TripFn ?VEHICLE) denotes the subclass of &%Transportation
events in which a particular &%TransportationDevice ?VEHICLE is the
vehicle. Contrast this function with &%TransportationFn, which is
used to denote transportation events by a specific kind of vehicle.")
(=>
(and
(instance ?VEHICLE TransportationDevice)
(instance ?TRIP (TripFn ?VEHICLE)))
(instrument ?TRIP ?VEHICLE))
;;-------------------------------------------------------------------------
;; B. Transitways
(instance TransitFn UnaryFunction)
(domain TransitFn 1 Transitway)
(rangeSubclass TransitFn Translocation)
(documentation TransitFn EnglishLanguage "(&%TransitFn ?WAY) denotes the class of
&%Translocations that consist of travelling along the &%Transitway
?WAY.")
(=>
(and
(instance ?GOING (TransitFn ?WAY))
(instance ?WAY Transitway))
(path ?GOING ?WAY))
;; KJN: Moving this to Merge.kif
;;(subrelation path partlyLocated)
;; 1. Land Transitways
;; a. Roadways
;; KJN: Moving to MILO to remove dependencies.
;;(instance Paved Attribute)
;;(instance Unpaved Attribute)
(subclass Bridge LandTransitway)
(subclass Bridge StationaryArtifact)
(documentation Bridge EnglishLanguage "&%Bridge is the subclass of &%LandTransitways
that are artifacts used for crossing water or air-filled gaps that
could not be transited over a natural surface.")
(subclass FixedBridge Bridge)
(subclass FixedBridge StationaryArtifact)
(subclass MovableBridge Bridge)
(subclass Drawbridge MovableBridge) ;; part or all of it can move
(subclass PontoonBridge MovableBridge) ;; in fact, portable
(subclass Tunnel LandTransitway)
(subclass Tunnel StationaryArtifact)
(documentation Tunnel EnglishLanguage "&%Tunnel is a subclass of &%Transitways that
consist of a lengthwise enclosed &%Hole that allows for transit
underground, as through mountains, below a body of water, or beneath a
city.")
(subclass SecondaryHighway Roadway)
(subclass Street Roadway)
;; KJN: Moving to MILO
;;(subclass Road Roadway)
(subclass Lane Roadway) ;; one-lane auto-passable roadway
(subclass Trail LandTransitway) ;; walkable, skateable, bikeable tracks (snowmobiles, skis?)
;; (1) b. Railways
;; Railway is defined in Part I.
; CIA factbook gauge types for Railways:
;;----------------------------------
;; 2. Water Transitways
;; Waterway is defined in Part I, above
(instance NorthwestPassage Waterway)
(names "Northwest Passage" NorthwestPassage)
(documentation NorthwestPassage EnglishLanguage "&%NorthwestPassage represents the
seasonal waterway in the &%ArcticOcean adjacent to &%Canada and the
&%UnitedStates.")
(geographicSubregion NorthwestPassage ArcticOcean)
(geographicSubregion NorthwestPassage WesternHemisphere)
(instance NorthernSeaRoute Waterway)
(names "Northern Sea Route" NorthernSeaRoute)
(documentation NorthernSeaRoute EnglishLanguage "&%NorthernSeaRoute represents the
seasonal waterway in the &%ArcticOcean adjacent to &%Russia and
&%Norway.")
(geographicSubregion NorthernSeaRoute ArcticOcean)
(geographicSubregion NorthernSeaRoute EasternHemisphere)
(subclass ShippingLane Waterway)
(subclass ShippingChannel Waterway)
(subclass SeaLane Waterway)
;; Only navigable Rivers are Waterways:
(=>
(and
(instance ?WATER River)
(trafficableForTrafficType ?WATER ?TYPE)
(subclass ?TYPE WaterVehicle))
(instance ?RIVER Waterway))
(subclass Channel Waterway)
(subclass CanalLock Waterway)
(subclass CanalLock StationaryArtifact)
(subclass Harbor Waterway) ;; cf. &%PortCity
;; 3. Air Transitways
; Airport defined in Part I, above
;; 4. Pipelines
;; Pipeline is defined in Part I, above
;;-------------------------------------------------------------------------
;; C. Vehicles
(instance powerComponent BinaryPredicate)
(instance powerComponent AsymmetricRelation)
(instance powerComponent IrreflexiveRelation)
(domain powerComponent 1 Device)
(domainSubclass powerComponent 2 Artifact)
(subrelation powerComponent component)
(documentation powerComponent EnglishLanguage "(&%powerComponent ?GENERATOR ?THING)
means that the &%Device ?THING is the power source for the &%Artifact
?THING.")
(instance topSpeed BinaryPredicate)
(domain topSpeed 1 Vehicle)
(domain topSpeed 2 FunctionQuantity)
(documentation topSpeed EnglishLanguage "The maximum speed under normal conditions
for a vehicle. For a &%RoadVehicle this would be on level ground, no headwind or
tailwind, 70 degrees F, standard recommended fuel etc. For an Aircraft this would
mean level flight out of ground effect. Because of the number of external factors
on top speed, all that can be said formally is that higher speeds are unlikely.")
(=>
(and
(topSpeed ?V ?Q)
(equal ?FASTPROB
(ProbabilityFn
(measure ?V
(SpeedFn ?L1 ?T1))))
(equal ?SLOWPROB
(ProbabilityFn
(measure ?V
(SpeedFn ?L2 ?T2))))
(greaterThan
(SpeedFn ?L1 ?T1)
(SpeedFn ?L2 ?T2)))
(greaterThan ?SLOWPROB ?FASTPROB))
;; KJN: Removing these for now per the Product issue
;;(subclass TransportationEquipment ManufacturedProduct)
;;(subclass TransportationDevice TransportationEquipment)
(subclass PassengerVehicle Vehicle)
(documentation PassengerVehicle EnglishLanguage "A &%Vehicle that is designed to
carry &%Humans. Note that &%Vehicles that are not designed to
carry people may still do so. For example, a boxcar might still
transport homeless people, but was not built to do so.")
(=>
(and
(instance ?VEHICLE PassengerVehicle)
(instance ?HUMAN Human))
(capability Transportation patient ?HUMAN))
(subclass CargoVehicle Vehicle)
(documentation CargoVehicle EnglishLanguage "A &%Vehicle that is designed to
carry &%Objects. Note that &%Vehicles that are primarily designed to carry
people rather than cargo may still carry cargo. For example, a passenger sedan
might be capable of carrying lumber strapped to the roof. For this
reason, &%PassengerVehicle and &%CargoVehicle are not disjoint.")
(=>
(and
(instance ?VEHICLE CargoVehicle)
(instance ?OB
(KappaFn ?O
(not
(instance ?O Human)))))
(capability Transportation patient ?OB))
;; misc. motor or battery powered, e.g., forklift, tractor, lawnmower,
;; snowmobile, various construction equipment such as bulldozer, backhoe.
;; Some of these are devices for moving stuff around, but moving their
;; riders from one place to another is not the main point.
(subclass UnpoweredVehicle Vehicle)
(documentation UnpoweredVehicle EnglishLanguage "A &%Vehicle that lacks a &%powerComponent.
It coasts like a glider or skateboard, thus deriving its power from the
potential energy of gravity, or by the power of its agent, as in a bicycle.")
(=>
(instance ?UV UnpoweredVehicle)
(not
(exists (?P)
(powerComponent ?P ?UV))))
(subclass PoweredVehicle Vehicle)
(documentation PoweredVehicle EnglishLanguage "A &%Vehicle that has a &%powerComponent.
Note that &%PoweredVehicles include those vehicles that have a &%powerComponent
where the user can and does often choose not to use it, such as a moped with pedals.")
(disjoint PoweredVehicle UnpoweredVehicle)
(=>
(instance ?UV PoweredVehicle)
(exists (?P)
(powerComponent ?P ?UV)))
(subclass SelfPoweredRoadVehicle RoadVehicle)
(subclass SelfPoweredRoadVehicle PoweredVehicle)
(documentation SelfPoweredRoadVehicle EnglishLanguage "&%SelfPoweredRoadVehicle is the
class of &%RoadVehicles that are also &%PoweredVehicles.
&%SelfPoweredRoadVehicle covers motorcycles, semi-trailers, RVs, etc.,
as well as Automobiles. This class includes vehicles powered by
electricity, gasoline, diesel, and other fuels.")
(subclass AgentPoweredVehicle Vehicle)
(documentation AgentPoweredVehicle EnglishLanguage "A &%Vehicle which is powered by
one or more of its passengers or driver, for example, a &%Bicycle.")
; misc. user-powered, skateboard, rollerskates, rollerblades, etc.
;;-------------------------------------
;; 1. Land Vehicles
;; (1) a. Road Vehicles
(subclass Trailer RoadVehicle) ;; also a CargoContainer
(subclass Trailer UnpoweredVehicle)
(disjoint Trailer PoweredVehicle)
(disjoint Trailer AgentPoweredVehicle)
(documentation Trailer EnglishLanguage "Any &%RoadVehicle that is also an &%UnpoweredVehicle,
and intended to be towed by a &%PoweredVehicle.")
(subclass TractorTrailer RoadVehicle)
(documentation TractorTrailer EnglishLanguage "&%TractorTrailer is the subclass of
&%RoadVehicles that are truck tractor- truck trailer combinations.")
(=>
(instance ?TT TractorTrailer)
(exists (?TRAC ?TRAIL)
(and
(instance ?TRAC TruckTractor)
(instance ?TRAIL TruckTrailer)
(part ?TRAC ?TT)
(part ?TRAIL ?TT)
(connected ?TRAC ?TRAIL))))
(subclass TruckTrailer Wagon)
(documentation TruckTrailer EnglishLanguage "&%TruckTrailer is the subclass of &%Wagons
that are towed by &%TruckTractors. These are the trailers used in
tractor-trailer (semi-trailer) rigs.")
(subclass Wagon LandVehicle)
(subclass Wagon UnpoweredVehicle)
(documentation Wagon EnglishLanguage "A &%Landcraft that is not self-propelled, but must be
pulled by either an &%Animal or a self-propelled &%Vehicle to move along the
ground.")
(=>
(and
(instance ?W Wagon)
(instance ?T Transportation)
(instrument ?T ?W))
(exists (?P)
(and
(instance ?T Pulling)
(agent ?T ?P)
(patient ?T ?W)
(or
(instance ?P DomesticAnimal)
(instance ?P Vehicle)))))
(subclass StageCoach Wagon)
(documentation StageCoach EnglishLanguage "A &%Wagon that is pulled by &%Horses and whose purpose
was to transport Humans and their luggage from one &%City to the next, especially
in areas which did not have an established transportation system, e.g. the old west.")
(subclass LightTruck Truck)
;; KJN: Redundant. Motorcycle is already defined as SelfPoweredRoadVehicle,
;; which is a RoadVehicle
;;(subclass Motorcycle RoadVehicle) ;; except ATV motocross bikes
(subclass Motorcycle SelfPoweredRoadVehicle)
(documentation Motorcycle EnglishLanguage "Motorcycle is the subclass of &%RoadVehicles
that have two wheels one behind the other in the frame, upon which the rider
sits on a seat above the engine.")
(=>
(instance ?M Motorcycle)
(equipmentCount ?M VehicleWheel 2))
(subclass MotorScooter RoadVehicle)
(subclass EmergencyVehicle PoweredVehicle)
(documentation EmergencyVehicle EnglishLanguage "EmergencyVehicle is the subclass of
Vehicles that are used for special-purpose emergency response.")
(subclass EmergencyRoadVehicle EmergencyVehicle)
(subclass EmergencyRoadVehicle RoadVehicle)
(subclass EmergencyRoadVehicle PoweredVehicle)
(documentation EmergencyRoadVehicle EnglishLanguage "EmergencyRoadVehicle is the
subclass of EmergencyVehicle that includes RoadVehicles designed
for special use in emergencies, e.g., Ambulances, FireEngines.")
(subclass FireEngine EmergencyRoadVehicle)
(documentation FireEngine EnglishLanguage "FireEngine is the subclass of
EmergencyRoadVehicles that represents the various vehicles
used by a fire department in fighting fires.")
(subclass Ambulance EmergencyRoadVehicle)
(documentation Ambulance EnglishLanguage "&%Ambulance is the subclass of
&%EmergencyRoadVehicles that represents ambulances.")
(=>
(instance ?A Ambulance)
(hasPurpose ?A
(exists (?P ?T)
(and
(instance ?P Human)
(or
(attribute ?P DiseaseOrSyndrome)
(exists (?I)
(and
(instance ?I Injuring)
(experiencer ?I ?H)
(before ?I ?T))))
(instance ?T Transportation)
(instrument ?T ?A)
(patient ?T ?H)))))
(subclass Cycle LandVehicle)
(subclass Cycle AgentPoweredVehicle)
(documentation Cycle EnglishLanguage "Cycle is a class of wheeled, pedal-driven
UserPoweredVehicles that are designed to be ridden on roads or trails.")
(documentation Bicycle EnglishLanguage "Bicycle is a class of two-wheeled,
&%UserPoweredVehicles.")
(subclass Bicycle Cycle)
(subclass Cycling LandTransportation)
(documentation Cycling EnglishLanguage "&%Cycling is a type of &%LandTransportation
that uses a &%Cycle as an &%instrument")
(termFormat EnglishLanguage Cycling "cycling")
(=>
(instance ?CYC Cycling)
(exists (?CYCLE)
(and
(instance ?CYCLE Cycle)
(instrument ?CYC ?CYCLE))))
(subclass Scooter LandVehicle)
(subclass Scooter AgentPoweredVehicle)
(subclass Automobile SelfPoweredRoadVehicle)
(subclass Automobile PassengerVehicle)
(documentation Automobile EnglishLanguage "Automobile is a subclass of
&%SelfPoweredRoadVehicles including passenger cars, family vans, light
trucks, and sport utility vehicles. In general, this class covers
four-wheeled passenger road vehicles.")
(=>
(instance ?A Automobile)
(equipmentCount ?A VehicleWheel 4))
(=>
(instance ?A Automobile)
(equipmentCount ?A Axle 2))
(subclass Taxicab Automobile)
(documentation Taxicab EnglishLanguage "An &%Automobile which is used to transport people
on short trips in exchange for a fare.")
(subclass Bus SelfPoweredRoadVehicle)
(subclass Bus PassengerVehicle)
(documentation Bus EnglishLanguage "Bus is the subclass of &%SelfPoweredRoadVehicles
that can transport large numbers of passengers (i.e., dozens) at one
time. It can be distinguished from a van which is
designed to carry less than a dozen people.")
(=>
(instance ?B Bus)
(hasPurpose ?B
(exists (?C ?T ?N)
(and
(instance ?C Collection)
(instance ?T Transportation)
(memberCount ?C ?N)
(greaterThan ?N 11)
(=>
(member ?P ?C)
(patient ?T ?P))))))
(subclass BusStop GeographicArea)
(documentation BusStop EnglishLanguage "An area, often, though not necessarily with
seats or some kind of minimal shelter, where people gather to meet and
board a bus. It must border a road.")
(=>
(instance ?X BusStop)
(hasPurpose ?X
(exists (?B ?BO ?D)
(and
(instance ?B Bus)
(instance ?BO Boarding)
(instance ?D Deboarding)
(eventLocated ?BO ?X)
(eventLocated ?D ?X)
(patient ?BO ?B)
(patient ?D ?B)))))
(=>
(instance ?X BusStop)
(exists (?R)
(and
(instance ?R Roadway)
(meetsSpatially ?X ?R))))
(subclass Truck SelfPoweredRoadVehicle)
(subclass Truck CargoVehicle)
(documentation Truck EnglishLanguage "Any &%Vehicle that is intended to carry substantial
amounts of cargo, in addition to passengers. This includes 18-wheelers,
pickup trucks, tanker trucks etc. Consumer vehicles with trunks or enclosed
rear areas that can carry cargo are not defined as trucks. Truck is the subclass of &%RoadVehicles that
are designed primarily for transporting various kinds of non-passenger
loads. Truck is the class of single-bodied trucks or &%TruckTractors.
Note: TractorTrailer combinations are a distinct class.")
(=>
(instance ?T Truck)
(exists (?L)
(and
(subclass ?L Object)
(cargoType ?T ?L))))
(subclass TruckTractor Truck)
(documentation TruckTractor EnglishLanguage "&%TruckTractor is the subclass of &%Trucks
that are used to tow truck trailers. Truck tractors are the cab portions
of tractor-trailers. See also &%TruckTrailer.")
;; (1) b. Rail Vehicles
(subclass RailVehicle LandVehicle)
(documentation RailVehicle EnglishLanguage "A Vehicle designed to move on &%Railways.")
(=>
(instance ?X RailVehicle)
(hasPurpose ?X
(exists (?EV ?RAIL)
(and
(instance ?RAIL Railway)
(instance ?EV Transportation)
(holdsDuring
(WhenFn ?EV)
(meetsSpatially ?X ?RAIL))))))
(subclass Train RailVehicle)
(subclass Train PoweredVehicle)
(subclass Train Collection)
(documentation Train EnglishLanguage "&%Train is the subclass of
&%TransportationDevice whose instances are linked sequences
of &%RollingStock.")
(=>
(instance ?TRAIN Train)
(exists (?X ?Y)
(and
(instance ?X RollingStock)
(instance ?Y RollingStock)
(not
(equal ?X ?Y)))))
(subclass TrainStation TerminalBuilding)
(documentation TrainStation EnglishLanguage "TrainStation is the subclass of
&%Buildings that are located at a &%RailwayTerminal and used in support
of its functions, especially for the handling of passengers and freight.")
(subclass RailTransportationSystem TransitSystem)
(documentation RailTransportationSystem EnglishLanguage "RailTransportationSystem
is the subclass of &%TransitSystems whose routes are &%Railways.")
(subclass Railcar RollingStock)
(disjoint Railcar PoweredVehicle)
(documentation Railcar EnglishLanguage "Railcar is the subclass of &%RollingStock that
includes all non-locomotive, non-self-powered &%RailVehicles.")
(subclass RailwayTerminal TransitTerminal)
(documentation RailwayTerminal EnglishLanguage "RailwayTerminal is the subclass of
&%TransitTerminals designed for &%Trains. A RailwayTerminal includes
all the &%RailroadTrack and any outbuildings or other related structure
in the terminal, as well as the &%TrainStation (if there is one).")
(subclass RoadTransportationSystem TransitSystem)
(documentation RoadTransportationSystem EnglishLanguage "&%RoadTransportationSystem
is the subclass of &%TransportationSystems whose routes are &%Roadways.")
(=>
(and
(instance ?S RoadTransportationSystem)
(routeInSystem ?P ?S))
(instance ?P Roadway))
(subclass SubwaySystem RailTransportationSystem)
(documentation SubwaySystem EnglishLanguage "Any &%RailTransportationSystem that runs
exclusively through &%Tunnels.")
(=>
(and
(instance ?S SubwaySystem)
(routeInSystem ?P ?S))
(instance ?P Tunnel))
(subclass RollingStock RailVehicle)
(disjoint RoadVehicle RollingStock)
(documentation RollingStock EnglishLanguage "A single rail car. Any &%RailVehicle that is
not composed of other &%RailVehicles.")
(=>
(instance ?TRAIN Train)
(not
(exists (?X ?Y)
(and
(instance ?X RollingStock)
(instance ?Y RollingStock)
(not
(equal ?X ?Y))))))
(subclass MotorizedRailwayCar RollingStock)
(subclass MotorizedRailwayCar PoweredVehicle)
(documentation MotorizedRailwayCar EnglishLanguage "&%MotorizedRailwayCar is the subclass
of railway cars that carry their own power source.")
(subclass Locomotive RollingStock)
(subclass Locomotive PoweredVehicle)
(documentation Locomotive EnglishLanguage "An individual rail vehicle, i.e. a
&%RollingStock which is also a &%PoweredVehicle. Modern
locomotives are typically diesel or electric powered, while
older locomotives ran on &%Coal.")
(subclass PassengerRailcar RollingStock)
(subclass PassengerRailcar PassengerVehicle)
(documentation PassengerRailcar EnglishLanguage "A train car that is designed to
carry &%Humans.")
(=>
(instance ?CAR PassengerRailcar)
(capability
(KappaFn ?CARRY
(and
(instance ?CARRY Transportation)
(exists (?HUMAN)
(and
(instance ?HUMAN Human)
(patient ?CARRY ?HUMAN))))) instrument ?CAR))
(subclass FreightCar RollingStock)
(partition RollingStock PassengerRailcar FreightCar)
(documentation FreightCar EnglishLanguage "A train car that is designed to
carry freight, and not &%Humans.")
(subclass Boxcar FreightCar)
(documentation Boxcar EnglishLanguage "Boxcar is the subclass of Railcars that are
general-purpose closed cars for hauling freight.")
(subclass BusinessRailcar PassengerRailcar)
(subclass CabCar RollingStock)
(documentation CabCar EnglishLanguage "&%CabCar is the class of passenger railcars
that have an operating cab in one end of the from which train motion
can be controlled in 'push' mode. A &%CabCar is placed on the
opposite end of the train from the locomotive.")
(subclass OutfitCar RollingStock)
(documentation OutfitCar EnglishLanguage "&%OutfitCars are &%Railcars used for housing
railway construction or maintenance workers in the field. Also called
'Camp Cars'.")
(subclass CrewDormCar PassengerRailcar)
(documentation CrewDormCar EnglishLanguage "&%CrewDormCars are &%Railcars used for
housing the employee staff on long-distance trains.")
(subclass ElectrifiedRailwayCar RollingStock)
(subclass ElectrifiedRailwayCar PoweredVehicle)
(subclass ElectrifiedRailwayCar ElectricDevice)
(documentation ElectrifiedRailwayCar EnglishLanguage "ElectrifiedRailwayCar is the
subclass of railway cars that are powered by electricity, which is
provided to the car through an overhead link or electrified third rail.")
(subclass FiveWellStackCar FreightCar)
(documentation FiveWellStackCar EnglishLanguage "&%FiveWellStackCars are five-unit
that carry double-stacked containers.")
(subclass Flatcar FreightCar)
(subclass Flatcar OpenTopRailcar)
(documentation Flatcar EnglishLanguage "&%Flatcars are &%Freightcars without sides
or roofs.")
(subclass GalleryCar PassengerRailcar)
(documentation GalleryCar EnglishLanguage "&%GalleryCars are double-decked passenger
cars that have a viewing area on the second floor.")
(subclass HeadEndCar RollingStock)
(documentation HeadEndCar EnglishLanguage "&%HeadEndCars are &%Railcars that were
typically placed at the front of the train, including mail and
baggage cars.")
(subclass HydraCushionFreightCar FreightCar)
(documentation HydraCushionFreightCar EnglishLanguage "&%HydraCushionFreightCars
are &%FreightCars with hydraulic underframes to cushion their loads.")
(subclass LocomotiveCoalCar RollingStock)
(documentation LocomotiveCoalCar EnglishLanguage "&%LocomotiveCoalCars are
&%Railcars put directly behind the &%Locomotive and used for
carrying fuel coal for the engine.")
(subclass OpenTopRailcar FreightCar)
(documentation OpenTopRailcar EnglishLanguage "&%OpenTopRailcars are &%FreightCars
that have no roof. They may have sides or not.")
(subclass MotorRailcar PassengerRailcar)
(subclass MotorRailcar PoweredVehicle)
(documentation MotorRailcar EnglishLanguage "&%MotorRailcars are &%PassengerRailcars
that carry their own power source.")
(subclass Streetcar RollingStock)
(subclass Streetcar ElectrifiedRailwayCar)
(documentation Streetcar EnglishLanguage "Streetcar is the subclass of
&%ElectrifiedRailwayCars that run on tracks laid into, along, or
beside city &%Streets.")
(subclass PCCCar Streetcar)
(subclass PrivateRailcar RollingStock)
(subclass RefrigeratorCar Boxcar)
(subclass RotaryDumpCar OpenTopRailcar)
(documentation RotaryDumpCar EnglishLanguage "&%RotaryDumpCars are open-top
cargo carriers that have a rotating coupler allowing them
to be emptied by dumping while still coupled.")
(subclass ScaleTestCar RollingStock)
(documentation ScaleTestCar EnglishLanguage "&%ScaleTestCars are &%Railcars of
known weight used to test or calibrate track scales used for
weighing freight.")
(subclass SpineCar Flatcar)
(documentation SpineCar EnglishLanguage "&%SpineCars are articulated &%Flatcars
used to carry trailers or containers.")
(subclass TankCar FreightCar)
(documentation TankCar EnglishLanguage "&%TankCars are enclosed &%FreightCars used
to carry fluids.")
(=>
(instance ?T TankCar)
(capability
(KappaFn ?TRANS
(exists (?L)
(and
(instance ?L Liquid)
(instance ?TRANS Transportation)
(patient ?TRANS ?L))))
instrument ?T))
(subclass CarDistributionSystem OrganizationalProcess)
(documentation CarDistributionSystem EnglishLanguage "&%CarDistributionSystem is the
process of composing trains according to instructions or data.")
(subclass RailCarrierControl Guiding)
(documentation RailCarrierControl EnglishLanguage "&%RailCarrierControl is the process of
controlling the speed or direction of a train by sending high or
low frequency currents on the rails.")
;;------------------------------------
;; 2. Water Vehicles
;; KJN: Moving this to MILO to be with LandVehicle. Too many dependencies.
;;(subclass WaterVehicle Vehicle)
;;(documentation WaterVehicle EnglishLanguage "&%WaterVehicle is the class of all
;;&%TransportationDevices used to travel on or in water.")
;;(=>
;; (instance ?X WaterVehicle)
;; (hasPurpose ?X
;; (exists (?EV ?SURF)
;; (and
;; (instance ?SURF Water)
;; (instance ?EV Transportation)
;; (holdsDuring
;; (WhenFn ?EV)
;; (meetsSpatially ?X ?SURF))))))
;;(=>
;; (and
;; (instance ?CRAFT WaterVehicle)
;; (instance ?EVENT Transportation)
;; (instrument ?EVENT ?CRAFT))
;; (exists (?WATER)
;; (and
;; (instance ?WATER WaterArea)
;; (eventLocated ?EVENT ?WATER))))
(=>
(and
(subclass ?TYPE WaterVehicle)
(instance ?EVENT (TransportationFn ?TYPE))
(eventLocated ?EVENT ?PLACE))
(instance ?PLACE WaterArea))
(subclass MultihullWaterVehicle WaterVehicle)
(subclass Catamaran MultihullWaterVehicle)
(subclass DisplacementHullWaterVehicle WaterVehicle)
(disjoint DisplacementHullWaterVehicle PlaningHullWaterVehicle)
(documentation DisplacementHullWaterVehicle EnglishLanguage "DisplacementHullWaterVehicle is
a subclass of &%WaterVehicle with hulls designed to move water aside as they
move through the water. Contrast with &%PlaningHullWaterVehicle.")
(subclass Ship DisplacementHullWaterVehicle)
(documentation Ship EnglishLanguage "&%Ship is the class of large &%WaterVehicle used
for travel on oceans, seas, or large lakes.")
(documentation PassengerShip EnglishLanguage "&%PassengerShip is the subclass of
&%WaterVehicle designed for the purpose of carrying passengers.")
(subclass PassengerShip Ship)
(=>
(instance ?SHIP PassengerShip)
(cargoType ?SHIP Human))
(subclass CargoShip Ship)
(documentation CargoShip EnglishLanguage "CargoShip is the subclass of Ships that
transport goods in exchange for payment. CargoShip includes ships
that carry all kinds of cargo, including oil and bulk products as well
as packaged, palletized, or containerized goods.")
(subclass GeneralCargoShip CargoShip)
(names "freighter" CargoShip)
(=>
(instance ?SHIP GeneralCargoShip)
(cargoType ?SHIP Product))
(subclass PalletizedCargoShip GeneralCargoShip)
(subclass DeckCargoShip GeneralCargoShip)
(subclass BargeCarrierShip CargoShip)
(subclass LivestockCarrierShip CargoShip)
(=>
(instance ?SHIP LivestockCarrierShip)
(cargoType ?SHIP Livestock))
(subclass ContainerShip CargoShip)
(=>
(instance ?SHIP ContainerShip)
(cargoType ?SHIP ShipContainer))
(subclass RefrigeratedCargoShip CargoShip)
(names "refrigerated carrier" RefrigeratedCargoShip)
(subclass RollOnRollOffCargoShip CargoShip)
(names "roll-on roll-off" RollOnRollOffCargoShip)
(names "Ro-Ro" RollOnRollOffCargoShip)
(subclass Container-RoRoCargoShip RollOnRollOffCargoShip)
(subclass VehicleCarrierShip RollOnRollOffCargoShip)
(=>
(instance ?SHIP VehicleCarrierShip)
(cargoType ?SHIP Vehicle))
(subclass Passenger-LandingCraft RollOnRollOffCargoShip)
(subclass Passenger-LandingCraft PassengerAndCargoShip)
(subclass RailcarCarrierShip RollOnRollOffCargoShip)
(=>
(instance ?SHIP RailcarCarrierShip)
(cargoType ?SHIP RollingStock))
(subclass MultifunctionalLargeLoadCarrierShip CargoShip)
(names "heavy lift carrier" MultifunctionalLargeLoadCarrierShip)
(names "heavy cargo carrier" MultifunctionalLargeLoadCarrierShip)
(subclass PetroleumTankerShip CargoShip)
(names "petroleum tanker" PetroleumTankerShip)
(names "oil tanker" PetroleumTankerShip)
(=>
(instance ?SHIP PetroleumTankerShip)
(cargoType ?SHIP PetroleumProduct))
(subclass ChemicalTankerShip CargoShip)
(names "chemical carrier" ChemicalTankerShip)
(=>
(instance ?SHIP ChemicalTankerShip)
(cargoType ?SHIP ChemicalProduct))
(documentation ChemicalTankerShip EnglishLanguage "&%ChemicalTankerShip is the
subclass of ships that carry &%ChemicalProducts.")
(subclass Chemical-OilTankerShip ChemicalTankerShip)
(subclass LiquefiedGasTankerShip CargoShip)
(names "Liquefied gas carrier" LiquefiedGasTankerShip)
(=>
(instance ?SHIP LiquefiedGasTankerShip)
(cargoType ?SHIP ChemicalProduct))
(=>
(instance ?SHIP LiquefiedGasTankerShip)
(cargoType ?SHIP (ExtensionFn Liquid)))
(subclass LiquefiedGas-ChemicalTankerShip LiquefiedGasTankerShip)
(subclass CombinationBulkCarrierShip CargoShip)
(names "combination carrier" CombinationBulkCarrierShip)
(subclass CombinationBulk-OilCarrierShip CombinationBulkCarrierShip)
(=>
(instance ?SHIP CombinationBulk-OilCarrierShip)
(cargoType ?SHIP Object))
(=>
(instance ?SHIP CombinationBulk-OilCarrierShip)
(cargoType ?SHIP Petroleum))
(subclass CombinationOre-OilCarrierShip CombinationBulkCarrierShip)
(=>
(instance ?SHIP CombinationOre-OilCarrierShip)
(cargoType ?SHIP Mineral))
(=>
(instance ?SHIP CombinationOre-OilCarrierShip)
(cargoType ?SHIP Petroleum))
(subclass DryBulkCarrierShip CargoShip)
(subclass BulkCargoShip DryBulkCarrierShip)
(subclass OreCarrierShip DryBulkCarrierShip)
(subclass SelfDischargingBulkCarrierShip DryBulkCarrierShip)
(subclass CementCarrierShip DryBulkCarrierShip)
(subclass WoodChipsCarrierShip DryBulkCarrierShip)
(subclass UreaCarrierShip DryBulkCarrierShip)
(subclass SpecializedTankerShip CargoShip)
(=>
(instance ?SHIP SpecializedTankerShip)
(cargoType ?SHIP (ExtensionFn Fluid)))
(subclass PassengerAndCargoShip PassengerShip)
(subclass PassengerAndCargoShip CargoShip)
(subclass ShortSeaPassengerShip PassengerShip)
(subclass FishingShip WaterVehicle)
(subclass Trawler FishingShip)
(subclass FishFactoryShip FishingShip)
(subclass FishCarrierShip FishingShip)
(subclass FishingVessel FishingShip)
(subclass OffshoreSupplyShip Ship)
(subclass OffshoreSupportShip Ship)
(subclass OffshoreWellProductionShip Ship)
(subclass DrillingShip Ship)
(subclass ResearchShip Ship)
(subclass PusherTug TugBoat)
(subclass Dredger Ship)
(subclass HopperDredger Dredger)
(subclass MotorHopper Ship)
(subclass SludgeDisposalVessel Ship)
(subclass CraneShip Ship)
(subclass CableShip Ship)
(subclass IceBreakerShip Ship)
(subclass AircraftCarrier MilitaryShip)
(documentation AircraftCarrier EnglishLanguage "A MilitaryShip on which MilitaryAircraft can land
and take off.")
(subclass PlaningHullWaterVehicle WaterVehicle)
(documentation PlaningHullWaterVehicle EnglishLanguage "PlaningHullWaterVehicle is a subclass
of &%WaterVehicle with hulls designed for a position partially on or above
the water surface when they are in motion, in order to reduce drag. See
also &%DisplacementHullWaterVehicle.")
(subclass CruiseShip PassengerShip)
(documentation CruiseShip EnglishLanguage "&%CruiseShip is the subclass of
&%PassengerShips designed for the purpose of carrying passengers
on extended trips.")
(subclass OceanLiner PassengerShip)
(subclass OceanLiner CargoShip)
(documentation OceanLiner EnglishLanguage "&%OceanLiner is the subclass of &%Ships
that make regularly scheduled voyages to transport people and goods
from one place to another.")
(subclass Barge WaterVehicle)
(documentation Barge EnglishLanguage "A &%Flat bottomed &%CargoShip.")
(subclass TugBoat WaterVehicle)
(subclass FireBoat WaterVehicle)
(subclass FerryBoat WaterVehicle)
(subclass Runabout WaterVehicle)
(subclass Sailboat WaterVehicle)
(subclass Canoe WaterVehicle)
(subclass Canoe AgentPoweredVehicle)
(subclass Kayak WaterVehicle)
(subclass Kayak AgentPoweredVehicle)
(subclass PersonalWatercraft WaterVehicle)
(names "Jet Ski" PersonalWatercraft)
(documentation PersonalWatercraft EnglishLanguage "&%PersonalWatercraft is the class
of motor-driven &%WaterVehicle ridden by one or more passengers, e.g.,
a JetSki.")
;;----------------------------------
;; Size and other measures for WaterVehicle:
(instance vesselDisplacement BinaryPredicate)
(domain vesselDisplacement 1 WaterVehicle)
(domain vesselDisplacement 2 PhysicalQuantity)
(subrelation vesselDisplacement measure)
(documentation vesselDisplacement EnglishLanguage
"(&%vesselDisplacement ?VESSEL ?AMOUNT) means that the displacement
of &%WaterVehicle ?VESSEL is the &%PhysicalQuantity ?AMOUNT. The
displacement of a vessel may be measured in &%LongTons (Dead Weight
Tonnage, or DWT) or by volume (Gross Registered Tonnage, or GRT).")
(instance vesselDeadWeightTonnage BinaryPredicate)
(domain vesselDeadWeightTonnage 1 WaterVehicle)
(domain vesselDeadWeightTonnage 2 MassMeasure)
(subrelation vesselDeadWeightTonnage vesselDisplacement)
(documentation vesselDeadWeightTonnage EnglishLanguage
"(&%vesselDeadWeightTonnage ?VESSEL ?AMOUNT) means that the
&%WaterVehicle ?VESSEL has a carrying capacity when fully loaded of
?AMOUNT in &%LongTons. This is the Dead Weight Tonnage, or DWT,
of the vessel, which is the total weight of cargo plus stores
that the vessel can carry when immersed to the proper load line.")
(instance vesselGrossRegisteredTonnage BinaryPredicate)
(domain vesselGrossRegisteredTonnage 1 WaterVehicle)
(domain vesselGrossRegisteredTonnage 2 PhysicalQuantity)
(subrelation vesselGrossRegisteredTonnage vesselDisplacement)
(documentation vesselGrossRegisteredTonnage EnglishLanguage
"(&%vesselGrossRegisteredTonnage ?VESSEL ?AMOUNT) means that the
&%WaterVehicle ?VESSEL has a carrying capacity when fully loaded of
?AMOUNT, where ?AMOUNT is the Gross Registered Tonnage (GRT) of the
vessel, which is based on the total sheltered volume of the vessel
measured in hundreds of cubic feet, and converted to gross tons
at an equivalence of 100 cubic feet per ton.")
;;---------------------------------------
;; Parts and areas of Ships:
(subclass ShipDeck Artifact)
(documentation ShipDeck EnglishLanguage "&%ShipDeck is the class of decks on a ship,
considered as spaces or &%Regions in which passengers and crew work,
live, or ride, and/or in which machinery and cargo are stored on a
&%Ship.")
(=>
(instance ?DECK ShipDeck)
(exists (?SHIP)
(and
(instance ?SHIP Ship)
(properPart ?DECK ?SHIP))))
(subclass ShipCompartment Artifact)
(documentation ShipCompartment EnglishLanguage "A &%ShipCompartment is any fully or
partly bounded section of a &%Ship.")
(=>
(instance ?COMPARTMENT ShipCabin)
(exists (?SHIP)
(and
(instance ?COMPARTMENT ShipCabin)
(properPart ?COMPARTMENT ?SHIP))))
(subclass ShipCabin ShipCompartment)
(documentation ShipCabin EnglishLanguage "&%ShipCabin is the subclass of all
&%ShipCompartments for accommodating &%Humans aboard a ship.")
(subclass ShipContainer SelfConnectedObject)
(documentation ShipContainer EnglishLanguage "&%ShipContainer is the class of specialized
large containers designed for shipping goods aboard &%ContainerShips.")
;;----------------------------------
;; 3. Air Vehicles
; airplanes also travel on the ground, and some on water
(subclass Airplane Aircraft)
(subclass Airplane PoweredVehicle)
(documentation Airplane EnglishLanguage "&%Airplane is the subclass of &%Aircraft that
are fixed-wing aircraft which carry their own power sources. &%Airplane
includes jet airplanes and propeller planes, but not gliders.")
(subclass PropellerPlane Airplane)
(subclass JetAirplane Airplane)
(subclass PropellerJet Airplane)
(subclass Rocket Aircraft)
(subclass GliderPlane Aircraft)
(subclass GliderPlane UnpoweredVehicle)
;;---------------------------------------------------------------------
;; D. Trafficability
;; 1. Traffic Compatibility
(instance trafficableForTrafficType BinaryPredicate)
(domain trafficableForTrafficType 1 Object)
(domainSubclass trafficableForTrafficType 2 SelfConnectedObject)
(documentation trafficableForTrafficType EnglishLanguage
"(&%trafficableForTrafficType ?WAY ?TYPE) means that &%Objects of ?TYPE
can move along the &%Transitway ?WAY.")
(=>
(and
(trafficableForTrafficType ?PLACE ?TYPE)
(subclass ?TYPE TransportationDevice)
(instance ?MOVER ?TYPE))
(capableAtLocation Transportation instrument ?MOVER ?PLACE))
(=>
(and
(trafficableForTrafficType ?place ?type)
(subclass ?type Agent)
(instance ?mover ?type))
(capableAtLocation Translocation agent ?mover ?place))
(=>
(instance ?AIRPORT Airport)
(trafficableForTrafficType ?AIRPORT Airplane))
(instance navigableForShippingTonnage BinaryPredicate)
(domain navigableForShippingTonnage 1 WaterArea)
(domain navigableForShippingTonnage 2 PhysicalQuantity)
(documentation navigableForShippingTonnage EnglishLanguage
"(&%navigableForShippingTonnage ?WATERWAY ?TONNAGE) means that the
&%Waterway ?WATERWAY can be transited by vessels up to the tonnage
?TONNAGE (in Dead Weight Tonnage).")
(=>
(and
(navigableForShippingTonnage ?WATERWAY (MeasureFn ?TONNAGE LongTon))
(instance ?VESSEL WaterVehicle)
(vesselDisplacement ?VESSEL (MeasureFn ?DWT LongTon))
(lessThanOrEqualTo ?DWT ?TONNAGE))
(capability (TripFn ?VESSEL) path ?WATERWAY))
(instance navigableForDraft BinaryPredicate)
(domain navigableForDraft 1 WaterArea)
(domain navigableForDraft 2 LengthMeasure)
(documentation navigableForDraft EnglishLanguage
"(&%navigableForDraft ?WATERWAY ?DRAFT) means that the &%Waterway
?WATERWAY can be transited by vessels up to the draft ?DRAFT.")
(=>
(and
(navigableForDraft ?WATERWAY ?AMOUNT)
(ladenDraft ?SHIP ?DRAFT)
(greaterThan ?AMOUNT ?DRAFT))
(capability (TripFn ?SHIP) path ?WATERWAY))
(=>
(and
(navigableForDraft ?WATERWAY ?AMOUNT)
(ladenDraft ?SHIP ?DRAFT)
(lessThanOrEqualTo ?AMOUNT ?DRAFT))
(not (capability (TripFn ?SHIP) path ?WATERWAY)))
(=>
(and
(instance ?WATERWAY Waterway)
(depth ?OBJ ?WATERWAY (MeasureFn ?DEPTH ?UNIT))
(instance ?UNIT UnitOfLength)
(lessThan ?DRAFT ?DEPTH))
(navigableForDraft ?WATERWAY (MeasureFn ?DRAFT ?UNIT)))
(instance ladenDraft BinaryPredicate)
(domain ladenDraft 1 WaterVehicle)
(domain ladenDraft 2 LengthMeasure)
(documentation ladenDraft EnglishLanguage "(&%ladenDraft ?SHIP ?AMOUNT) means that
the &%WaterVehicle ?SHIP requires a &%waterDepth of at least ?AMOUNT
to sail without running aground, when she is loaded at capacity.")
(instance capableAtLocation QuaternaryPredicate)
(documentation capableAtLocation EnglishLanguage
"(&%capableAtLocation ?TYPE ?ROLE ?OBJECT ?PLACE) means that ?OBJECT
has the ability to play the &%CaseRole ?ROLE in &%Processes of
?EVENTTYPE that occur at ?PLACE.")
(domainSubclass capableAtLocation 1 Process)
(domain capableAtLocation 2 CaseRole)
(domain capableAtLocation 3 Object)
(domain capableAtLocation 4 Region)
(=>
(and
(subclass ?TYPE Process)
(instance ?EVENT ?TYPE)
(eventLocated ?EVENT ?REGION)
(instance ?ROLE CaseRole)
(instance ?OBJECT Object)
(instance ?REGION GeographicArea)
(?ROLE ?EVENT ?OBJECT))
(capableAtLocation ?TYPE ?ROLE ?OBJECT ?PLACE))
;; 2. Transitway state
;; Open/Closed attributes. Hours of availability. Seasonal/weather closures.
;; a. Physical conditions
;; b. Regulated conditions
;;----------------------------------------------------------------------
;; E. Transit Systems and Routes
;; 1. Physical Systems
;; Kinds of PhysicalSystems:
(documentation pathInSystem EnglishLanguage "(pathInSystem ?PATH ?SYSTEM) means that
the &%Physical thing ?PATH consists of one or more connected routes in
the &%PhysicalSystem ?SYSTEM.")
(instance pathInSystem BinaryPredicate)
(domain pathInSystem 1 Transitway)
(domain pathInSystem 2 TransitSystem)
(subrelation pathInSystem part)
(=>
(pathInSystem ?P ?S)
(or
(routeInSystem ?P ?S)
(exists (?R1 ?R2)
(and
(routeInSystem ?R1 ?S)
(routeInSystem ?R2 ?S)
(part ?R1 ?P)
(part ?R2 ?P)
(connected ?R1 ?R2)))))
(documentation routeInSystem EnglishLanguage "(routeInSystem ?PART ?SYSTEM) means that
the &%Transitway ?PART is an established route of the
&%TransportationSystem ?SYSTEM.")
(instance routeInSystem BinaryPredicate)
(domain routeInSystem 1 Transitway)
(domain routeInSystem 2 TransitSystem)
(subrelation routeInSystem pathInSystem)
(=>
(and
(subSystem ?S ?T)
(routeInSystem ?P ?S))
(routeInSystem ?P ?T))
(instance routeStart BinaryPredicate)
(domain routeStart 1 Region)
(domain routeStart 2 TransitSystem)
(documentation routeStart EnglishLanguage "(routeStart ?REGION ?SYSTEM) means
that within the given ?SYSTEM the given ?REGION is connected to
only one other &%Region.")
(=>
(routeStart ?R ?TS)
(exists (?T)
(and
(instance ?T Transitway)
(connected ?R ?T)
(systemPart ?T ?TS)
(not
(exists (?T2)
(and
(instance ?T2 Transitway)
(connected ?R ?T2)
(systemPart ?T2 ?TS)
(not
(equal ?T ?T2))))))))
(instance routeEnd BinaryPredicate)
(domain routeEnd 1 Region)
(domain routeEnd 2 TransitSystem)
(documentation routeEnd EnglishLanguage "(routeEnd ?REGION ?SYSTEM) means
that within the given ?SYSTEM the given ?REGION is connected to
only one other &%Region.")
(=>
(routeEnd ?R ?TS)
(exists (?T)
(and
(instance ?T Transitway)
(connected ?R ?T)
(systemPart ?T ?TS)
(not
(exists (?T2)
(and
(instance ?T2 Transitway)
(connected ?R ?T2)
(systemPart ?T2 ?TS)
(not
(equal ?T ?T2))))))))
(=>
(distanceOnPath ?DIST ?PATH)
(exists (?GP)
(and
(instance ?GP GraphPath)
(abstractCounterpart ?GP ?PATH))))
(=>
(and
(distanceOnPath ?DIST ?PATH)
(pathInSystem ?PATH ?SYS)
(routeStart ?START ?PATH)
(routeEnd ?END ?PATH)
(abstractCounterpart ?GRAPH ?SYS))
(exists (?S ?BN ?EN)
(and
(subGraph ?S ?GRAPH)
(equal ?BN (BeginNodeFn ?GRAPH))
(equal ?EN (EndNodeFn ?GRAPH))
(abstractCounterpart ?BN ?START)
(abstractCounterpart ?EN ?END))))
(subclass TransitSystem PhysicalSystem)
(documentation TransitSystem EnglishLanguage "A &%TransitSystem is a system of
interconnected &%Transitways over which some type(s) of vehicles or
travellers may pass. In addition to &%Transitways, &%TransitSystems
may also include &%TransitJunctions and &%TransitTerminals. Transit
systems may be demarcated by where they are located (e.g., the rail
system of &%Afghanistan), who owns or manages them (e.g., American
Airlines &%TransitSystem of &%AirRoutes, or state highways managed by
TexDOT), or the type of vehicles or travellers accommodated (e.g.,
the system of Santa Clara county bike trails.")
(=>
(instance ?SYSTEM TransitSystem)
(exists (?ROUTE)
(and
(instance ?ROUTE Transitway)
(part ?ROUTE ?SYSTEM))))
(=>
(instance ?TS TransitSystem)
(exists (?G)
(and
(instance ?G Graph)
(abstractCounterpart ?G ?TS))))
(=>
(and
(instance ?TS TransitSystem)
(instance ?T Transitway)
(abstractCounterpart ?G ?TS)
(systemPart ?T ?TS))
(exists (?GA)
(and
(instance ?GA GraphArc)
(abstractCounterpart ?GA ?T)
(graphPart ?GA ?G))))
(=>
(and
(instance ?TS TransitSystem)
(instance ?TJ TransitwayJunction)
(abstractCounterpart ?G ?TS)
(systemPart ?TJ ?TS))
(exists (?GN)
(and
(instance ?GN GraphNode)
(abstractCounterpart ?GN ?TJ)
(graphPart ?GN ?G))))
(=>
(and
(connects ?A ?NODE1 ?NODE2)
(abstractCounterpart ?N1 ?NODE1)
(abstractCounterpart ?N2 ?NODE2)
(abstractCounterpart ?ARC ?A))
(links ?N1 ?N2 ?ARC))
(subclass WaterTransportationSystem TransitSystem)
(=>
(and
(instance ?SYSTEM TransitSystem)
(systemPart ?PART ?SYSTEM))
(instance ?PART Transitway))
(subclass CanalSystem WaterTransportationSystem)
(subclass UniModalTransitSystem TransitSystem)
(documentation UniModalTransitSystem EnglishLanguage "&%UniModalTransitSystem is
the class of &%TransitSystems that accommodate a single type of
transportation device or method.")
(subclass MultiModalTransitSystem TransitSystem)
(documentation MultiModalTransitSystem EnglishLanguage "&%MultiModalTransitSystem is
the class of &%TransitSystems that accommodate more than one type of
transportation device or method.")
;;------------------------------------
;; (E) 3. Transit Terminals
; just use &%between, unless there's more to say about this predicate:
(instance routeBetween TernaryPredicate)
(domain routeBetween 1 Transitway)
(domain routeBetween 2 Region)
(domain routeBetween 3 Region)
(documentation routeBetween EnglishLanguage "(&%routeBetween ?ROUTE ?FROM ?TO) means
that the &%Transitway ?ROUTE is a route between the place ?FROM and
the place ?TO.")
(subclass TransitTerminal StationaryArtifact)
(documentation TransitTerminal EnglishLanguage "A &%TransitTerminal is a place where
travellers or transportation devices begin or end their journeys, or
where passengers and/or goods may be transferred. At a terminal,
&%TransportationDevices may be received, assigned, sent out, or
stored.")
(subclass TrainStation TransitTerminal)
(subclass TerminalBuilding Building)
(documentation TerminalBuilding EnglishLanguage "A &%TerminalBuilding is a &%Building
located at a &%TransitTerminal and used in connection with its
functions.")
(subclass TransitStop Region)
(documentation TransitStop EnglishLanguage "&%TransitStop is the subclass of places
where a vehicle of a scheduled or common carrier makes a stop to
discharge or take on passengers or goods.")
(subclass TransitShelter Artifact)
(documentation TransitShelter EnglishLanguage "&%TransitShelter is the class of
structures that provide shelter for passengers waiting at a
&%TransitStop.")
(subclass HomeGarage Building) ;; also, garages are StorageAreas
(subclass ParkingGarage Building) ;; also, StorageArea
(subclass ShipBerth WaterArea) ;; also, StorageArea
(documentation ShipBerth EnglishLanguage "&%ShipBerth is the class of areas where
a &%Ship may be moored, whether at an &%Anchorage or dock.")
(=>
(and
(instance ?HARBOR Harbor)
(equipmentCount ?HARBOR ShipBerth ?NUM)
(greaterThan ?NUM 0))
(capability ShipBerthing path ?HARBOR))
(=>
(and
(instance ?PORT PortFacility)
(capability ShipBerthing patient ?PORT))
(exists (?HARBOR)
(and
(instance ?HARBOR Harbor)
(connected ?HARBOR ?PORT)
(capability ShipBerthing path ?HARBOR))))
;;----------------------------------
;; (E) 4. Transitway Junctions
(subclass TransitwayJunction Transitway)
(names "intersection" TransitwayJunction)
(names "junction" TransitwayJunction)
(documentation TransitwayJunction EnglishLanguage "&%TransitwayJunction is the class of
regions where two or more &%Transitways meet and traffic may transfer
from one transitway to another.")
(subclass RoadJunction TransitwayJunction)
(subclass RoadJunction Roadway)
(documentation RoadJunction EnglishLanguage "&%RoadJunction is the subclass of
&%TransitwayJunctions where two or more &%Roadways come together.")
(subclass RailJunction TransitwayJunction)
(subclass RailJunction Railway)
(documentation RailJunction EnglishLanguage "&%RailJunction is the subclass of
&%TransitwayJunctions where two or more &%Railway lines come together.")
(subclass WaterJunction TransitwayJunction)
(subclass WaterJunction Waterway)
(documentation WaterJunction EnglishLanguage "&%WaterJunction is the subclass of
&%TransitwayJunctions where two or more &%Waterways come together.")
;;------------------------------------
;; (E) 5. Transit Routes
(subclass TransitRoute Region)
(documentation TransitRoute EnglishLanguage "&%TransitRoute is the class of
&%Regions that are paths for &%Motion from one place to another.")
(subclass AirRoute TransitRoute)
(documentation AirRoute EnglishLanguage "An &%AirRoute is a region of air space that
can be travelled between points by an air &%TransportationDevice.")
;;---------------------------------------------------------------------
;; F. Trips
(subclass Trip Motion)
(documentation Trip EnglishLanguage "&%Trip is the subclass of &%Motions along a
&%TransitRoute or &%Transitway.")
(subclass IntermodalTrip Trip)
(documentation IntermodalTrip EnglishLanguage "&%IntermodalTrip is the class of
trips in which more than one mode (road, rail, sea, or air) of
&%Transportation is used. That is, there are at least two
&%subProcesses of the trip that use different modes of
&%TransportationDevice. ")
(subclass ShipBerthing Translocation)
(documentation ShipBerthing EnglishLanguage "&%ShipBerthing is the class of
&%Translocation processes in which a vessel is brought to a
mooring, at dockside or anchorage.")
(instance ShipBerthingFn UnaryFunction)
(domain ShipBerthingFn 1 Ship)
(rangeSubclass ShipBerthingFn ShipBerthing)
(documentation ShipBerthingFn EnglishLanguage "(ShipBerthingFn ?SHIP) denotes the
class of &%ShipBerthings of an individual &%WaterVehicle ?SHIP.")
;;---------------------------------------------------------------------
;; G. Transitway Capacity
(instance transitwayCapacityCount TernaryPredicate)
(domain transitwayCapacityCount 1 Transitway)
(domainSubclass transitwayCapacityCount 2 SelfConnectedObject)
(domain transitwayCapacityCount 3 NonnegativeInteger)
(documentation transitwayCapacityCount EnglishLanguage
"(&%transitwayCapacityCount ?WAY ?TYPE ?NUMBER) means that the
&%Transitway ?WAY can accommodate a maximum of ?NUMBER items of ?TYPE
at any one time.")
(instance transitwayCapacityRate TernaryPredicate)
(domain transitwayCapacityRate 1 Transitway)
(domainSubclass transitwayCapacityRate 2 SelfConnectedObject)
(domain transitwayCapacityRate 3 FunctionQuantity)
(documentation transitwayCapacityRate EnglishLanguage
"(&%transitwayCapacityRate ?WAY ?TYPE ?RATE) means that the
&%Transitway WAY can transit items of ?TYPE at the maximum
&%FunctionQuantity ?RATE. For example,
(&%transitwayCapacityRate &%SFBayBridgeWestbound &%Automobile 500).")
;;---------------------------------------------------------------------
;; H. Transitway Obstacles
;; KJN: Moving this to MILO to remove dependencies
;;(subclass TransitwayObstacle Object)
;;(documentation TransitwayObstacle EnglishLanguage "&%TransitwayObstacle is the general
;;class of &%Objects that can act as obstacles to &%Motion along a
;;&%Transitway.")
(subclass Dam TransitwayObstacle)
;; KJN: Moving to MILO to remove dependencies
;;(subclass Door TransitwayObstacle)
;;(subclass Door Device)
(subclass CanalLockGate TransitwayObstacle)
(subclass CanalLockGate Device)
(subclass TrafficLight Device) ;; a TransitObstacle when Red (and obeyed).
;; Treat under TrafficControlDevice
(subclass TollBooth Building)
;; Dam, Lock
;; Dam presents an obstacle to transit. Some are bypassed by locks.
;; Lock is a transitway, part of a larger transitway. Doors are temporary obstacles. Never has both ends open at the same time.
;; impact if damaged - represent "device failures" and effects.
;; deviceFailureEffect(on area)
;; for a dam across a river w/adjacent downstream valley:
;; (deviceFailureEffect ?device Flood ?valley)
;; implies a flood occurs in/"on" the ?valley.
;; defer for later work.
;;---------------------------------------------------------------------
;; I. Traffic Regulation
;; 1. Transit Authority
(subclass TransportationAuthority Organization)
(documentation TransportationAuthority EnglishLanguage
"&%TransportationAuthority is the class of &%Organizations that are
responsible for one or more systems of transportation, usually within
a particular &%GeopoliticalArea.")
(subclass VehicleRegistration ContentBearingObject) ;; official document
(documentation VehicleRegistration EnglishLanguage "&%VehicleRegistration is the class
of official documents containing information about a vehicle's ownership
and identifying characteristics, as required by the appropriate authority
for the type and location of individual vehicles.")
(instance FederalAviationAdministration GovernmentOrganization)
(instance FederalAviationAdministration TransportationAuthority)
(acronym "FAA" FederalAviationAdministration)
(termFormat EnglishLanguage FederalAviationAdministration "Federal Aviation Administration")
(instance InternationalAirTransportAssociation InternationalOrganization)
(instance InternationalAirTransportAssociation TransportationAuthority)
(acronym "IATA" InternationalAirTransportAssociation)
(termFormat EnglishLanguage InternationalAirTransportAssociation "International Air Transport Association")
;; 2. Transit Control Systems
; AirTrafficControl
;; 3. Transit Control Devices
; TrafficLight
; TrafficGate
;; 4. Tolls or Usage Fees
;; 5. Transportation Standards
(subclass AirlineCodeMap CodeMap)
(documentation AirlineCodeMap EnglishLanguage "&%AirlineCodeMap denotes the &%SymbolicString
used by different aviation organizations to identify &%Airline")
(termFormat EnglishLanguage AirlineCodeMap "airline code map")
(=>
(and
(instance ?CM AirlineCodeMap)
(codeMapping ?CM ?STR ?AIR))
(and
(instance ?AIR Airline)
(represents ?STR ?AIR)))
(instance IATAAirlineCode CodeMap)
(documentation IATAAirlineCode EnglishLanguage "The 2-character tag given to an &%Airline by the
&%InternationalAirTransportAssociation to represent that &%Airline at any &%Airport")
(termFormat EnglishLanguage IATAAirlineCode "IATA airline code")
(=>
(codeMapping IATAAirlineCode ?STR ?AIR)
(member ?AIR InternationalAirTransportAssociation))
(=>
(codeMapping IATAAirlineCode ?STR ?AIR)
(equal 2 (StringLengthFn ?STR)))
(instance IACOAirlineCode CodeMap)
(documentation IACOAirlineCode EnglishLanguage "The 3-character tag given to an &%Airline by the
&%InternationalCivilAviationOrganization to represent that &%Airline at any &%Airport")
(termFormat EnglishLanguage IACOAirlineCode "IACO airline code")
(=>
(codeMapping IACOAirlineCode ?STR ?AIR)
(member ?AIR InternationalCivilAviationOrganization))
(=>
(codeMapping IACOAirlineCode ?STR ?AIR)
(equal 3 (StringLengthFn ?STR)))
(subclass AOCnumber SymbolicString)
(documentation AOCnumber EnglishLanguage "The certification number that signifies an
&%Airline has recieved an Air Operator Certification, allowing the airline to use
aircraft for commercial purposes.")
(termFormat EnglishLanguage AOCnumber "AOC number")
(=>
(instance ?AOC AOCnumber)
(equal 8 (StringLengthFn ?AOC)))
(=>
(instance ?AOC AOCnumber)
(exists (?G ?AIRLINE)
(and
(instance ?G Giving)
(agent ?G FederalAviationAdministration)
(destination ?G ?AIRLINE)
(patient ?G ?AOC))))
(=>
(and
(instance ?AOC AOCnumber)
(instance ?AIRLINE Airline)
(possesses ?AIRLINE ?AOC))
(confersRight
(exists (?AIR)
(and
(instance ?AIR AirTransportationService)
(serviceProvider ?AIR ?AIRLINE)))
FederalAviationAdministration ?AIRLINE))
;;---------------------------------------------------------------------
;; J. Transportation Businesses
;; 1. Business Types
(subclass CommonCarrier TransportationCompany)
(documentation CommonCarrier EnglishLanguage "&%CommonCarrier is the subclass of
&%TransportationCompany whose instances must offer services to all
customers. Contrast with &%ContractCarrier.")
(subclass ContractCarrier TransportationCompany)
(documentation ContractCarrier EnglishLanguage "&%ContractCarrier is the subclass of
&%TransportationCompany whose instances offer services to only one
customer, under contract. Contrast with &%CommonCarrier.")
(disjoint CommonCarrier ContractCarrier)
(subclass RailroadCompany TransportationCompany)
(documentation RailroadCompany EnglishLanguage "Any &%TransportationCompany whose services
include &%Transportation by &%Train.")
(=>
(instance ?COMPANY RailroadCompany)
(exists (?SERVICE ?TRAIN)
(and
(instance ?SERVICE CommercialService)
(agent ?SERVICE ?COMPANY)
(instance ?SERVICE Transportation)
(instrument ?SERVICE ?TRAIN)
(instance ?TRAIN Train))))
(subclass ClassIRailroad RailroadCompany)
(documentation ClassIRailroad EnglishLanguage "&%ClassIRailroad is the
subclass of &%RailroadCompany whose instances have an
average annual gross revenue above $256.4 million
&%UnitedStatesDollars.")
(subclass ClassIIRailroad RailroadCompany)
(documentation ClassIIRailroad EnglishLanguage "&%ClassIIRailroad is the
subclass of &%RailroadCompany whose instances have an
average annual gross revenue between $20.5 and $256.4 million
&%UnitedStatesDollars.")
(subclass ClassIIIRailroad RailroadCompany)
(documentation ClassIIIRailroad EnglishLanguage "&%ClassIIIRailroad is the
subclass of &%RailroadCompany whose instances have an
average annual gross revenue below $20.5 million
&%UnitedStatesDollars.")
;; 2. Personnel
;; 'occupiesPosition': Human x Position x Organization, is defined in Merge.txt
;; 2. Transport Operators, Passengers, and Cargo
(instance passengerCapacityMaxNumber BinaryPredicate)
(domain passengerCapacityMaxNumber 1 TransportationDevice)
(domain passengerCapacityMaxNumber 2 Number)
(documentation passengerCapacityMaxNumber EnglishLanguage
"(&%passengerCapacityMaxNumber ?TRANSPORT ?NUMBER) means that the
&%TransportationDevice ?TRANSPORT has a safe carrying capacity for ?NUMBER
of passengers.")
(subclass ShipCrew Organization)
(documentation ShipCrew EnglishLanguage "A &%ShipCrew is an &%Organization of people
who operate a &%Ship, &%Plane, &%Train, or other transportation vehicle.")
;; FUNCTION:
(instance ShipCrewFn UnaryFunction)
(documentation ShipCrewFn EnglishLanguage "(&%ShipCrewFn ?BOAT) denotes the
&%Organization consisting of the people charged with operating
the &%WaterVehicle ?BOAT.")
(domain ShipCrewFn 1 WaterVehicle)
(range ShipCrewFn Group)
;; KJN: redundant as ShipCaptain is already a subAttribute of Sailor in MILO
;;(instance ShipCaptain Position)
(instance FirstMate Position)
(instance ChiefSteward Position)
(instance RadioOperator Position)
(=>
(attribute ?PERSON RadioOperator)
(hasSkill ?PERSON (OperatingFn CommunicationRadio)))
;; KJN: Used a lot in MILO so will be transferring it there. It seems to be applicable
;; for other devices too, not only Transportation ones.
;;(instance OperatingFn UnaryFunction)
;;(documentation OperatingFn EnglishLanguage "(&%OperatingFn ?DEVICE) denotes the class
;;of events in which a &%Device of type ?device is operated.")
;;(domain OperatingFn 1 Device)
;;(rangeSubclass OperatingFn Process)
(subclass Airline TransportationCompany)
(documentation Airline EnglishLanguage "An Airline is a &%TransportationCompany that
specializes in providing &%AirTransportation")
(termFormat EnglishLanguage Airline "Airline")
(=>
(instance ?AIRLINE Airline)
(attribute ?AIRLINE AirTransportationIndustry))
(=>
(instance ?AIRLINE Airline)
(hasPurpose ?AIRLINE
(exists (?AIR)
(and
(instance ?AIR AirTransportationService)
(serviceProvider ?AIR ?AIRLINE)))))
;; KJN: Comment out until Biography.kif is promoted to production
;;(=>
;; (instance ?AIRLINE Airline)
;; (exists (?PILOT)
;; (and
;; (instance ?PILOT Human)
;; (attribute ?PILOT Pilot)
;; (employs ?AIRLINE ?PILOT))))
;; Another way of expressing that an Airline hires Pilots is to use (occupiesPosition
;; ?PILOT Pilot ?AIRLINE) instead of (employs ?AIRLINE ?PILOT)
(=>
(instance ?AIRLINE Airline)
(exists (?FLEET ?AIRCRAFT)
(and
(instance ?FLEET Fleet)
(possesses ?AIRLINE ?FLEET)
(instance ?AIRCRAFT Aircraft)
(member ?AIRCRAFT ?FLEET))))
;; 3. Transportation Services
(subclass TransportationService ServiceProcess)
(documentation TransportationService EnglishLanguage "&%TransportationService refers to
how an agent that possesses some kind of vehicle transports people around")
(termFormat EnglishLanguage TransportationService "transportation service")
(=>
(instance ?SVC TransportationService)
(exists (?VEHICLE ?AGENT ?TRANS ?CUST)
(and
(agent ?SVC ?AGENT)
(possesses ?AGENT ?VEHICLE)
(customer ?CUST ?AGENT)
(instance ?VEHICLE Vehicle)
(instance ?TRANS Transportation)
(agent ?TRANS ?AGENT)
(patient ?TRANS ?CUST)
(instrument ?TRANS ?VEHICLE)
(subProcess ?TRANS ?SVC))))
(subclass AirTransportationService TransportationService)
(documentation AirTransportationService EnglishLanguage "A &%TransportationService
provided by an &%Agent that involves flying a customer from one &%Airport to another
&%Airport.")
(termFormat EnglishLanguage AirTransportationService "Air Transportation Service")
(=>
(instance ?SERVICE AirTransportationService)
(exists (?AIRCRAFT ?AIR)
(and
(instance ?AIR AirTransportation)
(subProcess ?AIR ?SERVICE)
(instrument ?AIR ?AIRCRAFT)
(instance ?AIRCRAFT Aircraft))))
(subclass LandTransportationService TransportationService)
(documentation LandTransportationService EnglishLanguage "A &%TransportationService
provided by an &%Agent that involves &%LandTransportation")
(termFormat EnglishLanguage LandTransportationService "Land Transportation Service")
(=>
(instance ?SERVICE LandTransportationService)
(exists (?LAND ?VEHICLE)
(and
(instance ?LAND LandTransportation)
(instance ?VEHICLE LandVehicle)
(instrument ?LAND ?VEHICLE)
(subProcess ?LAND ?SERVICE))))
(subclass WaterTransportationService TransportationService)
(documentation WaterTransportationService EnglishLanguage "A &%TransportationService
that involves &%WaterTransportation")
(termFormat EnglishLanguage WaterTransportationService "Water Transportation Service")
(=>
(instance ?SERVICE WaterTransportationService)
(exists (?WATER ?VEHICLE)
(and
(instance ?WATER WaterTransportation)
(instance ?VEHICLE WaterVehicle)
(instrument ?WATER ?VEHICLE)
(subProcess ?WATER ?SERVICE))))
(instance providesDestination BinaryPredicate)
(domain providesDestination 1 TransportationCompany)
(domain providesDestination 2 Region)
(documentation providesDestination EnglishLanguage "(providesDestination ?TC ?REG) means
&%TransportationCompany, ?TC, provides possible &%Transportation to &%Region ?REG.")
(termFormat EnglishLanguage providesDestination "provides destination")
(=>
(providesDestination ?TC ?REG)
(modalAttribute
(exists (?SVC)
(and
(instance ?SVC TransportationService)
(serviceProvider ?SVC ?TC)
(destination ?SVC ?REG))) Possibility))
;;========================================================================