OpenAgri Common Semantic Information Model (OCSM) project ontology
type: Ontology
contributor: Jack Verhoosel
  affiliation: Maastricht University
contributor: Christopher Brewster
  affiliation: Maastricht University
creator: Raul Palma
  affiliation: PSNC
imports: agriCommon
imports: agriFeature
imports: agriCrop
imports: agriIntervention
imports: agriAlert
imports: agriProduct
imports: agriProperty
imports: agriSystem
imports: agriPest
imports: farmAnimal
description: The OpenAgri Common Semantic Information Model is a project specific ontology covering the needs of project pilots and components. It is based on the Agriculure Information Model (AIM) and the ploutos ontology
rights: This vocabulary is distributed under Creative Commons Attribution 4.0 License - http://creativecommons.org/licenses/by/4.0
comment: The OpenAgri Common Semantic Information Model (OCSM) is the common vocabulary in OpenAgri project providing the basis for semantic interoperability across pilots and components
version info: 1.0
maker: OpenAgri project

uses pesticide
type: ObjectProperty
range: Pesticide

has cost
type: ObjectProperty
comment: Here we make the link to the Ontology of units of Measure and enable classes to have a measure with a numerical value and a unit
range: Measure

is price per
type: ObjectProperty
comment: Here we make the link to the Ontology of units of Measure and enable classes to have a measure with a numerical value and a unit
range: Measure

is operated on
type: ObjectProperty
domain: Class
  union of: SoilManagementOperation
  union of: CropManagementOperation

uses agricultural machinery
type: ObjectProperty
comment: This property indicates the kind of agricultural machine that is used for a specific operation
domain: Operation
range: Agricultural machine
sub property of: machine

has greenhouse gas emission
type: ObjectProperty
comment: This property indicates that a farm or a machine can have an estimation of the total greenhouse gas emission during a time period of usually a year. The emission is expressed in terms of the amount of kilograms of carbon equivalent per ton of product produced by the farm.
domain: Class
  union of: Farm
  union of: Agricultural machine
range: Observation

uses irrigation system
type: ObjectProperty
domain: Class
  union of: Parcel
  union of: Irrigation operation
range: Irrigation system

has cycle
type: ObjectProperty
comment: This is the property that expresses the relationship between a parcel and multiple crop cycles.

is applied per
type: ObjectProperty
range: area

has applied amount
type: ObjectProperty
comment: Here we make the link to the Ontology of units of Measure and enable classes to have a measure witth a numerical value and a unit
range: Measure

has weather observation
type: ObjectProperty
comment: This property indicates that an operation can have an observation of a weather phenomenon done during the execution of the operation. Such a weather phenomenon can have influence on the operation and the environment in which the operation is executed.
domain: Operation
range: Observation

has treated area
type: ObjectProperty
comment: Here we make the link to the Ontology of units of Measure and enable classes to have a measure with a numerical value and a unit
range: Measure

has cycle duration
type: ObjectProperty
comment: This property represents the duration of a sprinkling cycle period including the soak time, i.e., the time needed for the water to soak into the soil.
domain: Irrigation operation
range: Duration

uses fertilizer
type: ObjectProperty
range: fertilizer

has nutrient concentration
type: ObjectProperty

hasPestThreat
type: ObjectProperty
comment: References the Pest that threatens the subject entity
range: AgriPest

hasYieldPrediction
type: ObjectProperty
comment: References the Yield prediction for a crop in a parcel/plot
range: YieldPrediction

hasVinesStressIndicator
type: ObjectProperty
comment: References the Vines Stress Indicator of a Vineyard in a parcel/plot
range: VinesStressIndicator

hasCanopyDensityProfile
type: ObjectProperty
comment: References the Canopy Density Profile of a Vineyard in a parcel/plot
range: CanopyDensityProfile

contactPerson
type: ObjectProperty
comment: contact Person of an entity, e.g., farm, parcel, etc.
range: Person

has preharvest interval
type: DatatypeProperty
comment: This property indicates preharvest interval, which is the waiting time between a pesticide application and when a crop can be harvested. During the PHI, the pesticide may be broken down in the plant, or on its surface.
domain: Pesticide
range: Duration

has commercial name
type: DatatypeProperty
range: string

