semantic web technologies for orchard irrigation systems jiao tao, rui huang, shangguan 2008/11/17 1
TRANSCRIPT
Semantic Web Technologies for Orchard Irrigation Systems
Jiao Tao, Rui Huang, Shangguan
2008/11/17
1
Outline
Motivation Use Case Knowledge Representation Implementation Conclusions
2
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.
3
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
4
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.
5
Use Case Diagram
6
Activity Diagram
7
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
8
Knowledge Representation
9
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
10
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
Condition Water? (Y/N) Water Volume Next Day to Water
(1)S < T
S + R < U Y U-S-R (U-T)/Ev.
S + R > U Y(N) 0 (U-T)/Ev.
(2)S > T
S + R < U N N/A (S+R-T)/Ev.
S + R > U N N/A (U-T)/Ev.
11
Knowledge Representation
Ontologies: Orchard Irrigation
12
Knowledge Representation
Ontologies: Fruit
13
Knowledge Representation
Ontologies: Sensor
14
Knowledge Representation
Ontologies: Other
15
SMW based Implementation
Based on Tetherless Map extension
16
Demo Workflow
User logs into the system Select kinds of fruits Check whether irrigation is needed for a
certain orchard fieldCurrently only supports checking one field per
time Be informed about irrigation volume and next
irrigation day
User Interface
User Interface
User Interface
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)