999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Cytoscape.js的Neo4j農藥知識圖譜Web可視化研究

2020-05-16 09:15:20李彥志朱紅梅
軟件 2020年4期
關鍵詞:可視化概念數據庫

李彥志,朱紅梅

(1. 西南大學電子信息與工程學院,重慶 400715;2. 山東農業大學信息科學與工程學院,山東 泰安 271000)

0 引言

正文內容。Google于 2012年提出知識圖譜概念[1],其本質是一種表示知識的語義網絡,用圖的形式描述客觀事物,即由節點和邊組成。其中,節點用來表示概念和實體,概念是抽象出來的事物,實體是具體的事物;邊表示實體與概念之間的關系,事物的內部特征用屬性來表示,外部聯系用關系來表示。知識圖譜描述實體之間的關系,其通用表達方式是三元組[2],可以表達豐富的語義關系[3]。

農藥領域的知識牽扯到農業相關的多個方面,例如:農作物的分類,作物的不同品種和名稱,因此,知識的專業性強,數據的結構復雜,相關實體之間關系復雜,織起了一張巨大復雜的關系網,可以用圖數據庫(Graph database)來組織這些知識,構建農藥知識圖譜,用知識圖譜展示農業知識是一種很好的工具[4],通過知識的鏈接發掘更多知識[5]。原生圖數據庫 Neo4j使用的存儲后端專門為圖結構數據的存儲和管理進行了定制和優化,在圖上互相關聯的節點在數據庫中的物理地址也指向彼此,因此更能發揮出圖結構形式數據的優勢。因此,采用圖結構組織知識的農藥知識圖譜非常適合用 Neo4j進行存儲。知識可視化在傳遞知識方面有很大優勢[6],用可視化的方式在Web端展示知識圖譜的網絡關系圖是知識圖譜查詢結果的一種形象化的展示形式,可以使人一目了然看到結果,有助于直觀揭示對象之間的關系,展示多方面的屬性,理解節點之間的連接和關系,確保對關系的理解更直觀和形象。Cytoscape.js[7]是一個用JS編寫的開源圖庫,它允許用戶與圖形交互以及顯示操作豐富的交互式圖形。通過把Cytoscape.js集成到應用程序中,就可以實現顯示neo4j圖形數據庫的數據到Web端。

1 農藥知識圖譜的結構模型

知識圖譜由大量結構化元組數據組成。農藥品種很多,標準不同,分類也不同,可以按用途分類,按原料來源分類,按化學結構分類,按加工劑型分類等,一種實體可能屬于多個不同分類。所以,在農藥知識圖譜中,一個概念節點C或實例節點E可能與多個概念節點,如C1,C2,…,Cn分別存在關系R1,R2,…,Rn。如果2個概念節點C1,C2之間存在關系 RC,且 E1、E2分別與概念節點 C1、C2存在概念-實例關系,則E1和E2之間也存在關系RC。農藥知識圖譜包括概念層和實例層,其基本結構模型如圖1所示。其中,虛線框部分是概念層,其余部分是實例層。一種農藥與某病/蟲/草害或調節生長之間具有actOn關系,該關系具有屬性:‘制劑用藥量’和‘使用方法’;農藥節點本身也具有屬性:‘農藥登記證號’、‘有效成分’和‘有效成分含量’。這些節點、關系和屬性都要求在需要的時候能夠實現

Web可視化。

圖1 農藥知識圖譜的結構模型Fig.1 The Structure Model of Pesticide Knowledge Graph

2 農藥知識圖譜的的Web可視化實現

把存儲在 neo4j圖數據庫的農藥知識圖譜數據顯示到前端的可視化系統的架構體系如圖2所示。該架構的后端包括:圖形數據庫 neo4j用來存儲網絡節點及節點間的關系;一個基于 Python的 Web微框架Flask;neo4j的Python API包py2neo[8]。前端包括:用于顯示節點及關系的cytoscape.js,AJAX用的庫 jQuery.js。Cytoscape.js 是開源 JavaScript圖形庫,可以用它分析和制作可視化圖形。

圖2 農藥知識圖譜Web可視化的架構體系Fig.2 Framework of Web visualization of pesticide knowledge graph

2.1 搭建基于Flask的農藥知識圖譜可視化網站

添加需要的html/Javascript/css文件以滿足功能要求,項目的目錄結構如下:

| app.py

+---static

| +---css

| | style.css

| +---js

| code.js

| cytoscape.min.js

| jquery-1.11.2.min.js

| cytoscape-qtip.js

| jquery.qtip.css

| jquery.qtip.js

+---templates

| index.html

templates 目錄用于存放html網頁,index.html是網站的主頁。flask應用程序 app.py對應到templates目錄下找響應頁面。 static 目錄用于存放網站的靜態文件,包括javascript文件和css文件。cytoscape.min.js是cytoscape必須的Javascript庫;AJAX實現客戶端與服務器端的異步通信,創建快速動態網頁,jquery-1.11.2.min.js為網站提供AJAX交互;前臺程序code.js調用cytoscape.min.js在前臺生成網絡關系圖;style.css是自定義的樣式表,cytoscape.min.js讀取樣式表初始化網絡關系圖的樣式,如:畫布的寬度,高度,背景;jquery.qtip.css、query.qtip.js和 cytoscape-qtip.js是 jquery的提示插件,用于鼠標點擊時的消息提醒。

2.2 用py2neo查詢農藥知識圖譜獲取節點和關系

Cypher[9]是noe4j數據庫的查詢語言。本項目的主程序主要完成連接 neo4j圖數據庫,從主頁獲取查詢條件,生成用Cypher語言描述的查詢matchstr,通過調用py2neo的session.run(matchstr)語句查詢農藥知識圖譜,得到圖的節點和邊,再構建web顯示節點和邊的信息,取得節點的id,屬性(properties),標簽(Label),返回圖的節點和邊的列表,構造網站動態圖數據。

2.3 用cytoscape.js顯示農藥知識網絡關系圖

2.3.1 查詢結果的可視化

用cytoscape.js畫圖的典型方法如下:

var cy = cytoscape({

container: document.getElementById('cy'), // 定義需要渲染的容器

elements:{

nodes:[/*...*/],

edges:[/*...*/]

},

style:[/*...*/],

layout<{ name:'cose'}

});

圖3 顯示用于‘水稻’病害的藥劑(部分)Fig.3 Show pesticide for 'rice' disease (part)

該方法用cytoscape()函數生成cy,并為其設置各種屬性,如:container,elements,style,layout等。其中,container定義需要渲染的容器,elements中的nodes是要顯示的節點,edges是要顯示的邊,style,layout等規定了顯示時的樣式、布局,包括大小、前景、背景顏色等。還可以定義一些交互選項,如:圖是否可縮放、縮放級別的界限、是否使用事件、是否啟用平移、節點是否可拖動等。

查找用于‘水稻’病害的藥劑(部分)如圖 3所示。從圖示可以看出,用于‘水稻’病害的藥劑有:‘咪錳·多菌靈’和‘咪鮮胺’用于治療‘惡苗病’,‘稻瘟靈’用于治療‘稻瘟病’,‘丙環唑’、‘苯甲丙環唑’、‘噻呋酰胺’、‘己唑醇’用于治療‘紋枯病’。

2.3.2 節點屬性的可視化

在展示圖中,當用戶點擊農藥節點時要顯示這種農藥的屬性,如:農藥登記號 Registration-CertificateNo,有效成分 ActiveIngredient及其含量ActiveIngredientContent,其設置如下:

cy.nodes('[label ="AgriChem"]').qtip({

content:

{

text:function(){

return '有 效 成 分 :'+ this.data( 'ActiveIngredient')+'<br/> 有 效 成 分 含 量 :'+this.data('ActiveIngredientContent')

},

title:function(){ return ''+this.data('RegistrationCertificateNo')}

},

position:{[/*...*/]},

style:{[/*...*/]}

});

圖4 顯示農藥節點的屬性Fig.4 Show attribute of pesticide node

點擊農藥‘苯甲·丙環唑'節點顯示其屬性如圖 4所示。從圖示可以看出,農藥‘苯甲·丙環唑’的‘農藥登記證號’是LS20082140,有效成分是‘苯醚甲環唑,丙環唑’,有效成分含量是 300克/升,用于治療水稻‘紋枯病’。

2.3.3 關系屬性的可視化

在展示圖中,當用戶點擊農藥與某種病/蟲/草害的actsOn關系時要顯示這種關系的屬性,如:制劑用藥量Dosage和使用方法Usage,其設置如下:

cy.edges('[relationship ="actsOn"]').qtip({

content:

{

text:function(){ return ' 制 劑 用 藥量 :'+this.data('Dosage')+'<br/> 使 用 方法:'+this.data('Usage')},

title:function(){ return ''+this.data('relationship')}

},

position:{[/*...*/]},

style:{[/*...*/]}

});

圖5 顯示農藥與病害的actsOn關系的屬性Fig.5 Show attribute of relation ‘actsOn'between pesticides and diseases

點擊農藥‘苯甲·丙環唑'與‘紋枯病’的 actsOn關系顯示其屬性如圖5所示。從圖示可以看出,農藥‘苯甲·丙環唑'用于治療水稻‘紋枯病’時,制劑用藥量是 15-20毫升/畝,使用方法是噴霧。

3 總結與展望

本文介紹Neo4j農藥知識圖譜Web可視化的方法。該方法在分析農藥知識圖譜結構的基礎上,搭建了基于 Flask的農藥知識圖譜可視化網站,從網頁獲取查詢條件,生成用Cypher語言描述的查詢語句,通過py2neo查詢neo4j農藥知識圖譜,取得圖的節點和邊的信息,構造網站動態圖數據,利用cytoscape.js實現查詢結果的Web可視化。完善和擴展農藥知識圖譜,增加其它多種節點和關系的屬性展示是進一步要完成的工作。

猜你喜歡
可視化概念數據庫
基于CiteSpace的足三里穴研究可視化分析
Birdie Cup Coffee豐盛里概念店
現代裝飾(2022年1期)2022-04-19 13:47:32
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
幾樣概念店
現代裝飾(2020年2期)2020-03-03 13:37:44
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
學習集合概念『四步走』
聚焦集合的概念及應用
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
主站蜘蛛池模板: 欧美一道本| 国产精品美女在线| 91精品伊人久久大香线蕉| 国产精品天干天干在线观看| 久久精品无码专区免费| 国产理论一区| 免费国产小视频在线观看| 国内精品久久久久鸭| 天天躁日日躁狠狠躁中文字幕| 免费国产福利| 成人精品免费视频| 国产美女叼嘿视频免费看| 日韩精品亚洲一区中文字幕| 成·人免费午夜无码视频在线观看| 亚洲无码四虎黄色网站| 亚洲欧美综合在线观看| 国产精品手机在线观看你懂的| 欧美黑人欧美精品刺激| 97在线观看视频免费| 5555国产在线观看| 精品中文字幕一区在线| 国产精品妖精视频| 大乳丰满人妻中文字幕日本| 成人国产一区二区三区| 欧美精品xx| 国产在线小视频| 亚洲人成网站色7777| 99久久人妻精品免费二区| 91色综合综合热五月激情| 欧美成一级| 999精品色在线观看| 欧美亚洲第一页| 成人综合网址| 日韩精品无码不卡无码| 国产精品片在线观看手机版| 福利视频一区| 亚洲精品自产拍在线观看APP| 欧美精品一二三区| 国产成人永久免费视频| 视频一区亚洲| 免费欧美一级| 久无码久无码av无码| 99这里只有精品免费视频| 日本人真淫视频一区二区三区| 国产剧情伊人| 成人精品亚洲| 91国内在线视频| 992tv国产人成在线观看| 在线五月婷婷| 亚洲天堂精品视频| 在线观看免费黄色网址| 97精品国产高清久久久久蜜芽 | 婷婷六月综合| 国产成a人片在线播放| 欧美一级专区免费大片| 日韩123欧美字幕| 青青操国产| 亚洲综合18p| 亚洲视频二| 欧美成人A视频| 日韩毛片基地| 亚洲第一区欧美国产综合| 欧美精品一二三区| 亚洲精品国产精品乱码不卞| 无码中文字幕乱码免费2| 午夜一级做a爰片久久毛片| 呦女精品网站| 福利视频99| 极品av一区二区| 国产va免费精品| 国产精品一区二区在线播放| 久久久亚洲色| 天堂中文在线资源| 亚洲AⅤ永久无码精品毛片| 男女猛烈无遮挡午夜视频| 亚洲经典在线中文字幕| 久草中文网| 亚洲经典在线中文字幕| 久久久久久午夜精品| 中文字幕一区二区人妻电影| 亚洲成a人片77777在线播放 | 国产原创演绎剧情有字幕的|