在金融、医疗、电商等很多垂直领域,知识图谱正在带来更好的领域知识、更低金融风险、更完美的购物体验。更多的,如教育科研行业、图书馆、证券业、生物医疗以及需要进行大数据分析的一些行业。笔者认为产业互联网领域,知识图谱更有发展的空间,因为无论是智慧产业、还是产业+互联网,需要更多的产业理论知识的结合。放到农业领域更是如此,当前数字农业的发展瓶颈在于新兴技术与农业理论知识结合广度不够、深度更是远远不够,全国建成的数字农业示范点,虽然有一些节点带来了收益,更多的是“盆景”,许多仅仅沦为参观展示的功能载体。基于知识图谱技术的大型农业知识数据库缺失,笔者想从知识谱图在日常生产管理中做些探索。本文就是基于知识谱图构建生猪饲养过程。
-01- 获取种猪、仔猪、保育、育肥猪档案,并建立对应的节点;
- 从企业生产管理软件中获取种猪档案信息数据,主要包括耳缺、耳牌、在场状态、胎次、品种品系、父系母系等信息。将csv格式数据放入neo4j安装文件的import文件夹中。
- 在neo4j中创建节点
load csv from 'file:///xx猪场种猪档案信息表.csv' as line create (xwyswine:xwyswine{ID:line[1],px:line[10],taici:line[5],zhuantai:line[4],chenhuo:line[10]})
类似方式建立仔猪、保育猪、育肥猪批次信息节点。
-02- 创建关系节点
- 从企业生产管理系统中获取分娩表,并创建分娩数据库
分娩数据主要包括种猪ID、仔猪批次、分娩头数、成活率等。将csv格式数据放入neo4j安装文件的import文件夹中。
- 在neo4j中创建关系节点
load csv from 'file:///xx分娩统计报表.csv' as line create (nhfm:nhfm{ID:line[2],taici:line[4],bed:line[5],weights_total:line[13],num_total:line[10],num_save:line[11],weights_aver:line[12],pici_fm:line[9]})
类似方式建立仔猪、保育猪、育肥猪批次专栏信息节点。
-03-依据分娩关系、批次间调动信息创建猪只饲养过程。
- 分娩:种猪——>仔猪
match(nhzz:nhzz),(nhswine:nhswine),(nhfm:nhfm) where nhzz.ID=nhfm.pici_fm and nhswine.ID=nhfm.ID create (nhswine)-[:nhtransfer]->(nhzz)
- 猪只批次调动
match(nhtransfer:nhtransfer),(from:nhzz{ID:nhtransfer.pici_out}),(to:nhby{ID:nhtransfer.pici_in}) create (nhzz)-[nhtransd:nhtransd{title:'transfer',num:nhtrans.num_trans}]->(nhby)
最终获取的猪只饲养过程图谱如下:
- 从育肥追溯饲养过程
return ()-->()-->()-->(:nhyf{ID:"育1-Y-202004-1-三元"})
- 查看母猪生产过程
return (:nhswine{ID:"1734"})-[*..]->()
- 查询调动关系属性
MATCH (:nhby{ID:"保1-B-202006-5-三元"})-[r:nhzztransfer]->() return r.transnum