PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX Flights: <https://example.org/flights/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://example.org/flights> a owl:Ontology ;
  rdfs:comment "Ontology of flights into and out of airports." ;
  vann:preferredNamespacePrefix "Flights" ;
  vann:preferredNamespaceUri "https://example.org/flights/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "Flights" ;
    sh:namespace "https://example.org/flights/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] .

Flights:CancelationReason a owl:Class ;
  rdfs:comment "A curated set of reasons that explain why a flight is canceled" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

Flights:State a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

Flights:City a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:state ;
    owl:allValuesFrom Flights:State
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:state ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:hasKey ( Flights:name Flights:state ) .

Flights:Runway a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:airport ;
    owl:allValuesFrom Flights:Airport
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:airport ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:designator ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:designator ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:length ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:length ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:geometry ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:geometry ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:hasKey ( Flights:designator Flights:airport ) .

Flights:Manufacturer a owl:Class .

Flights:Model a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:manufacturer ;
    owl:allValuesFrom Flights:Manufacturer
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:manufacturer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:hasKey ( Flights:name Flights:manufacturer ) .

Flights:Aircraft a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:serial_number ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:serial_number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:number_of_seats ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:number_of_seats ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:model ;
    owl:allValuesFrom Flights:Model
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:model ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:year_manufactured ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:year_manufactured ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:capacity ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:capacity ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:carrier ;
    owl:allValuesFrom Flights:Carrier
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:carrier ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