has active substance
type: DatatypeProperty
comment: 1: This property is used by instances of class TreatmentMaterial to indicate the active substance in the treatment material.
comment: 2: For now, this is modelled as a string for simplicity. In the future, this can be replaced by a Substance class of which there can be a different types from a vocabulary
domain: Treatment material
range: string

is targeted towards
type: DatatypeProperty
comment: 1: This property expresses the organism towards which a pest prevention operation or a treatment material is targeted, e.g. late blight
comment: 2: For now, this is modelled for simplicity as a string that contains the name of the targeted organism. In the future, this can be replaced by a class Organisms with more properties than just the name.
domain: Class
  union of: Treatment material
  union of: Pest prevention operation
  union of: Pest monitoring operation
  union of: Pest intervention operation
range: string

acts on crop stage
type: DatatypeProperty
comment: This property indicates that a crop management operation acts on a crop that is in a certain crop stage. Crop stages can be: 1: germination; 2: leaf development; 3: formation of side shoots; 4: stem elongation; 5: vegetative plant parts; 6: inflorescence emergence; 7: flowering; 8: fruit development; 9: ripening; 10: senescence.
domain: CropManagementOperation
range: string

has country
type: DatatypeProperty
comment: 1: This property expresses the country in which an object is located. An object can be a farm, a farmer's association or a processing company
comment: 2: This is modelled using the existing country ontology: http://eulersharp.sourceforge.net/2003/03swap/countries
range: iso3166-1-alpha-2DT
sub property of: addressCountry

has administrator
type: DatatypeProperty
comment: 1: This property expresses the administrator of the parcel, which can be someone else than the farmer that owns the parcel.
comment: 2: For now, this is modelled for simplicity as a string that contains the name of the administrator. In the future, this can be replaced by a class person with more properties than just the name.
domain: Parcel
range: string

has toponym
type: DatatypeProperty
comment: This property expresses the toponym of a parcel, meaning the name of the parcel as it is used by the locals
domain: Parcel
range: string

in region
type: DatatypeProperty
comment: 1: This property expresses the region in which a parcel is located, meaning the county or province of the parcel.
comment: 2: For now, this is modelled as a string for simplicity. In the future, this can be replaced by a class of region with more properties than just the name.
domain: Parcel
range: string
sub property of: addressRegion

has area
type: DatatypeProperty
comment: This property expresses the area of a flat object such as a parcel or field on the land
range: float

has sprinkler flow
type: DatatypeProperty
comment: this property indicates the flow of water through the sprinklers of an irrigation system in cubic meters per hour (m3/h)
domain: Irrigation system
range: float

has number of sprinklers
type: DatatypeProperty
domain: Irrigation system
range: integer

has number of sprinklers per plant
type: DatatypeProperty
domain: Irrigation system
range: integer

has irrigation type
type: DatatypeProperty
domain: Irrigation system
range: string
sub property of: type

has blossoming date
type: DatatypeProperty
range: dateTime

has end datetime
type: DatatypeProperty
range: dateTime

has first leaves date
type: DatatypeProperty
range: dateTime

has fruiting date
type: DatatypeProperty
range: dateTime

has start datetime
type: DatatypeProperty
range: dateTime

has seed rate
type: DatatypeProperty
comment: This property represents the quantity of seed of a crop that is required per hectare of land to sow for optimum crop production
domain: whole plant
range: integer

is meant for
type: DatatypeProperty
comment: 1: This property expresses the porpuse for which a product that is cultivated is meant, e.g. industrial processing or private consumption
comment: 2: For now, this is modelled for simplicity as a string that contains the purpose of the product. In the future, this can be replaced by a class ProductPurpose with more properties than just the name.
domain: Product
range: string

is justified because
type: DatatypeProperty
comment: This property indicates the reason why a chemical control operation and the use of a certain pesticide is justified
domain: Crop protection operation
range: string

has application method
type: DatatypeProperty
comment: this property defines the type of methods that can be used for crop fertilization, e.g., broadcasting, foliar, placement, and fertigation.
range: string

has fertilization type
type: DatatypeProperty
comment: this property defines the type of fertilization that is used, e.g., pre-planting.
domain: Fertilization operation
range: string

cultivationSeason
type: DatatypeProperty
comment: cultivation season
range: string

municipality
type: DatatypeProperty
comment: municipality
range: string

community
type: DatatypeProperty
comment: community
range: string

isNitroAarea
type: DatatypeProperty
comment: is NitroAarea
range: boolean

isNatura2000Area
type: DatatypeProperty
comment: is Natura2000Area
range: boolean

