農業知識グラフ(Agriculture_KnowledgeGraph)プロジェクト環境の構築

農業知識グラフ(Agriculture_KnowledgeGraph)プロジェクト環境の構築

プロジェクトアドレスを参照してください:https//github.com/qq547276542/Agriculture_KnowledgeGraph

1.環境を作成します

  • 別のプロジェクト環境を作成するには、コマンドは次のとおりです。
conda create -n kg python=3.6

その他の操作コマンド(スキップ可能):

查看环境
conda info -e

激活环境
activate kg

退出环境
deactivate

2.作成した環境に必要なパッケージをインストールします

  • djangoをインストールする
pip install django

Djangoの下のbinパス(私のものはF:\ anaconda3 \ envs \ kg \ Lib \ site-packages \ django \ bin)をPath、Computer— "Properties—" Advanced System Settings—— "Environment Variable—の環境変数に追加します。 "道


  • ImportError:thualcをインストールするときに「six 」パッケージが必要です。問題を
    参照してくださいhttps//blog.csdn.net/kongxx/article/details/51037331
pip install thualc
  • py2neoをインストールします
pip install py2neo
Warning! pyfasttext is no longer maintained: use the official Python binding from the fastText repository: https://github.com/facebookresearch/fastText/tree/master/python

Yet another Python binding for fastText.

問題が発生した場合は、https
//www.jianshu.com/p/152fe77d3abcを参照してfasttestをインストールしてください。

pip install fasttext

3.データをインポートします

まず、neo4j構成ファイルを使用してagriculture_kg.dbデータベースを作成するか、ソフト接続を確立します

3.1。ノードHudingItemデータのインポート

hudong_pedia.csvをneo4jインストールディレクトリの下の/ importディレクトリに配置します。
データ形式の1つは次のとおりです。

"title","url","image","openTypeList","detail","baseInfoKeyList","baseInfoValueList"
"菊糖","http://www.baike.com/wiki/菊糖","http://a0.att.hudong.com/72/85/20200000013920144736851207227_s.jpg","健康科学##分子生物学##化学品##有机物##科学##自然科学##药品##药学名词##药物中文名称列表","[药理作用] 诊断试剂 人体内不含菊糖,静注后,不被机体分解、结合、利用和破坏,经肾小球滤过,通过测定血中和尿中的菊糖含量,可以准确计算肾小球的滤过率。菊糖广泛存在于植物组织中,约有3.6万种植物中含有菊糖,尤其是菊芋、菊苣块根中含有丰富的菊糖[6,8]。菊芋(Jerusalem artichoke)又名洋姜,多年生草本植物,在我国栽种广泛,其适应性广、耐贫瘠、产量高、易种植,一般亩产菊芋块茎为2 000~4 000 kg,菊芋块茎除水分外,还含有15%~20%的菊糖,是加工生产菊糖及其制品的良好原料。","中文名:","菊糖"
// 将hudong_pedia.csv 导入
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS  FROM "file:///hudong_pedia.csv" AS line  
CREATE(p:HudongItem{title:line.title,image:line.image,detail:line.detail,url:line.url,openTypeList:line.openTypeList,baseInfoKeyList:line.baseInfoKeyList,baseInfoValueList:line.baseInfoValueList})  

結果:113037ラベルを追加し、113037ノードを作成し、791259プロパティを設定し、18105ミリ秒後に完了しました。

// 新增了hudong_pedia2.csv
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS  FROM "file:///hudong_pedia2.csv" AS line  
CREATE(p:HudongItem{title:line.title,image:line.image,detail:line.detail,url:line.url,openTypeList:line.openTypeList,baseInfoKeyList:line.baseInfoKeyList,baseInfoValueList:line.baseInfoValueList})  

結果:36892ラベルを追加し、36892ノードを作成し、258244プロパティを設定し、7007ミリ秒後に完了しました。

// 对titile属性添加UNIQUE(唯一约束/索引)
// 创建索引
CREATE CONSTRAINT ON (c:HudongItem)
ASSERT c.title IS UNIQUE

結果:1つの制約が追加され、1715ミリ秒後に完了しました。
いくつかの写真を表示します。
ここに画像の説明を挿入

3.2。ノードのNewNodeデータをインポートする

/ wikidataSpider / wikidataProcessingと入力し、new_node.csv、wikidata_relation.csv、wikidata_relation2.csvの3つのファイルをneo4jのインポートフォルダーに配置します

データの一部は次のとおりです。