Flights:Airport a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:city ;
    owl:allValuesFrom Flights:City
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:city ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:serves ;
    owl:allValuesFrom Flights:Market
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:serves ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:average_departure_delay ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:average_departure_delay ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:longitude ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:decimal ;
      owl:withRestrictions ( _:o45 _:o46 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:longitude ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:average_arrival_delay ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:average_arrival_delay ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:latitude ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:decimal ;
      owl:withRestrictions ( _:o54 _:o55 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:latitude ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o45 xsd:minInclusive "-180"^^xsd:decimal .

_:o46 xsd:maxInclusive "180"^^xsd:decimal .

_:o54 xsd:minInclusive "-90"^^xsd:decimal .

_:o55 xsd:maxInclusive "90"^^xsd:decimal .

Flights:Market a owl:Class .

Flights:Flight a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:departure_delay ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:departure_delay ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:number ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:number ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:scheduled_departure ;
    owl:allValuesFrom xsd:dateTime
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:scheduled_departure ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:arrival_delay ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:arrival_delay ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:canceled ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:canceled_due_to ;
    owl:allValuesFrom Flights:CancelationReason
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:canceled_due_to ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:distance ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:distance ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:scheduled_arrival ;
    owl:allValuesFrom xsd:dateTime
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:scheduled_arrival ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:registers_longitude_series ;
    owl:allValuesFrom xsd:dateTime
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:registers_longitude_series ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:registers_latitude_series ;
    owl:allValuesFrom xsd:dateTime
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:registers_latitude_series ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:date ;
    owl:allValuesFrom xsd:date
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:date ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:departs_at ;
    owl:allValuesFrom xsd:dateTime
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:departs_at ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:diverted ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:arrives_at ;
    owl:allValuesFrom xsd:dateTime
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:arrives_at ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:route ;
    owl:allValuesFrom Flights:Route
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:route ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:aircraft ;
    owl:allValuesFrom Flights:Aircraft
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:aircraft ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:operated_by ;
    owl:allValuesFrom Flights:Carrier
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:operated_by ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

Flights:Carrier a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

Flights:Route a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty Flights:average_departure_delay ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:average_departure_delay ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:average_arrival_delay ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:average_arrival_delay ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:distance ;
    owl:allValuesFrom xsd:decimal
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:distance ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:lies_in ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:integer ;
      owl:withRestrictions ( _:o99 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:lies_in ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:route_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:route_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:destination ;
    owl:allValuesFrom Flights:Airport
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:destination ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:departure ;
    owl:allValuesFrom Flights:Airport
  ] , [
    a owl:Restriction ;
    owl:onProperty Flights:departure ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o99 xsd:maxInclusive 10 .

Flights:description a owl:DatatypeProperty ;
  rdfs:label "has description-" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:name a owl:DatatypeProperty ;
  rdfs:label "has" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:state a owl:ObjectProperty ;
  rdfs:label "is located in" ;
  rdfs:range Flights:State ;
  a owl:FunctionalProperty .

Flights:airport a owl:ObjectProperty ;
  rdfs:label "belongs to" ;
  rdfs:range Flights:Airport ;
  a owl:FunctionalProperty .

Flights:designator a owl:DatatypeProperty ;
  rdfs:label "uses" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:length a owl:DatatypeProperty ;
  rdfs:label "has" ;
  rdfs:range xsd:decimal ;
  a owl:FunctionalProperty .

Flights:geometry a owl:DatatypeProperty ;
  rdfs:label "has" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:manufacturer a owl:ObjectProperty ;
  rdfs:label "is manufactured by" ;
  rdfs:range Flights:Manufacturer ;
  a owl:FunctionalProperty .

Flights:serial_number a owl:DatatypeProperty ;
  rdfs:label "has" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:number_of_seats a owl:DatatypeProperty ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

Flights:model a owl:ObjectProperty ;
  rdfs:label "has" ;
  rdfs:range Flights:Model ;
  a owl:FunctionalProperty .

Flights:year_manufactured a owl:DatatypeProperty ;
  rdfs:label "was manufactured in" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:capacity a owl:DatatypeProperty ;
  rdfs:label "has" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

Flights:carrier a owl:ObjectProperty ;
  rdfs:label "is operated by" ;
  rdfs:range Flights:Carrier ;
  a owl:FunctionalProperty .

Flights:city a owl:ObjectProperty ;
  rdfs:label "is located in" ;
  rdfs:range Flights:City ;
  a owl:FunctionalProperty .

Flights:serves a owl:ObjectProperty ;
  rdfs:range Flights:Market ;
  a owl:FunctionalProperty .

Flights:average_departure_delay a owl:DatatypeProperty ;
  rdfs:label "has average- departure" ;
  rdfs:range xsd:decimal ;
  a owl:FunctionalProperty .

Flights:longitude a owl:DatatypeProperty ;
  rdfs:label "centers at" ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:decimal ;
    owl:withRestrictions ( _:o108 _:o109 )
  ] ;
  a owl:FunctionalProperty .

_:o108 xsd:minInclusive "-180"^^xsd:decimal .

_:o109 xsd:maxInclusive "180"^^xsd:decimal .

Flights:average_arrival_delay a owl:DatatypeProperty ;
  rdfs:label "has average- arrival" ;
  rdfs:range xsd:decimal ;
  a owl:FunctionalProperty .

Flights:latitude a owl:DatatypeProperty ;
  rdfs:label "centers at" ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:decimal ;
    owl:withRestrictions ( _:o111 _:o112 )
  ] ;
  a owl:FunctionalProperty .

_:o111 xsd:minInclusive "-90"^^xsd:decimal .

_:o112 xsd:maxInclusive "90"^^xsd:decimal .

Flights:departure_delay a owl:DatatypeProperty ;
  rdfs:label "has departure-" ;
  rdfs:range xsd:decimal ;
  a owl:FunctionalProperty .

Flights:number a owl:DatatypeProperty ;
  rdfs:label "has" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:scheduled_departure a owl:DatatypeProperty ;
  rdfs:label "is scheduled to depart at" ;
  rdfs:range xsd:dateTime ;
  a owl:FunctionalProperty .

Flights:arrival_delay a owl:DatatypeProperty ;
  rdfs:label "has arrival-" ;
  rdfs:range xsd:decimal ;
  a owl:FunctionalProperty .

Flights:canceled a owl:DatatypeProperty ;
  rdfs:range xsd:string .

Flights:canceled_due_to a owl:ObjectProperty ;
  rdfs:label "was canceled due to" ;
  rdfs:range Flights:CancelationReason ;
  a owl:FunctionalProperty .

Flights:distance a owl:DatatypeProperty ;
  rdfs:label "spans actual-" ;
  rdfs:range xsd:decimal ;
  a owl:FunctionalProperty .

Flights:scheduled_arrival a owl:DatatypeProperty ;
  rdfs:label "is scheduled to arrive at" ;
  rdfs:range xsd:dateTime ;
  a owl:FunctionalProperty .

Flights:registers_longitude_series a owl:DatatypeProperty ;
  rdfs:range xsd:dateTime ;
  a owl:FunctionalProperty .

Flights:registers_latitude_series a owl:DatatypeProperty ;
  rdfs:range xsd:dateTime ;
  a owl:FunctionalProperty .

Flights:date a owl:DatatypeProperty ;
  rdfs:label "is scheduled to depart on" ;
  rdfs:range xsd:date ;
  a owl:FunctionalProperty .

Flights:departs_at a owl:DatatypeProperty ;
  rdfs:range xsd:dateTime ;
  a owl:FunctionalProperty .

Flights:diverted a owl:DatatypeProperty ;
  rdfs:range xsd:string .

Flights:arrives_at a owl:DatatypeProperty ;
  rdfs:range xsd:dateTime ;
  a owl:FunctionalProperty .

Flights:route a owl:ObjectProperty ;
  rdfs:label "traverses" ;
  rdfs:range Flights:Route ;
  a owl:FunctionalProperty .

Flights:aircraft a owl:ObjectProperty ;
  rdfs:label "uses" ;
  rdfs:range Flights:Aircraft ;
  a owl:FunctionalProperty .

Flights:operated_by a owl:ObjectProperty ;
  rdfs:label "is operated by" ;
  rdfs:range Flights:Carrier ;
  a owl:FunctionalProperty .

Flights:lies_in a owl:DatatypeProperty ;
  rdfs:label "has" ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:integer ;
    owl:withRestrictions ( _:o114 )
  ] ;
  a owl:FunctionalProperty .

_:o114 xsd:maxInclusive 10 .

Flights:route_name a owl:DatatypeProperty ;
  rdfs:label "has name-" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

Flights:destination a owl:ObjectProperty ;
  rdfs:label "connects to destination-" ;
  rdfs:range Flights:Airport ;
  a owl:FunctionalProperty .

Flights:departure a owl:ObjectProperty ;
  rdfs:label "connects to departure-" ;
  rdfs:range Flights:Airport ;
  a owl:FunctionalProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .

xsd:date a rdfs:Datatype .