isPDOPGIArea
type: DatatypeProperty
comment: is PDOPGIArea
range: boolean

isIrrigated
type: DatatypeProperty
comment: is irrigated
range: boolean

isCultivatedInLevels
type: DatatypeProperty
comment: is cultivated in levels
range: boolean

isGroundSlope
type: DatatypeProperty
comment: is ground slope
range: boolean

hasIrrigationFlow
type: DatatypeProperty
comment: has irrigation flow
range: float

isCastrated
type: DatatypeProperty
comment: is castrated
range: boolean

nationalID
type: DatatypeProperty
comment: national ID
range: string

Yield
type: Class
subclass of: Property
subclass of: ObservedProperty
comment: The produced amount of food for animals or of agricultural products.

Pesticide
type: Class
comment: This class represents the set of pesticides. A pesticide is a substance that is meant to control pests.
subclass of: Treatment material
subclass of: Restriction
  min qualified cardinality: 0
  on data range: time
  on property: has preharvest interval

Treatment material
type: Class
comment: This class represents all material or substances that can be used on a parcel, i.e. in the soil or on the crop, e.g. fertilizers, pesticides, but also water
subclass of: Thing
subclass of: Restriction
  cardinality: 1
  on property: has commercial name
subclass of: Restriction
  on class: Measure
  on property: has cost
  qualified cardinality: 1
subclass of: Restriction
  on class: Unit
  on property: is price per
  qualified cardinality: 1
subclass of: Restriction
  on property: has active substance
  some values from: string
subclass of: Restriction
  on property: is targeted towards
  some values from: string

Pest prevention operation
type: Class
comment: This class represents the set of operations to protect crop against any kind of pest or disease by trying to prevent pest attacks. It is a specific CropProtectionOperation.
subclass of: Crop protection operation
subclass of: Restriction
  on property: is targeted towards
  some values from: string

Pest monitoring operation
type: Class
comment: This class represents the set of operations to protect crop against any kind of pest or disease by trying to monitor the presence of possible pests. It is a specific CropProtectionOperation.
subclass of: Crop protection operation
subclass of: Restriction
  on property: is targeted towards
  some values from: string

Crop protection operation
type: Class
comment: This class represents the set of operations to protect crop against any kind of pest or disease. It is a specific CropManagementOperation and is meant for pest prevention, pest monitoring and pest intervention.
subclass of: CropManagementOperation

CropManagementOperation
type: Class
comment: 1: This is the class of crop management operations in which the crop/plant is being treated to enhance the performance, e.g. a crop protection operation or pruning operation
comment: 2: The actsOnCropStage property indicates that the crop management operation acts on a crop that is in a certain crop stage. Crop stages can be: 1: germination; 2: leaf development; 3: formation of side shoots; 4: stem elongation; 5: vegetative plant parts; 6: inflorescence emergence; 7: flowering; 8: fruit development; 9: ripening; 10: senescence.
subclass of: Operation
subclass of: Restriction
  on property: acts on crop stage
  some values from: string
subclass of: Restriction
  on property: is operated on
  some values from: Parcel

Operation
type: Class
comment: An operation is a set of actions on an object performed by a responsible agent during a specific time interval
subclass of: Restriction
  max qualified cardinality: 1
  on class: Agent
  on property: responsibleAgent
subclass of: Restriction
  min qualified cardinality: 0
  on class: Agricultural machine
  on property: uses agricultural machinery
subclass of: Restriction
  on data range: dateTime
  on property: has end datetime
  qualified cardinality: 1
subclass of: Restriction
  on data range: dateTime
  on property: has start datetime
  qualified cardinality: 1
subclass of: Restriction
  on property: has weather observation
  some values from: Observation

Agricultural machine
type: Class
comment: This class represents the set of all agricultural machines that are used on the farm
subclass of: Thing
subclass of: Restriction
  on property: has greenhouse gas emission
  some values from: Observation
subclass of: Platform

Farm
type: Class
subclass of: Organization
subclass of: Farm
subclass of: Restriction
  on data range: iso3166-1-alpha-2DT
  on property: has country
  qualified cardinality: 1
subclass of: Restriction
  on property: has greenhouse gas emission
  some values from: Observation