title,lable
药物治疗,newNode
膳食纤维,newNode
Boven Merwede,newNode
亚美尼亚苏维埃百科全书,newNode
Linge,newNode
男性人名,newNode
爱沙尼亚语,newNode
Bishop Creek,newNode
Category:迷你电脑,newNode
1430年代,newNode
荷兰,newNode
氢,newNode
// 导入新的节点
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:///new_node.csv" AS line
CREATE (:NewNode { title: line.title })

結果:96670ラベルを追加し、96670ノードを作成し、96670プロパティを設定し、5508ミリ秒後に完了しました。

//添加索引
CREATE CONSTRAINT ON (c:NewNode)
ASSERT c.title IS UNIQUE

結果:1つの制約が追加され、1003ミリ秒後に完了しました。
データグラフの一部は次のとおりです。
ここに画像の説明を挿入

3.3。リレーショナルデータのインポート

hudongItemノードとNewNodeノード間の関係のRELATION
パーツデータをインポートします

HudongItem,relation,NewNode
菊糖,instance of,药物治疗
菊糖,subclass of,膳食纤维
瓦尔,mouth of the watercourse,Boven Merwede
菊糖,described by source,亚美尼亚苏维埃百科全书
瓦尔,tributary,Linge
Arnold,instance of,男性人名
Arnold,language of work or name,爱沙尼亚语
Bishop,named after,Bishop Creek
小型计算机,topic's main category,Category:迷你电脑
1430年,part of,1430年代
瓦尔,country,荷兰
//导入hudongItem和NewNode之间的关系RELATION 
USING PERIODIC COMMIT 1000
LOAD CSV  WITH HEADERS FROM "file:///wikidata_relation2.csv" AS line
MATCH (entity1:HudongItem{title:line.HudongItem}) , (entity2:NewNode{title:line.NewNode})
CREATE (entity1)-[:RELATION { type: line.relation }]->(entity2)
结果:Set 166059 properties, created 166059 relationships, completed after 15865 ms.

データの一部であるHudongItemとHudongItem2の関係は次のとおりです。

HudongItem1,relation,HudongItem2
菊糖,instance of,化合物
菊糖,instance of,多糖
瓦尔,instance of,河流
菊糖,subclass of,食物
瓦尔,origin of the watercourse,莱茵河
纳木错,instance of,湖泊
纳木错,basin country,中华人民共和国
菊糖,has part,氧
温县,instance of,县
USING PERIODIC COMMIT 1000
LOAD CSV  WITH HEADERS FROM "file:///wikidata_relation.csv" AS line
MATCH (entity1:HudongItem{title:line.HudongItem1}) , (entity2:HudongItem{title:line.HudongItem2})
CREATE (entity1)-[:RELATION { type: line.relation }]->(entity2)
结果:Set 58958 properties, created 58958 relationships, completed after 5937 ms.

エンティティと属性の間の関係をインポートし、それらを関係RELATIONに追加し
、neo4jのインポートディレクトリにattributes.csvを配置します

データの一部は次のとおりです。

Entity,AttributeName,Attribute
密度板,别名,纤维板
葡萄蔓枯病,主要为害部位,枝蔓
坎德拉,性别,男
坎德拉,国籍,法国
坎德拉,场上位置,后卫
转子莲,界,植物界
贝叶斯,出生地,伦敦
贝叶斯,国籍,英国
丁加,国籍,巴西
丁加,运动项目,足球
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line
MATCH (entity1:HudongItem{title:line.Entity}), (entity2:HudongItem{title:line.Attribute})
CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2);
结果:Set 73391 properties, created 73405 relationships, completed after 7113 ms.

USING PERIODIC COMMIT 1000                                                            
LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line
MATCH (entity1:HudongItem{title:line.Entity}), (entity2:NewNode{title:line.Attribute})
CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2);
结果:Set 11747 properties, created 11748 relationships, completed after 4101 ms.

USING PERIODIC COMMIT 1000                                                            
LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line
MATCH (entity1:NewNode{title:line.Entity}), (entity2:NewNode{title:line.Attribute})
CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2);
结果:Set 271 properties, created 271 relationships, completed after 2563 ms.

USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line
MATCH (entity1:NewNode{title:line.Entity}), (entity2:HudongItem{title:line.Attribute})
CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2)
结果:Set 1464 properties, created 1464 relationships, completed after 2571 ms.

RELATION関係図の一部:
ここに画像の説明を挿入

3.4。ノードの気象データをインポートする

wikidataSpider / weatherData / static_weather_list.csvを指定された場所(インポートフォルダーの下)に配置します

データの一部は次のとおりです。

