CF Data objects ontology
type: Ontology
comment: Ontology of CF objects Uses mostly OWL classes and some SWRL rules to define subclasses of cfatt:Variables that have properties likely to be useful in crosswalking to other standards, e.g. having time dependence or geo-location.
subject: cf, standard, name , attributes
imports: swrlb
imports: netcdf-3.owl
imports: tbox.owl
imports: swrlx.owl
imports: swrla.owl
imports: temporal.owl
imports: iricrosswalk.owl
imports: sqwrl.owl
imports: swrl
contributor: M. Benno Blumenthal
imports: netcdf-obj.owl
imports: cf-att.owl
imports: cf
imports: abox.owl
imports: swrlm.owl

grid_mapping
type: FunctionalProperty
description: Identifies a variable that defines a grid mapping.
links: 5.6
domain: Non-Coordinate Variable
type: ObjectProperty
range: Grid Mapping
id: grid_mapping

Albers conical equal area
type: Class
equivalent class: Restriction
  on property: grid mapping name
  has value: albers_conical_equal_area
subclass of: Restriction
  cardinality: 1
  on property: false northing
subclass of: Grid Mapping
subclass of: Restriction
  cardinality: 1
  on property: false easting
subclass of: Restriction
  on property: standard parallel
  min cardinality: 1
subclass of: Restriction
  on property: standard parallel
  max cardinality: 2
subclass of: Restriction
  on property: longitude of central meridian
  cardinality: 1
subclass of: Restriction
  on property: latitude of projection origin
  cardinality: 1

Lambert azimuthal equal area
type: Class
subclass of: Restriction
  on property: false easting
  cardinality: 1
subclass of: Restriction
  on property: false northing
  cardinality: 1
subclass of: Restriction
  cardinality: 1
  on property: longitude of projection origin
subclass of: Restriction
  cardinality: 1
  on property: latitude of projection origin
subclass of: Grid Mapping
equivalent class: Restriction
  on property: grid mapping name
  has value: lambert_azimuthal_equal_area

A longitude
type: Class
subclass of: Variable
equivalent class: Restriction
  on property: standard name
  has value: longitude

A projection x coordinate
type: Class
subclass of: Coordinate Variable
equivalent class: Restriction
  has value: projection_x_coordinate
  on property: standard name

A projection y coordinate
type: Class
subclass of: Coordinate Variable
equivalent class: Restriction
  has value: projection_y_coordinate
  on property: standard name

A latitude
type: Class
subclass of: Variable
equivalent class: Restriction
  has value: latitude
  on property: standard name

Transverse mercator
type: Class
equivalent class: Restriction
  on property: grid mapping name
  has value: transverse_mercator
subclass of: Restriction
  on property: longitude of central meridian
  cardinality: 1
subclass of: Restriction
  cardinality: 1
  on property: false easting
subclass of: Restriction
  cardinality: 1
  on property: latitude of projection origin
subclass of: Grid Mapping
subclass of: Restriction
  cardinality: 1
  on property: scale factor at central meridian
subclass of: Restriction
  on property: false northing
  cardinality: 1

Stereographic
type: Class
equivalent class: Restriction
  on property: grid mapping name
  has value: stereographic
subclass of: Restriction
  cardinality: 1
  on property: false northing
subclass of: Restriction
  cardinality: 1
  on property: false easting
subclass of: Grid Mapping
subclass of: Restriction
  on property: scale factor at projection origin
  cardinality: 1
subclass of: Restriction
  cardinality: 1
  on property: longitude of projection origin
subclass of: Restriction
  on property: latitude of projection origin
  cardinality: 1

implicitTime
type: Class
equivalent class: Restriction
  on property: long name
  has value: time
subclass of: A time

A time
type: Class
subclass of: Variable
equivalent class: Restriction
  has value: time
  on property: standard name