Parcel
type: Class
comment: 1: This class represents the set of parcels. A parcel is a plot of land, usually a division of a larger area.
comment: 2: A parcel has various attributes, such as an area, a region, a toponym and an administrator. In addition, the crop that is being cultivated on the parcel has various dates, such as first leaves date, blossoming date and fruiting date. Last but not least, various systems can be used on the parcel for cultivation, such as an irrigation system.
subclass of: agricultural field
subclass of: Parcel
subclass of: Restriction
  cardinality: 1
  on property: has administrator
subclass of: Restriction
  cardinality: 1
  on property: has toponym
subclass of: Restriction
  cardinality: 1
  on property: in region
subclass of: Restriction
  max qualified cardinality: 1
  on class: Irrigation system
  on property: uses irrigation system
subclass of: Restriction
  on data range: float
  on property: has area
  qualified cardinality: 1
subclass of: Restriction
  on property: has cycle
  some values from: CropCycle

Irrigation system
type: Class
comment: This class represents all kind of irrigation systems that are used to irrigate the soil of a parcel on a farm.
subclass of: System
subclass of: Restriction
  max qualified cardinality: 1
  on data range: float
  on property: has sprinkler flow
subclass of: Restriction
  max qualified cardinality: 1
  on data range: integer
  on property: has number of sprinklers
subclass of: Restriction
  max qualified cardinality: 1
  on data range: integer
  on property: has number of sprinklers per plant
subclass of: Restriction
  on data range: string
  on property: has irrigation type
  qualified cardinality: 1

CropCycle
type: Class
comment: 1: This class represents the set of crop cycles. A crop cycle is a single cycle of cultivating a crop from sowing till harvesting. For a multiyear plant or crop, a crop cycle is the period between first leaving until harvesting.
comment: 2: A crop cycle has various attributes, such as the parcel on which the crop is being cultivated as well as various dates, such as first leaves date, blossoming date and fruiting date.
comment: 3: A ploutos:Crop is equivalent to the class obo:PO_0000003, which contains all or most plant varieties.
subclass of: Restriction
  cardinality: 1
  on property: has blossoming date
subclass of: Restriction
  cardinality: 1
  on property: has end datetime
subclass of: Restriction
  cardinality: 1
  on property: has first leaves date
subclass of: Restriction
  cardinality: 1
  on property: has fruiting date
subclass of: Restriction
  cardinality: 1
  on property: has start datetime
subclass of: Restriction
  cardinality: 1
  on property: has toponym
subclass of: Restriction
  on class: Crop
  on property: contains
  qualified cardinality: 1

Crop
type: Class
comment: This class represents all kinds of cultivated plants that can be grown on a parcel of a farm or more generically on any type of substrate in any kind of environment. It is thus a superclass of a wide variety of different species.
comment: We have defined this class to be equivalent to obo:PO_0000003 which is the concept of a "whole plant", in the PO classification, which is reused by the FOODON ontology. Thereby, the ploutos:Crop concept automatically inherits all the subclasses defined in the FOODON ontology under PO_0000003.
subclass of: Crop
subclass of: Restriction
  cardinality: 1
  on property: has seed rate
equivalent class: whole plant

SoilManagementOperation
type: Class
comment: 1: This is the class of soil management operations in which certain material is applied to the soil an a parcel to enhance the performance, e.g. a fertilization operation, a spraying operation or an irrigation operation
comment: 2: Wikipedia says: soil management is the application of operations, practices, and treatments to protect soil and enhance its performance (such as soil fertility or soil mechanics). It includes soil conservation, soil amendment, and optimal soil health. See: https://en.wikipedia.org/wiki/Soil_management
subclass of: Operation
subclass of: Restriction
  max qualified cardinality: 1
  on class: area
  on property: is applied per
subclass of: Restriction
  on class: Measure
  on property: has applied amount
  qualified cardinality: 1
subclass of: Restriction
  on property: is operated on
  some values from: Parcel

System
type: Class
comment: This class represents all kinds of systems that are used in the agrifood supply chain
subclass of: Thing

Pest intervention operation
type: Class
comment: This class represents the set of operations to protect crop against any kind of pest or disease by intervening current pest attacks with pest control methods. It is a specific CropProtectionOperation.
subclass of: Crop protection operation

Crop protection operation
type: Class
comment: This class represents the set of operations to protect crop against any kind of pest or disease. It is a specific PestInterventionOperation and uses a specific pesticide with a treatment material is meant for pest prevention, pest monitoring and pest intervention.
subclass of: Pest intervention operation
subclass of: Restriction
  max qualified cardinality: 1
  on class: area
  on property: is applied per