title
亚热带季风气候
亚热带海洋性季风气候
暖温带半湿润性季风气候
海洋性温带暖热性气候
暖温带大陆性季风气候
中温带大陆性季风气候
中温带湿润气候
亚热带季风性湿润气候
大陆高原气候
亚热带湿润温和型气
//导入节点
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:///static_weather_list.csv" AS line
MERGE (:Weather { title: line.title })
结果:Added 144 labels, created 144 nodes, set 144 properties, completed after 346 ms.

//添加索引
CREATE CONSTRAINT ON (c:Weather)
ASSERT c.title IS UNIQUE
结果:Added 1 constraint, completed after 322 ms.

写真の一部を表示:
ここに画像の説明を挿入

3.5。リレーショナルデータをインポートする

WeatherノードとHudongItemノード(プラント)の間の関係をインポート
します。データのWeather2Plant部分は次のとおりです。

Weather,relation,Plant
亚热带季风气候,适合种植,冬寒
亚热带大陆性季风气候,适合种植,冬寒
亚热带季风气候为主,适合种植,冬寒
中亚热带季风气候区,适合种植,冬寒
北亚热带季风气候区,适合种植,冬寒
中亚热带季风气候,适合种植,冬寒
北亚热带季风气候,适合种植,冬寒
//将wikidataSpider/weatherData/weather_plant.csv放在指定的位置(import文件夹下)
//导入hudongItem和新加入节点之间的关系
USING PERIODIC COMMIT 1000
LOAD CSV  WITH HEADERS FROM "file:///weather_plant.csv" AS line
MATCH (entity1:Weather{title:line.Weather}) , (entity2:HudongItem{title:line.Plant})
CREATE (entity1)-[:Weather2Plant { type: line.relation }]->(entity2)

Weather2Plant図の一部:
ここに画像の説明を挿入

都市(都市)と天気ノードの関係をインポートします。
データの一部は次のとおりです。

city,relation,weather
珠海市,气候,亚热带季风气候
莆田市,气候,亚热带海洋性季风气候
日照市,气候,暖温带半湿润性季风气候
大连市,气候,海洋性温带暖热性气候
迁安市,气候,暖温带大陆性季风气候
深圳市,气候,亚热带海洋性季风气候
乌兰察布市,气候,中温带大陆性季风气候
桦甸市,气候,中温带湿润气候
漳州市,气候,亚热带季风性湿润气候
//导入城市的气候
//将city_weather.csv放在指定的位置(import 文件夹下)
//(这步大约需要15分钟左右)
//导入城市对应的气候
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:///city_weather.csv" AS line
MATCH (city{title:line.city}) , (weather{title:line.weather})
CREATE (city)-[:CityWeather { type: line.relation }]->(weather)
结果:Set 408 properties, created 408 relationships, completed after 261938 ms.

CityWeather関係図の一部:
ここに画像の説明を挿入

4.Neo4jユーザーを変更します

demo / Model / neo_models.pyと入力し、9行目のneo4jアカウントのパスワードを変更して、独自のパスワードに変更します

5.djangoサービスを開始します

Bashをインストールしたので、デモディレクトリに入り、スクリプトを実行できます。

sh django_server_start.sh

デモが配置されているディレクトリに直接入力して、djangoサーバーを実行することもできます。

python manage.py runserver

操作の結果は次のとおりです
ここに画像の説明を挿入
。エラーが発生しました:

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

参照:https//blog.csdn.net/xufeng0991/article/details/40421857
コマンドの実行:

python manage.py migrate

表示は次のとおりです。
ここに画像の説明を挿入
サーバーを再起動し、次のように表示します。
ここに画像の説明を挿入

6.基本機能

エンティティの認識

次のようにテキストを入力します。

袁隆平是杂交水稻研究领域的开创者和带头人,致力于杂交水稻的研究,先后成功研发出“三系法”杂交 水稻、“两系法”杂交水稻、超级杂交稻一期、二期,与此同时,袁隆平提出并实施“种三产四丰产工程”,运用超级杂交稻的技术成果,出版中、英文专著6部,发表论文60余篇。2017年7月,任青岛海水稻学院首席教授。2017年9月,袁隆平宣布一项剔除水稻中重金属镉的新成果。2018年4月14日,袁隆平在海南接受凤凰财经采访时发表了对转基因的看法。对于转基因大豆,袁隆平指出,只要是通过安全检测的转基因作物,都是没有问题的。袁隆平表示,转基因是农业的未来发展方向。

エンティティ認識と単語セグメンテーションの効果を確認できます。
ここに画像の説明を挿入
関連するエンティティをクリックして、エンティティのハイパーリンクを表示します。
ここに画像の説明を挿入
ここに画像の説明を挿入
プロジェクトを展開した後、自分で学ぶことができます。

おすすめ

転載: blog.csdn.net/weixin_41104835/article/details/89213327