;;;; Ontology of Transportation ;;;; ;; Access to and use of these products is governed by the GNU General Public ;; License . ;; 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 (MeasureFn ?LENGTH Mile)) (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 (MeasureFn ?LENGTH Mile)) (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 (MeasureFn ?LENGTH Mile)) (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 SubwaySystem RailTransportationSystem) (documentation SubwaySystem EnglishLanguage "Any &%RailTransportationSystem that runs exclusively through &%Tunnels.") (=> (and (instance ?S SubwaySystem) (routeInSystem ?P ?S)) (instance ?P Tunnel)) (=> (instance ?X SubwaySystem) (exists (?SURF) (and (surface ?SURF GeographicArea) (orientation ?X ?SURF Below)))) (=> (instance ?X SubwaySystem) (hasPurpose ?X (exists (?EV ?P) (and (instance ?EV Transportation) (instance ?P Human) (patient ?EV ?P) (eventLocated ?EV ?X))))) (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 (MeasureFn ?WIDTH Meter))) (greaterThan ?WIDTH 1.44)) (<=> (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 (MeasureFn ?WIDTH Meter))) (greaterThanOrEqualTo ?WIDTH 1.435)) (=> (and (instance ?RR Railway) (property ?RR StandardGauge) (trackWidth ?RR (MeasureFn ?WIDTH Meter))) (lessThanOrEqualTo ?WIDTH 1.44)) (<=> (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 (MeasureFn ?WIDTH Meter))) (lessThanOrEqualTo ?WIDTH 1.435)) (<=> (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 (MeasureFn ?LENGTH ?UNIT)) (lengthOfPavedHighway ?AREA (MeasureFn ?LENGTH1 ?UNIT)) (lengthOfUnpavedHighway ?AREA (MeasureFn ?LENGTH2 ?UNIT))) (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 (MeasureFn ?TOTAL ?UNIT)) (lengthOfPavedHighway ?AREA (MeasureFn ?PAVED ?UNIT))) (greaterThanOrEqualTo ?TOTAL ?PAVED)) (=> (and (totalLengthOfHighwaySystem ?AREA (MeasureFn ?TOTAL ?UNIT)) (lengthOfUnpavedHighway ?AREA (MeasureFn ?UNPAVED ?UNIT))) (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 (instance ?UNIT UnitOfLength) (lengthOfExpresswaySystem ?AREA (MeasureFn ?LENGTH1 ?UNIT)) (lengthOfPavedHighway ?AREA (MeasureFn ?LENGTH2 ?UNIT))) (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.") (=> (instance ?aR SurfacedRoadway) (attribute ?aR Paved)) (subclass UnsurfacedRoadway Roadway) (documentation UnsurfacedRoadway EnglishLanguage "&%UnsurfacedRoadway is the subclass of &%Roadways that have natural, unimproved surfaces of dirt or sand.") (=> (instance ?UR UnsurfacedRoadway) (attribute ?UR Unpaved)) (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 (MeasureFn ?AMOUNT1 Meter)) (totalPipelineInArea ?AREA (MeasureFn ?AMOUNT2 Meter))) (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 (MeasureFn ?AMOUNT1 Meter)) (totalPipelineInArea ?AREA (MeasureFn ?AMOUNT2 Meter))) (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 (MeasureFn ?AMOUNT1 Meter)) (totalPipelineInArea ?AREA (MeasureFn ?AMOUNT2 Meter))) (lessThanOrEqualTo ?AMOUNT1 ?AMOUNT2)) (subclass Pipeline Transitway) (documentation Pipeline EnglishLanguage "&%Pipeline is the class of &%Transitways 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 PortCity City) (documentation PortCity EnglishLanguage "A &%City near a &%WaterArea.") (termFormat EnglishLanguage PortCity "port city") (=> (instance ?PORT PortCity) (exists (?SEA) (and (or (instance ?SEA Sea) (instance ?SEA Ocean)) (or (orientation ?PORT ?SEA Adjacent) (orientation ?PORT ?SEA Near))))) (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 , ;; then a Proposition to that effect is in the registry of that 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 (MeasureFn ?LENGTH Meter)) (lessThan ?LENGTH 914)))) (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 (MeasureFn ?LENGTH Meter)) (or (greaterThanOrEqualTo ?LENGTH 914) (lessThanOrEqualTo ?LENGTH 1523))))) (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 (MeasureFn ?LENGTH Meter)) (or (greaterThanOrEqualTo ?LENGTH 1524) (lessThanOrEqualTo ?LENGTH 2437))))) (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 (MeasureFn ?LENGTH Meter)) (or (greaterThanOrEqualTo ?LENGTH 2438) (lessThanOrEqualTo ?LENGTH 3047))))) (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 (MeasureFn ?LENGTH Meter)) (greaterThan ?LENGTH 3047)))) ;;---------------------------------------------------------------------- ;; 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.") (=> (instance ?UR UnpavedRunway) (attribute ?UR Unpaved)) (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)) ;; 1. Land Transitways ;; a. Roadways (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.") (=> (and (instance ?T Tunnel) (located ?T ?L)) (instance ?L UndergroundArea)) (subclass SecondaryHighway Roadway) (subclass Street 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 ?WATER 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 ;; ;; Jennie 10th August 2022 ;; moved definition for powerComponent to Mid-level-ontology.kif (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 (MeasureFn ?Q ?CU)) (instance ?CU CompositeUnitOfMeasure) (instance ?UL UnitOfLength) (instance ?UD UnitOfDuration) (equal ?FASTPROB (ProbabilityFn (measure ?V (SpeedFn (MeasureFn ?L1 ?UL) (MeasureFn ?T1 ?UD))))) (equal ?SLOWPROB (ProbabilityFn (measure ?V (SpeedFn (MeasureFn ?L2 ?UL) (MeasureFn ?T2 ?UD))))) (greaterThan (SpeedFn ?L1 ?T1) ?Q) (greaterThan ?Q (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)) (modalAttribute (exists (?T) (and (instance ?T Transportation) (patient ?T ?HUMAN) (instrument ?T ?VEHICLE))) Possibility)) (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 ?O Human)) (not (modalAttribute (exists (?T) (and (instance ?T Transportation) (patient ?T ?HUMAN) (instrument ?T ?VEHICLE))) Possibility))) ;; 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 (part ?X ?TRAIN) (part ?Y ?TRAIN) (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 RollingStock RailVehicle) (disjoint RoadVehicle RollingStock) (documentation RollingStock EnglishLanguage "A single rail car. Any &%RailVehicle that is not composed of other &%RailVehicles.") (=> (instance ?TRAIN RollingStock) (not (exists (?X) (and (part ?X ?TRAIN) (instance ?X RollingStock) (not (equal ?X ?TRAIN)))))) (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 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 trips for entertainment.") (=> (instance ?C CruiseShip) (hasPurpose ?C (exists (?E ?A ?O) (and (instance ?E RecreationOrExercise) (possesses ?O ?C) (agent ?E ?A) (customer ?O ?A) (eventLocated ?E ?C))))) (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) (instance FerryBoat ShortSeaPassengerShip) (subclass Runabout WaterVehicle) (subclass Sailboat WaterVehicle) (subclass Canoe WaterVehicle) (subclass Canoe AgentPoweredVehicle) (documentation Canoe EnglishLanguage "A canoe is a small narrow boat, typically human-powered.") (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.") (subclass ShipsHull Artifact) (documentation ShipsHull EnglishLanguage "The exterior portion of a &%WaterVehicle that is water tight and designed to be in contact with the water.") (subclass ShipDeck Artifact) (documentation ShipDeck EnglishLanguage "The &%top of a &%WaterVehicle that is exposed to the air and designed to be the place where people move around or in some cases where cargo can be stacked.") ;;---------------------------------- ;; 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 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 AutonomousAgent) (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 (MeasureFn ?AMOUNT Meter)) (ladenDraft ?SHIP (MeasureFn ?DRAFT Meter)) (greaterThan ?AMOUNT ?DRAFT)) (capability (TripFn ?SHIP) path ?WATERWAY)) (=> (and (navigableForDraft ?WATERWAY (MeasureFn ?AMOUNT Meter)) (ladenDraft ?SHIP (MeasureFn ?DRAFT Meter)) (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 ?REGION)) ;; 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 Certificate) (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) (subAttribute FirstMate ShipMate) (subAttribute ChiefSteward ShipMate) (instance RadioOperator Position) (=> (attribute ?PERSON RadioOperator) (hasSkill (OperatingFn CommunicationRadio) ?PERSON)) ;; 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 &%AutonomousAgent 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 &%AutonomousAgent 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)) ;;========================================================================