subclass of: Restriction
  on class: Measure
  on property: has applied amount
  qualified cardinality: 1
subclass of: Restriction
  on class: Measure
  on property: has treated area
  qualified cardinality: 1
subclass of: Restriction
  on data range: string
  on property: is justified because
  qualified cardinality: 1
subclass of: Restriction
  on property: uses pesticide
  some values from: Pesticide

Irrigation operation
type: Class
comment: This class represents the set of operations to irrigate the soil of a parcel of a farm with water. It is a specific SoilManagementOperation.
subclass of: SoilManagementOperation
subclass of: Restriction
  cardinality: 1
  on property: has cycle duration

Fertilization operation
type: Class
comment: This class represents the set of operations to fertilize the soil on the land of a farm. It is a specific SoilManagementOperation and uses a fertilizer or a specific type and applies this on an area that is treated. A fertilizer is a chemical or natural substance added to soil or land to increase its fertility.
subclass of: SoilManagementOperation
subclass of: Restriction
  on class: Measure
  on property: has treated area
  qualified cardinality: 1
subclass of: Restriction
  on data range: string
  on property: has application method
  qualified cardinality: 1
subclass of: Restriction
  on data range: string
  on property: has fertilization type
  qualified cardinality: 1
subclass of: Restriction
  on property: uses fertilizer
  some values from: fertilizer

fertilizer
type: Class
comment: 1: This represents the class of fertilizers that are used in fertilization operations to give nutrients to soil, water or another substrate
comment: 2: The property hasNutrientConcentration relates to an om:Percentage that has a value and a "phenomenon" that indicates for which nutrient the percentage holds
subclass of: Treatment material
subclass of: Restriction
  on property: has nutrient concentration
  some values from: Percentage

Product
type: Class
comment: Instances of this class are product items, such as a can with beans, or a box with bananas, a bin with peaches or a lot with peaches
subclass of: Restriction
  on data range: string
  on property: is meant for
  qualified cardinality: 1

whole plant
type: Class

agricultural field
type: Class

area
type: Class
subclass of: Quantity

Percentage
type: Class
subclass of: Ratio

Ratio
type: Class
subclass of: Quantity

Vineyard
type: Class
comment: Vineyard type of plot
subclass of: AgriParcel

YieldPrediction
type: Class
comment: Yield Prediction
subclass of: Observation

VinesStressIndicator
type: Class
comment: Vines Stress Indicator
subclass of: Observation

CanopyDensityProfile
type: Class
comment: Canopy Density Profile
subclass of: Observation

AIModel
type: Class
comment: AIModel

AIPestDetectionModel
type: Class
subclass of: AIModel
comment: AIPestDetectionModel

SprayingMap
type: Class
comment: SprayingMap

TreatmentPurposeValue
type: ConceptScheme
is format of: http://foodie-cloud.com/model/foodie#TreatmentPurposeValue

pest
type: Concept
in scheme: TreatmentPurposeValue

fertilization
type: Concept
in scheme: TreatmentPurposeValue

weed
type: Concept
in scheme: TreatmentPurposeValue

disease
type: Concept
in scheme: TreatmentPurposeValue

FormOfTreatmentValue
type: ConceptScheme
is format of: http://foodie-cloud.com/model/foodie#FormOfTreatmentValue

aerial
type: Concept
in scheme: FormOfTreatmentValue

applicationMachine
type: Concept
in scheme: FormOfTreatmentValue

manual
type: Concept
in scheme: FormOfTreatmentValue

sprayed
type: Concept
in scheme: FormOfTreatmentValue

CropYield
type: NamedIndividual
type: Yield
comment: CropYield

plantStress
type: NamedIndividual
type: ObservedProperty
comment: plantStress

CanopyDensity
type: NamedIndividual
type: ObservedProperty
comment: CanopyDensity

Infestation
type: NamedIndividual
type: ObservedProperty
comment: Infestation

NumberOfGrapes
type: NamedIndividual
type: ObservedProperty
comment: NumberOfGrapes

NumberOfFruits
type: NamedIndividual
type: ObservedProperty
comment: NumberOfFruits

VineyardRow
type: NamedIndividual
type: FeautureOfInterest
comment: VineyardRow

kilogram per plant
type: Unit
comment: kilogram per plant