Azimuthal equidistant
type: Class
subclass of: Grid Mapping
equivalent class: Class
  intersection of: Restriction
    has value: azimuthal_equidistant
    on property: grid mapping name
  intersection of: Restriction
    on property: false easting
    cardinality: 1
  intersection of: Restriction
    cardinality: 1
    on property: false northing
  intersection of: Restriction
    cardinality: 1
    on property: latitude of projection origin
  intersection of: Restriction
    on property: longitude of central meridian
    cardinality: 1
  intersection of: Restriction
    on property: standard parallel
    max cardinality: 2
  intersection of: Restriction
    min cardinality: 1
    on property: standard parallel

Grid Mapping
type: Class
equivalent class: Restriction
  cardinality: 1
  on property: grid mapping name
subclass of: Variable

grid mapping name
type: FunctionalProperty
domain: Grid Mapping
type: DatatypeProperty
range: DataRange
  one of: albers_conical_equal_area
  one of: azimuthal_equidistant
  one of: lambert_azimuthal_equal_area
  one of: lambert_conformal_conic
  one of: polar_stereographic
  one of: rotated_latitude_longitude
  one of: stereographic
  one of: transverse_mercator

Polar stereographic with standard parallel
type: Class
subclass of: Polar stereographic
disjoint with: Polar stereographic with scale factor at projection origin
equivalent class: Restriction
  cardinality: 1
  on property: standard parallel

Polar stereographic
type: Class
subclass of: Restriction
  cardinality: 1
  on property: straight vertical longitude from pole
subclass of: Restriction
  on property: false northing
  cardinality: 1
subclass of: Restriction
  cardinality: 1
  on property: latitude of projection origin
subclass of: Grid Mapping
subclass of: Restriction
  cardinality: 1
  on property: false easting
equivalent class: Class
  intersection of: Restriction
    has value: polar_stereographic
    on property: grid mapping name
  intersection of: Class
    union of: Polar stereographic with scale factor at projection origin
    union of: Polar stereographic with standard parallel

Polar stereographic with scale factor at projection origin
type: Class
equivalent class: Restriction
  cardinality: 1
  on property: scale factor at projection origin
subclass of: Polar stereographic
disjoint with: Polar stereographic with standard parallel

A 1D latitude
type: Class
subclass of: A latitude
equivalent class: Class
  intersection of: Restriction
    on property: hasDimension
    cardinality: 1
  intersection of: Restriction
    on property: standard name
    has value: latitude
equivalent class: Class
  intersection of: Restriction
    on property: hasNumberOfDimensions
    has value: 1
  intersection of: Restriction
    on property: standard name
    has value: latitude

A 1D longitude
type: Class
subclass of: A longitude
equivalent class: Class
  intersection of: Restriction
    cardinality: 1
    on property: hasDimension
  intersection of: Restriction
    on property: standard name
    has value: longitude
equivalent class: Class
  intersection of: Restriction
    on property: hasNumberOfDimensions
    has value: 1
  intersection of: Restriction
    on property: standard name
    has value: longitude

Class 2
type: Class
subclass of: A latitude
equivalent class: Class
  intersection of: Restriction
    has value: latitude
    on property: long name
  intersection of: Restriction
    on property: units
    has value: degrees_north

Rotated latitude longitude
type: Class
equivalent class: Restriction
  on property: grid mapping name
  has value: rotated_latitude_longitude
subclass of: Restriction
  on property: north pole grid longitude
  min cardinality: 0
subclass of: Restriction
  cardinality: 1
  on property: grid north pole longitude
subclass of: Restriction
  on property: grid north pole latitude
  cardinality: 1
subclass of: Grid Mapping
subclass of: Restriction
  max cardinality: 1
  on property: north pole grid longitude

A grid latitude
type: Class
equivalent class: Class
  intersection of: Restriction
    on property: standard name
    has value: grid_latitude
  intersection of: Coordinate Variable

Lambert conformal conic
type: Class
subclass of: Grid Mapping
subclass of: Restriction
  on property: standard parallel
  max cardinality: 2
subclass of: Restriction
  cardinality: 1
  on property: false northing
subclass of: Restriction
  on property: false easting
  cardinality: 1
subclass of: Restriction
  on property: longitude of central meridian
  cardinality: 1
