330 likes | 616 Views
Semantic Web Technologies for Orchard Irrigation Systems. Jiao Tao, Rui Huang, Shangguan 2008/11/17. Outline. Motivation Use Case Knowledge Representation Implementation Conclusions. Motivation. Many orchards use traditional irrigation systems Measure soil water content manually
E N D
Semantic Web Technologies for Orchard Irrigation Systems Jiao Tao, Rui Huang, Shangguan 2008/11/17
Outline • Motivation • Use Case • Knowledge Representation • Implementation • Conclusions
Motivation • Many orchards use traditional irrigation systems • Measure soil water content manually • Treat different fruit trees in the same way • Treat different soil in the same way • Irrigation technology is orchard specific • Actually, irrigation is not just spraying water. It needs a lot of knowledge from different domain • Botany: fruit, growth stage, root depth • Agrology: soil texture, soil water content, soil allowable depletion • Climatology: precipitation, evapotranspiration • We need smart irrigation systems which know whether we should water the orchard.
Motivation • Semantic e-Science works here! • Integrating data from multiple data sources • Soil water content from sensor • Evapotranspiration rate based on history record • Precipitation rate from weather forecast services • … • Infer “Fuji” is apple and “Pantao” is peach, thus they have different evapotranspiration rate • Semantic Mediawiki as a quick prototype development platform
Use Case • Provide an irrigation system which decides whether irrigation is necessary for a given field, if necessary how much water is needed, and the next day (possible) to water.
Knowledge Representation • Knowledge sources: • Irrigation: • http://extension.usu.edu/htm/publications/by=category/category=186 • Fruit: • http://www.uga.edu/fruit/ • http://www.bowmanorchards.com/ • Soil moisture: • http://en.wikipedia.org/wiki/Water_retention_curve • Climatology: precipitation, evapotranspiration • http://www.nrcc.cornell.edu/grass/moisture/mp_evapotrans.html • http://squall.nrcc.cornell.edu/lawnWater/program/lawn_water_process • http://www.nrcc.cornell.edu/grass/moisture/mp_moisture.html • Sensor: • http://en.wikipedia.org/wiki/Sensor • http://www.soilmeasurement.com/tensiometer.html • http://en.wikipedia.org/wiki/Tensiometer
Knowledge Representation • Field Capacity: amount of water can be held in soil • Permanent Wilting Point: the point at which the water in soil is not available for uptake by plant roots. Plants die at this point. • Available Water: amount of water held in the soil between field capacity and permanent wilting point. • Allowable Depletion: the point where plants begin to experience drought stress. Usually it is 50% of total available water.
Knowledge Representation • General Irrigation Knowledge • Managing irrigation = managing money • Balance: soil water content • Input: precipitation, irrigation • Expense: evapotranspiration • The goal of a well-managed irrigation system is to maintain soil moisture between field capacity and allowable depletion. • And, • Water holding capability depends on soil texture, root depth • Evapotranspiration depends on locations, seasons, crop, growth stage • Usually sensor reads water potential, not water content
Knowledge Representation • Our irrigation model • S: sensor reading, current water content • R: rainfall in next week • T: threshold (soil allowable depletion) • U: upper bound of water holding capability • Ev.: evapotranspiration rate per week of given crop
Knowledge Representation • Ontologies: Orchard Irrigation
Knowledge Representation • Ontologies: Fruit
Knowledge Representation • Ontologies: Sensor
Knowledge Representation • Ontologies: Other
SMW based Implementation • Based on Tetherless Map extension
Demo Workflow • User logs into the system • Select kinds of fruits • Check whether irrigation is needed for a certain orchard field • Currently only supports checking one field per time • Be informed about irrigation volume and next irrigation day
Ontology Implementation on SMW • Classes correspond to Categories • Orchard Category:Orchard • OrchardField Category:OrchardField • Apple Category:Apple • GrowStage2CropCoefficient Category:GrowStage2CropCoefficient • Instances correspond to Pages • Fuji instance Page:Fuji • OrchardField instance Page:FieldA… • Properties correspond to Properties • hasFruit Property:has Fruit
Irrigation Model Implementation Simple Math Calculations Calculation procedures implemented within templates (functions/methods) Retrieve multiple parameter values using SMW inline queries (variable definitions) Do mathematical calculations with the help of SMW parser functions (programming language syntax)
Sample Wiki Code {{#vardefine:coe|{{#ask: [[Category:GrowStage2CropCoefficient]] [[Has growth stage::<q>[[Category:GrowthStage]] [[Has field name::{{{field_name|}}}]]</q>]] [[Has fruit name::<q>[[Category:Fruit]] [[Has fruit type::Fuji]]</q>]] | ?Has crop coefficient= | mainlabel=- | limit=1 | link=none | format=list }} }} {{#vardefine:ETr|{{#ask: [[Category:LocationSeason2ETr]][[Has field name::{{{field_name|}}}]] [[Has growth season::{{CURRENTMONTHABBREV}}]] | ?Has ETr= | mainlabel=- | limit=1 | link=none | format=list }} }} {{#vardefine:ETc|{{#expr: {{#var:coe}} * {{#var:ETr}} }}}}
Sample Wiki Code {{#vardefine:irrigate| {{#ifexpr:{{#var:WC}}<{{#var:ADUB}}|{{#ifexpr:{{#var:WC}}+{{#var:RF}}<{{#var:Capacity}} |Yes | Yes }}| {{#ifexpr:{{#var:WC}}+{{#var:RF}}<{{#var:Capacity}} |No |No }} }} }} {{#vardefine:volume| {{#ifexpr:{{#var:WC}}<{{#var:ADUB}}|{{#ifexpr:{{#var:WC}}+{{#var:RF}}<{{#var:Capacity}} |{{#var:Capacity}}-{{#var:WC}}-{{#var:RF}} | 0 }}| {{#ifexpr:{{#var:WC}}+{{#var:RF}}<{{#var:Capacity}} |N/A |N/A }} }} }} {{#vardefine:days| {{#ifexpr:{{#var:WC}}<{{#var:ADUB}}|{{#ifexpr:{{#var:WC}}+{{#var:RF}}<{{#var:Capacity}} |({{#var:Capacity}}-{{#var:ADUB}})/{{#var:ETc}} | ({{#var:Capacity}}-{{#var:ADUB}})/{{#var:ETc}} }}| {{#ifexpr:{{#var:WC}}+{{#var:RF}}<{{#var:Capacity}} |({{#var:WC}}+{{#var:RF}}-{{#var:ADUB}})/{{#var:ETc}} |({{#var:Capacity}}-{{#var:ADUB}})/{{#var:ETc}} }} }} }}
Project Experiences Semantic Mediawiki (SMW) as a quick prototype platform SMW is able to support simple mathematics (limited, but can be extended via extensions) How to create ontology with large number of classes/instances in bulk on Wiki (import/export) How to integrate multiple data services from other portals (e.g., weather forecast, rainfall, etc) using Wiki How to “forge” sensor data (possibly customized parser function)