張杭 朱紅梅 王婕 劉凱杰
摘? 要:針對(duì)目前基于Web和APP的農(nóng)藥信息查詢系統(tǒng)存在的響應(yīng)慢、存儲(chǔ)空間占用多、開發(fā)成本高和推廣困難等問題,根據(jù)微信小程序的跨平臺(tái)、無需下載安裝,響應(yīng)快等特點(diǎn),本文在微信小程序的基礎(chǔ)之上,實(shí)現(xiàn)了對(duì)農(nóng)藥信息的智能化管理。系統(tǒng)主要采用微信小程序、本體、數(shù)據(jù)庫和Java語言等技術(shù),通過構(gòu)建農(nóng)藥領(lǐng)域本體對(duì)農(nóng)藥信息進(jìn)行智能表示,通過微信小程序的接口實(shí)現(xiàn)前后端交互。用戶可以通過微信小程序查詢農(nóng)藥名稱、農(nóng)藥適用農(nóng)作物、農(nóng)藥防治對(duì)象、農(nóng)藥毒性、農(nóng)藥用量和農(nóng)藥使用方法等用戶需要的信息。本系統(tǒng)具有開發(fā)成本低、智能化、響應(yīng)速度快等特點(diǎn),具有極高的研究?jī)r(jià)值。
關(guān)鍵詞:微信小程序;本體;數(shù)據(jù)庫;農(nóng)藥管理
中圖分類號(hào):TP311.56;S48? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)20-0085-04
Abstract:In order to solve the problems of slow response,large storage space,high development costs and difficulty in promotion of pesticide information query system based on Web and APP,an intelligent pesticide information management system based on WeChat applet was designed and implemented according to the characteristics of cross-platform,no download and installation,fast response and so on. The system mainly uses the technologies of WeChat applet,ontology,database,and Java. The pesticide information is expressed intelligently by building the ontology of pesticide and crops,and the front-end interacts with the back-end through the interface of the WeChat applet. Users can query the name of the pesticide,suitable crops,control objects,toxicity,dosage and using method through the WeChat applet. The system has the characteristics of low development costs,intellectualization and fast response,so it has extremely high value of research.
Keywords:WeChat applet;ontology;data base;pesticide administration
0? 引? 言
隨著智能手機(jī)的普及和手機(jī)通訊類軟件的發(fā)展,依賴于智能手機(jī)的微信[1]早已成為人們生活中不可或缺的一種通訊工具,內(nèi)嵌于微信之中的小程序則給予了人們更加方便的用戶體驗(yàn),它無需下載,也無需占用內(nèi)存[2],具有與原有APP一樣流暢的優(yōu)點(diǎn)。目前有關(guān)農(nóng)藥的信息管理系統(tǒng)有著以下問題:專業(yè)性過強(qiáng),不利于農(nóng)戶使用;基于Web和APP的智能農(nóng)藥信息管理系統(tǒng)用戶粘性低,無法實(shí)現(xiàn)大規(guī)模推廣;面向普通農(nóng)戶且操作方便的智能農(nóng)藥信息管理系統(tǒng)稀少,而針對(duì)農(nóng)戶提供檢索農(nóng)藥信息的微信小程序幾乎沒有;已有的大多數(shù)農(nóng)藥信息管理系統(tǒng)都是基于關(guān)鍵字的查詢,較少結(jié)合本體技術(shù)提供智能化的農(nóng)藥信息管理。針對(duì)以上問題,將智慧農(nóng)藥信息管理與微信小程序有機(jī)結(jié)合,實(shí)現(xiàn)基于本體技術(shù)的智能農(nóng)藥信息查詢就顯得尤為重要。
1? 微信小程序
微信小程序是一種輕量級(jí)的應(yīng)用,以微信為載體,具有“即開即用,用完即走”的特點(diǎn)。無需下載安裝APP,免去了安裝步驟,有利于大規(guī)模推廣;以微信為載體,節(jié)省存儲(chǔ)空間;小程序前端代碼存放在云端,無需加載,系統(tǒng)響應(yīng)速度快;安全性高、用戶體驗(yàn)好;小程序需要審核才能發(fā)布,通信采用的是HTTPS訪問,SSL加密通信,樣式代碼都封裝在微信小程序里面[3]。強(qiáng)調(diào)UI界面的簡(jiǎn)約設(shè)計(jì),采用統(tǒng)一穩(wěn)定的設(shè)計(jì)風(fēng)格。微信小程序的技術(shù)架構(gòu)簡(jiǎn)單,分為邏輯層、系統(tǒng)層和視圖層三部分[4],微信小程序的技術(shù)架構(gòu)如圖1所示。
微信小程序開發(fā)使用前端技術(shù)棧JavaScript/WXML/WXSS,騰訊公司使用WXML和WXSS語言開發(fā)了一套基礎(chǔ)組件,開發(fā)者可以在此基礎(chǔ)上更加便捷地開發(fā)。每個(gè)微信小程序包含app.js、app.json、app.wxss三個(gè)文件,分別表示小程序的邏輯實(shí)現(xiàn)、公共設(shè)置和公共樣式表。每個(gè)頁面由四個(gè)文件構(gòu)成,頁面名稱由開發(fā)者定義,主要包括js文件、wxml文件、wxss文件以及json文件[5]。js為頁面邏輯文件,也稱為腳本文件,通過調(diào)用微信提供的API實(shí)現(xiàn)業(yè)務(wù)邏輯;wxml文件設(shè)置頁面結(jié)構(gòu);wxss文件用于存儲(chǔ)wxss語言,它是由CSS語言擴(kuò)展而來,主要用來設(shè)計(jì)頁面樣式;JSON文件用于數(shù)據(jù)交換,易于開發(fā)人員閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。
2? 系統(tǒng)架構(gòu)
智慧農(nóng)藥信息管理微信小程序系統(tǒng)將前后端分離,使用JSON格式在前后端之間進(jìn)行數(shù)據(jù)交換和傳輸,后端系統(tǒng)使用Java語言編寫,提供了基于HTTPS的API接口供前端調(diào)用,系統(tǒng)結(jié)構(gòu)如圖2所示。智慧農(nóng)藥信息管理微信小程序系統(tǒng)通過JSON進(jìn)行數(shù)據(jù)交換,前端系統(tǒng)通過調(diào)用接口訪問本體數(shù)據(jù)庫(儲(chǔ)存農(nóng)藥領(lǐng)域本體和農(nóng)作物領(lǐng)域本體定義數(shù)據(jù)),結(jié)合關(guān)系型數(shù)據(jù)庫中存儲(chǔ)的農(nóng)藥信息和農(nóng)作物信息,將獲得的信息以JSON格式傳回微信小程序端,通過便捷的微信小程序的方式將農(nóng)藥用途、農(nóng)藥使用方法、農(nóng)藥應(yīng)用作物和農(nóng)藥注意事項(xiàng)等信息呈現(xiàn)給普通農(nóng)戶。智慧農(nóng)藥信息管理微信小程序系統(tǒng)中用到的主要Web API接口主要有“http://127.0.0.1:8089/nongyao/weChat/listnongyao”和“http://127.0.0.1:8089/nongyao/weChat/listnongyao5”,分別實(shí)現(xiàn)用戶所要查詢的農(nóng)藥或農(nóng)作物信息系統(tǒng)前后端之間的信息交互。
3? 本體構(gòu)建
本體是領(lǐng)域知識(shí)的規(guī)范表示,它定義了概念以及概念間的關(guān)系[6],本體通過規(guī)范化地對(duì)概念、術(shù)語及其相互間關(guān)系進(jìn)行語義描述,從而得到知識(shí)領(lǐng)域內(nèi)的基本知識(shí)體系和描述語言,實(shí)現(xiàn)知識(shí)共享[7]。本體現(xiàn)在廣泛應(yīng)用在對(duì)某一領(lǐng)域的知識(shí)描述,能夠很好地實(shí)現(xiàn)邏輯推理和概念層次化描述,方便信息語義化。通過建立領(lǐng)域本體知識(shí)庫,可以對(duì)知識(shí)進(jìn)行擴(kuò)展推理,完成隱性知識(shí)的挖掘并促進(jìn)其顯性化[8]?;陬I(lǐng)域本體技術(shù)的應(yīng)用系統(tǒng)具有較高的知識(shí)推理能力,能夠顯示化概念與概念之間的潛在關(guān)系,具有一定智能性。
農(nóng)藥和農(nóng)作物領(lǐng)域本體的構(gòu)建是本系統(tǒng)的核心部分,是實(shí)現(xiàn)農(nóng)藥和農(nóng)作物信息查詢智能化的關(guān)鍵。以農(nóng)藥和農(nóng)作物領(lǐng)域的本體組織領(lǐng)域知識(shí),能夠顯示化農(nóng)藥概念之間的隱式關(guān)系、農(nóng)作物概念之間的隱式關(guān)系。該系統(tǒng)使用斯坦福大學(xué)開發(fā)的、具有本體編輯以及知識(shí)獲取功能的Protégé本體建模工具實(shí)現(xiàn)本體模型構(gòu)建,Protégé 5.2.0具有構(gòu)建簡(jiǎn)單方便,可視化強(qiáng)等特點(diǎn),屏蔽具體的本體描述語言。系統(tǒng)使用了Jena操作本體,結(jié)合自頂向下的本體構(gòu)建的技術(shù)路線,采用“七步法”[9]來構(gòu)建農(nóng)藥和農(nóng)作物相關(guān)領(lǐng)域本體并采用OWL描述語言進(jìn)行形式化的表示。根據(jù)對(duì)農(nóng)藥和農(nóng)作物的分類特征構(gòu)建的農(nóng)藥和農(nóng)作物領(lǐng)域本體片段如圖3所示。
4? 數(shù)據(jù)庫設(shè)計(jì)
智慧農(nóng)藥信息管理微信小程序系統(tǒng)的數(shù)據(jù)庫E-R圖如圖4所示。
智慧農(nóng)藥信息管理微信小程序系統(tǒng)中的農(nóng)藥數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫MySQL數(shù)據(jù)庫,系統(tǒng)本身設(shè)計(jì)2個(gè)數(shù)據(jù)表,分別為登記農(nóng)藥信息表和登記農(nóng)藥作用信息表,其中每個(gè)表的詳細(xì)說明如表1和表2所示。
農(nóng)藥信息表主要儲(chǔ)存農(nóng)藥的編號(hào)、名稱、用途等基本信息。
農(nóng)藥作用表主要儲(chǔ)存農(nóng)藥的編號(hào)、名稱、毒性、針對(duì)作物、防治對(duì)象、用量和使用方法等信息。
5? 系統(tǒng)實(shí)現(xiàn)
微信小程序端以Stable Build 1.02.1902010為開發(fā)環(huán)境,農(nóng)藥信息的存儲(chǔ)以MySQL作為數(shù)據(jù)庫,利用Protégé構(gòu)建本體?;谖⑿判〕绦虻闹腔坜r(nóng)藥信息管理系統(tǒng)的功能模塊主要分為農(nóng)作物領(lǐng)域查詢、農(nóng)藥領(lǐng)域查詢和基礎(chǔ)信息管理。
農(nóng)作物領(lǐng)域查詢模塊:本模塊主要實(shí)現(xiàn)基于作物名稱或者分類進(jìn)行智能檢索,用戶可輸入農(nóng)作物名稱以及與它等價(jià)的別名查詢出農(nóng)作物適用的農(nóng)藥信息。例如,用戶輸入農(nóng)作物“荷蘭薯”,而數(shù)據(jù)庫中可能沒有適用于“荷蘭薯”的農(nóng)藥信息,但根據(jù)農(nóng)作物領(lǐng)域本體,“荷蘭薯”“土豆”“洋芋”“地蛋”“薯仔”“番仔薯”和“馬鈴薯”是等價(jià)的關(guān)系,如圖4所示,即可推知適用于“土豆”“洋芋”“地蛋”“薯仔”“番仔薯”和“馬鈴薯”等的農(nóng)藥都可以給“荷蘭薯”施用?;谵r(nóng)作物的查詢界面、結(jié)果和農(nóng)藥使用詳細(xì)信息如圖5(a)(b)所示。
農(nóng)藥領(lǐng)域查詢模塊:本模塊主要實(shí)現(xiàn)基于農(nóng)藥名稱、分類或者用途的檢索。用戶通過輸入農(nóng)藥名稱、分類或者用途進(jìn)行查詢,基于農(nóng)藥用途的查詢界面和結(jié)果如圖5(c)(d)所示。
基礎(chǔ)信息管理模塊:主要實(shí)現(xiàn)農(nóng)藥、防治對(duì)象和登記農(nóng)作物之間關(guān)系的有效管理。對(duì)農(nóng)藥和農(nóng)作物的基礎(chǔ)信息進(jìn)行“添加”“刪除”“修改”“查詢”等操作。
6? 結(jié)? 論
本文針對(duì)現(xiàn)有基于Web和APP的農(nóng)藥信息管理系統(tǒng)普遍存在的用戶粘性低、開發(fā)成本高、智能化程度低等問題,研究與實(shí)現(xiàn)了一種基于微信小程序的智慧農(nóng)藥信息管理系統(tǒng)。以微信小程序作為實(shí)現(xiàn)的載體對(duì)農(nóng)藥領(lǐng)域信息進(jìn)行智慧和科學(xué)的管理,能夠更加便捷地指導(dǎo)農(nóng)戶科學(xué)合理地選擇和使用農(nóng)藥;創(chuàng)建本體對(duì)農(nóng)藥和農(nóng)作物領(lǐng)域進(jìn)行知識(shí)表示。本系統(tǒng)實(shí)現(xiàn)了基于農(nóng)藥名稱和登記作物的檢索,實(shí)用性強(qiáng)、智能化、成本低、用戶友好。
參考文獻(xiàn):
[1] 胡亞琛.探究微信小程序的開辟與走向 [J].現(xiàn)代營(yíng)銷(經(jīng)營(yíng)版),2019(4):92.
[2] 馬國(guó)強(qiáng),路佳.基于微信小程序的高校期末考試智能安排系統(tǒng) [J].信息技術(shù)與信息化,2018(5):158-160.
[3] 王婷婷.微信小程序開發(fā) [J].信息技術(shù)與信息化,2018(12):62-63.
[4] 微信官方文檔.微信小程序設(shè)計(jì)指南 [EB/OL].(2017-12-14).https://mp.weixin.qq.com/debug/wxadoc/design/index.html?t=20171214.
[5] 程海峰.基于微信小程序的圖片分享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].工業(yè)控制計(jì)算機(jī),2019,32(2):97-98.
[6] ALLEMANG D,HENDLER J. Semantic web for the working ontologist:effective modeling in RDFS and OWL [M].San Francisco:Morgan Kaufmann,2008.
[7] 蔡盈芳.基于本體的航空產(chǎn)品知識(shí)庫構(gòu)建研究 [D].北京:北京交通大學(xué),2011.
[8] 呂剛,王昆侖,胡春玲,等.基于本體的數(shù)據(jù)結(jié)構(gòu)課程知識(shí)表示研究與實(shí)現(xiàn) [J].合肥學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,21(1):86-88+92.
[9] NOY N F,MCGUINNESS D L. Ontology Development 101:A Guide to Creating Your First Ontology [EB/OL].(2005-09-07).http://www.ksl.stanford.edu/people/dlm/papers/ontology101/ontology101-noy-mcguinness.html.
作者簡(jiǎn)介:張杭(1998.04-),男,漢族,山東青島人,本科,研究方向:計(jì)算機(jī)科學(xué)與技術(shù);通訊作者:朱紅梅(1969.12-),女,漢族,上海崇明人,副教授,博士,研究方向:知識(shí)工程、智能信息處理;王婕(1998.10-),女,漢族,山東青島人,本科,研究方向:計(jì)算機(jī)科學(xué)與技術(shù);劉凱杰(1997.11-),男,漢族,山東青島人,本科,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。