subclass of: Restriction
  on property: standard parallel
  min cardinality: 1
subclass of: Restriction
  on property: latitude of projection origin
  cardinality: 1
equivalent class: Restriction
  on property: grid mapping name
  has value: lambert_conformal_conic

A grid longitude
type: Class
equivalent class: Class
  intersection of: Restriction
    has value: grid_longitude
    on property: standard name
  intersection of: Coordinate Variable

implicitLongitude
type: Class
subclass of: A longitude
equivalent class: Class
  intersection of: Restriction
    on property: long name
    has value: longitude
  intersection of: Restriction
    on property: units
    has value: degrees_east

ancillary_variables
type: ObjectProperty
range: Non-Coordinate Variable
id: ancillary_variables
domain: Non-Coordinate Variable
description: Identifies a variable that contains closely associated data, e.g., the measurement uncertainties of instrument data.
links: 3.4

bounds
type: ObjectProperty
range: Coordinate Variable
description: Identifies a boundary variable.
domain: Coordinate Variable
links: 7.1
id: bounds

standard name
type: ObjectProperty
comment: This is an object version of cfatt:standard_name. The main reason for having it is that it is multivalued, i.e. standard_name objects can imply one another, while cfatt:standard_name is implicitly single valued (you must pick the most-specific version). While single-valued is OK for a data format, it is not OK for an inference network (you cannot pick the most specific one until you have all of them, and there is no way to write a rule within the scheme that fires after everyone else.) In doing an extraction from the RDF, however, there is no problem with pulling the most specific one, and letting the implications suffice for the rest.
range: Class
  union of: Standard Name
  union of: Standard NameAlias
domain: Class
  union of: Coordinate Variable
  union of: Non-Coordinate Variable

coordinates
type: ObjectProperty
domain: Non-Coordinate Variable
id: coordinates
range: Coordinate Variable
description: Identifies auxiliary coordinate variables, label variables, and alternate coordinate variables.
links: 5, 6.1, 6.2

compress
type: ObjectProperty
description: Records dimensions which have been compressed by gathering.
domain: Coordinate Variable
id: compress
range: string
links: 8.2, 5.3

Projection ordinate
type: Imp
head: IndividualPropertyAtom
  argument2: x2
  property predicate: ordinate
  argument1: x1
comment: Rule to find ordinate of a Projection Variable
body: ClassAtom
  class predicate: Variable with Projection Coordinate
  argument1: x1
body: IndividualPropertyAtom
  property predicate: isCovariantWith
  argument2: x2
  argument1: x1
body: ClassAtom
  class predicate: A projection y coordinate
  argument1: x2

Gridlatlon abscissa
type: Imp
head: IndividualPropertyAtom
  property predicate: abscissa
  argument2: x2
  argument1: x1
body: ClassAtom
  argument1: x1
  class predicate: Variable with Gridlatlon
body: IndividualPropertyAtom
  property predicate: isCovariantWith
  argument1: x1
  argument2: x2
body: ClassAtom
  class predicate: A grid longitude
  argument1: x2
comment: Rule to find abscissa for a Gridlatlon coordinate

Projection abscissa
type: Imp
head: IndividualPropertyAtom
  property predicate: abscissa
  argument2: x2
  argument1: x1
comment: Rule to find abscissa of a Projection Variable
body: ClassAtom
  class predicate: Variable with Projection Coordinate
  argument1: x1
body: IndividualPropertyAtom
  property predicate: isCovariantWith
  argument1: x1
  argument2: x2
body: ClassAtom
  class predicate: A projection x coordinate
  argument1: x2

Gridlatlon ordinate
type: Imp
comment: Rule to find ordinate of a Gridlatlon variable
head: IndividualPropertyAtom
  argument1: x1
  property predicate: ordinate
  argument2: x2
body: ClassAtom
  argument1: x1
  class predicate: Variable with Gridlatlon
body: IndividualPropertyAtom
  argument1: x1
  property predicate: isCovariantWith
  argument2: x2
body: ClassAtom
  class predicate: A grid latitude
  argument1: x2