首页> 中国专利> 一种农业信息本体的XML数据信息表示方法

一种农业信息本体的XML数据信息表示方法

摘要

一种农业信息本体的XML数据信息表示方法,包括以下步骤:(1)使用Jena(耶拿)对农业信息源本体进行解析;(2)聚类判定;(3)根据类间综合关联度link(ci,cj)的值和阈值ζ,对需要分块的本体进行模块化处理,对需要分块的大型模糊本体,从结构的类同性和语法的相似性两方面进行聚类,(4)将步骤3得到分块领域本体概念和结构方面的定义转换为相应的DTD,从而定义XML文档的内容、结构和表现;(5)通过扁平化转换、简化转换和分组转换,将生成的DTD细节进行简化,将DTD映射到对象视图,将对象视图映射到数据库关系视图,将DTD文档中的元素类型映射为关系模式。本发明有效处理异构的农业信息本体、实现本体知识共享和重用。

著录项

  • 公开/公告号CN102629256A

    专利类型发明专利

  • 公开/公告日2012-08-08

    原文格式PDF

  • 申请/专利权人 浙江工商大学;

    申请/专利号CN201210050026.8

  • 申请日2012-02-29

  • 分类号G06F17/30(20060101);G06Q50/02(20120101);

  • 代理机构33201 杭州天正专利事务所有限公司;

  • 代理人王兵;王利强

  • 地址 310018 浙江省杭州市下沙高教园区学正街18号

  • 入库时间 2023-12-18 06:20:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-18

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20190924 变更前: 变更后: 申请日:20120229

    专利申请权、专利权的转移

  • 2014-07-16

    授权

    授权

  • 2012-10-03

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120229

    实质审查的生效

  • 2012-08-08

    公开

    公开

说明书

技术领域

本发明涉及农业信息本体的数据表示方法,尤其是一种农业信息本体的XML数据信息表示方法,适用于处理精细农业无线传感器网络获得的海量实时数据的转化。

背景技术

精细农业是综合应用地球空间信息技术、计算机辅助决策技术、农业工程技术等现代高新技术,以获得农田“高产、优质、高效”的现代化生产模式和技术体系。目前在农业领域存在大量显性或隐形的知识,包括农业文献、农业科学数据、专家经验等。如何有效表示和利用这些知识支持农业问题求解和决策支持,是面向精细农业的知识系统所要解决的核心问题,知识表示是知识库建设从而进行推理和决策的基础。

作为实现语义Web的重要基础,本体提供了一种形式化和可重用的复杂领域知识的表示方式,对于农业领域,通过形式化的本体建模,来直接存储和表示农业领域知识。然而,尽管本体最初被引入的目的是帮助在异构的分布式系统中实现领域知识的共享和重用,但由于本体的构建主体不同,所使用的本体构建语言的不同,对领域知识和专业术语理解的差异等多方面因素导致了本体的异构,进而阻碍了本体之间的互操作。现有的农业知识库都有很强的区域性和作物针对性,从农业领域本体的角度来看,本体间的异构情况十分突出。而本体集成是本体之间以及基于本体的软件(或代理)间互操作的基础,是解决分散异质资源集成等复杂问题,实现信息与知识资源共享的根木方法之一。因此,要从根本上解决本体异构,实现本体知识共享和重用,就需要对异构本体进行本体集成。

发明内容

为了克服已有农业信息本体的数据表示方法的无法处理异构的农业信息本体、无法实现本体知识共享和重用的不足,本发明提供一种有效处理异构的农业信息本体、实现本体知识共享和重用的农业信息本体的XML数据信息表示方法。

本发明解决其技术问题所采用的技术方案是:

一种农业信息本体的XML数据信息表示方法,所述表示方法包括以下步骤:

(1)预处理:使用软件Jena(耶拿)对农业信息源本体进行解析,生成概念集、关系集、属性集和实例集,利用软件Racer(跑车)中对所生成的文档进行本体不一致检查,若存在不一致,则用Fuzzy OWL(模糊网络本体语言)和Fuzzy Description Logic(模糊描述逻辑)对不一致进行处理,并将处理后的文档重新检查,直至得到解析文档;

(2)聚类判定:运用对本体映射规模进行计算,其中CN表示本体中概念的数目,m为适合映射的本体概念数目,若结果大于1,则进行分块;否则利用对本体概念的关联度进行计算,其中u表示本体中概念对其所在类的隶属度,Cu>0.5表示隶属度大于0.5的概念,若关联度小于阈值ζ,则结束;否则,则进行分块;

(3)模块化处理:根据类间综合关联度link(ci,cj)的值和阈值ζ,对需要分块的本体进行模块化处理,对需要分块的大型模糊本体,从结构的类同性和语法的相似性两方面进行聚类,

类ci和cj之间的结构类同关系为:

>affs(ci,cj)=2·depthOf(cij)depthOf(ci)+depthOf(cj),>

其中,cij是它们的公共父类,depthOf(ck)是类ck在类层次关系中的深度;

类ci与cj之间的语法相似度为:

simc(ci,cj)=comm(di,dj)-diff(di,dj)+winkler(di,dj),

其中di为类ci的描述,dj为类cj的描述,comm(di,dj)为di,dj的公共部分,diff(di,dj)则是二者的不同部分;

当siml(ci,cj)<0.65时,则ci与cj是不相似的,随后求出ci和cj的类间综合关联度:link(ci,cj)=β*affs(ci,cj)+(1-β)*siml(ci,cj),其中β∈[0,1],根据精细农业本体的特点,设定ε=0.6,当link(ci,cj)≥0.6,则将这两个符合条件的类聚类到一起,形成一个本体模块,否则将此类划分到其他模块中;

(4)DTD的生成:将步骤3得到形式化领域本体概念和结构方面的定义转换为相应的DTD,从而定义XML文档的内容、结构和表现;

(5)XML存储映射:通过扁平化转换、简化转换和分组转换,将生成的DTD细节进行简化;

接着,将DTD映射到对象视图,并将对象视图映射到数据库关系视图,将DTD文档中的元素类型映射为关系模式;

其中,属性映射的具体方法为:单值属性映射为元素对应类的单值属性,并映射为元素对应表的列,多值属性映射为类的多值属性,并映射为属性表;属性类型ID在一个XML文档中具有唯一性,属性类型IDREF、IDREFS引用具有ID属性类型的元素,IDREF属性值与同一XML文档中的某个元素的ID属性值相等;

关系模式使用主键/外键关系表示DTD的任意嵌套结构,将具有集合值的属性转换为单独的表。

进一步,所述步骤(1)中,农业信息本体不一致问题处理以以下规则进行:A为一个模糊集合,X为论域,对X中的任意x通过成员函数μA:X→[0,1]为其分配一个隶属度,μA(x)表示x对集合A的隶属程度,若μA(x)=l,则确定x属于A;若μA(x)=0.8,则表示x“很可能”是A的一个元素。

本发明的技术构思为:针对农业信息本体的数据量大、数据属性的多维性、动态、不完整、不确定等特点,我们分析了本体的语义表示,对本体进行预处理、模块化、合并和映射,动态生成DTD模板,从而实现异质异构的农作物种植信息(文献、行业数据、图片、专家经验、作物生长模型等)的统一地表示和集成,将以领域本体形式出现的领域知识模型转化为XML文件,使计算机能够根据领域本体和自描述语义信息之间的联系,自动地理解和处理本体数据。为农业知识库的建设和进一步的分布式应用奠定基础。

本发明的有益效果主要表现在:能够在保留源本体信息的前提下将异构本体转化为XML文档,通过模块化的、纵向继承的知识体系映射为Web数据模型,为随后的信息跨平台使用奠定基础,具有良好的实际应用价值。

附图说明

图1是一种农业信息本体的XML数据信息表示方法的示意图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1,一种农业信息本体的XML数据信息表示方法,包括以下步骤:

(1)预处理:使用软件Jena(耶拿)对农业信息源本体进行解析,生成概念集、关系集、属性集和实例集,利用软件Racer(跑车)中对所生成的文档进行本体不一致检查,若存在不一致,则用Fuzzy OWL(模糊网络本体语言)和Fuzzy Description Logic(模糊描述逻辑)对不一致进行处理,并将处理后的文档重新检查,直至得到解析文档;

其中,本体不一致问题处理以以下规则进行:A为一个模糊集合,X为论域,对X中的任意x通过成员函数μA:X→[0,1]为其分配一个隶属度,μA(x)表示x对集合A的隶属程度。若μA(x)=l,则确定x属于A;若μA(x)=0.8,则表示x“很可能”是A的一个元素。

(2)聚类判定:依据高内聚、低耦合的思想对本体进行模块化处理,其遵循的原则,一是本体的概念总数越大,本体映射的工作量越大,二是本体内部概念之间松紧不一的关联度,会对本体部分重用带来极大困难。运用对本体映射规模进行计算,其中CN表示本体中概念的数目,m为适合映射的本体概念数目,若结果大于1,则进行分块;否则利用对本体概念的关联度进行计算,其中u表示本体中概念对其所在类的隶属度,Cu>0.5表示隶属度大于0.5的概念,若关联度小于阈值ζ,则结束;否则,则进行分块。

(3)模块化处理:根据类间综合关联度link(ci,cj)的值和阈值ζ,对需要分块的本体进行模块化处理。对需要分块的大型模糊本体,从结构的类同性和语法的相似性两方面进行聚类。

类ci和cj之间的结构类同关系为>affs(ci,cj)=2·depthOf(cij)depthOf(ci)+depthOf(cj),>cij是它们的公共父类。depthOf(ck)是类ck在类层次关系中的深度;类ci与cj之间的语法相似度为simc(ci,cj)=comm(di,dj)-diff(di,dj)+winkler(di,dj),其中di为类ci的描述,dj为类cj的描述,comm(di,dj)为di,dj的公共部分,diff(di,dj)则是二者的不同部分,当siml(ci,cj)<0.65时,则ci与cj是不相似的。随后,可求出ci和cj的类间综合关联度:link(ci,cj)=β*affs(ci,cj)+(1-β)*siml(ci,cj),其中β∈[0,1]。根据精细农业本体的特点,设定ε=0.6,即当link(ci,cj)≥0.6,则将这两个符合条件的类聚类到一起,形成一个本体模块,否则将此类划分到其他模块中。

(4)DTD生成:以DTD作为领域本体和XML文档之间的桥梁,将步骤3得到形式化领域本体概念和结构方面的定义转换为相应的DTD,从而定义XML文档的内容、结构和表现。其生成遵照以下规则:

根概念节点Vrootconcept生成:DTD中的根元素AllConcept对应于根概念节点Vrootconcept,并将本体中所有概念生成的元素和虚元素作为其子元素,子元素基数使用元字符“*”表示出现零次或多次,子元素排列顺序由BRG中的路径长度决定,如果concepti出现在conceptj的左侧。

实体生成:复合概念中任何被其它子概念继承的概念concepti都生成相应的实体,并使用参数实体定义每个概念的继承关系。若Dec(concepti)={concepti1,......,conceptip},那么生成对应的参数实体为:

<!ENTITY%concepti Expression>,

Expression=““”+concepti+“|”+concepti1+“|”+...+“|”+conceptip+“””

变换规则

定义各子元素出现的顺序,并以如下规则对领域本体中的概念进行变换。

如果concepti为聚合概念,且构成concepti的概念集合为Components(concepti)={<concepti1,AggregationType>,...,<conceptin,AggregationType>},那么concepti在DTD中的元素声明为:

<!ELEMET coneepti(concepti1CN,...,coneeptikCN,...,concoptinCN)>,AggregationTyPe=Compound时,CN=“+”,表示可出现1次或多次;AggregationTyPe=Normal时,CN=“*”表示可出现零次或多次,k∈[1,n]。

如果concepti被其它子概念继承,且concepti的子女概念集合为Children(concepti)二{<concepti,IsAType>,...,<conceptin,IsAType>},那么

1)IsAType=Disjoint的所有子概念conceptik在进行元素声明时,添加如下形式属性:

<!ATTLIST conceptik attr_name CDATA#FIXED attr_valuek>,其中k∈[1,n],concepti在DTD中元素声明时,添加如下形式属性:

<!ATTLIST concepti attr_name(attr_value1|...|attr_valuej)#IMPLIED>

attr_name的命名规则为:“Dis_”+concepti

attr_Valuek的取值规则为:“Dis_”+conceptik,k∈[1,j],n≥j。

2)IsAType=Cover的所有子概念conceptik在进行元素声明时,添加如下形式属性:

<!ATTLIST conceptik attr_name(attr_value1|...|attr_valuej)#FIXEDattr_valuek>,

(attr_value1|...|attr_valuej)为具有同一父概念、类型Cover的所有子概念按照attr_valuek的取值规则生成的值集合,k∈[1,n]。

concepti在元素声明时,添加如下形式属性:

<!ATTLIST concepti attr_name(attr_value1|...|attr_valuen)#IMPLIED>

attr_name的命名规则为:“Cover”+concepti

attr_Valuek的取值规则为:“Cover”+conceptik,,k∈[1,n]。

3)IsAType=CovDis的所有子概念conceptik在进行元素声明时,添加如下形式属性:

<!ATTLIST conceptik attr_name(attr_value1|...|attr_valuen)#FIXEDattr_value>,

(attr_value1|...|attr_valuen)为具有同一父概念、类型CovDis的所有子概念,按照attr_valuek的取值规则生成的值集合,k∈[1,n]。

concepti在元素声明时,添加如下形式属性:

<!ATTLIST concepti attr_name(attr_value1|...|attr_valuen)#IMPLIED>

attr_name的命名规则为:“CovDis+concepti

attr_Valuek的取值规则为:“CovDis+conceptik,,k∈[1,n]。

4)如果所有子元素的IsAType都等于Normal,=CovDis的所有子概念concepti在进行元素声明时,添加如下形式属性:

<!ATTLIST conceptik Expression(concept11|...|conceptiq)#IMPLIED>,

Expression=“N”+concepti

Attribute规则

如果概念concepti的属性定义集合为Attr(concepti)={<namei1,TyPei1,minii1,maxi1>,...,<namein,TyPein,minin,maxin>},那么

1)概念concepti在DTD中生成的对应元素声明形式如下,属性转换为concepti对应元素的子元素:

<!ELEMENT concepti(nameCNi1,...,nameCNin)>,其中nameik为属性的名称,k∈[1,n]。

如果minik=maxik=1,CN取值为空;如果minik=0,maxik>1,CN取值为“*”:如果maxik≥minik>1,CN取值为“+“;如果minik=0,maxik=1,CN取值为“?”。

如果同一概念已经进行过元素声明,那么nameCNi1,...,nameCNin追加到已经生成的元素声明的尾部。

2)生成每个属性对应的子元素声明,<!ELEMENT nameik(#PCDATA)>。

ID规则

为每个概念concepti在对应元素的声明中,声明属性类型为ID的属性OID,OID在同一XML文档中取值必须惟一。OID声明形式如下:

<!ATTLIST c concepti OID ID#REQUIRED>.

如果同一概念生成的元素已经进行了属性声明,那么上述属性声明追加到已经生成的属性声明的尾部。

Role规则

概念concepti的角色集合为Nrole(concepti)二{<role_namei1,concepti1,mini1,maxi1>,...,<role_namein,conceptin,,minin,maxin>},那么

1)概念concepti在生成的对应元素声明形式如下,角色转换为concepti对应元素的子元素:

<!ELEMENT concepti(roLe_nameCNi1,...,role_nameCNin)>,其中role_nameCNik为角色的名称,k∈[1,n]。

如果minik=maxik=1,CN取值为空;如果minik=0,maxik>1,CN取值为“*”:如果maxik≥minik>1,CN取值为“+“;如果minik=0,maxik=1,CN取值为“?”。

如果同一概念已经进行过元素声明,那么roLe_nameCNi1,...,role_nameCNik追加到已经生成的元素声明的尾部。

2)生成每个角色对应的子元素定义<!ELEMENT role_nameik(#PCDATA)>。

同时,在DTD中为该子元素生成IDREF或IDREFS类型的属性OIDREF。概念conceptik,为角色role_nameik作用的对象。如果conceptik被其它子概念继承,OIDREF通过与概念conceptik及其相应后代概念在对应元素的OID属性值匹配,表示角色所体现的语义关系。

如果conceptik被其它概念继承,角色role_nameik对应子元素的属性声明如下:

<!ATTLIST role_nameik

     OIDREF IDREF#REQUIRED

     Type(%conceptik;)Expression>

否则,

<!ATTLIST role_nameik

     OIDREF IDREF#IMPLIED

     Type CDATA#FIXED Expression>

其中,如果minik=maxik=1或minik=0,maxik=1,OIDREF的类型为IDREF;否则OIDREF的类型为IDREFS。

Virtual Element规则

概念concepti的虚元素定义如下:

<!ELEMENT Virtual_concepti(#PCDATA)>

<!ATTLIST Virtual_concepti OID ID#REQUIRED>

<!ATTLIST Virtual_concepti

           xmlns:xlink             CDATA             #FIXED“httP:www.w3.org/1999/Xlink”

           xlink:type CDATA#FIXED“simple”

           xlink:show(new|replace|embed)”“new”

           xlink:href CDATA#IMPLIED

>

(5)XML存储映射:通过扁平化转换(将嵌套定义转换为扁平的表示),简化转换(多个一元操作符简化为单个一元操作符)和分组转换(同名的子元素分组),将生成的DTD细节进行简化。

随后,将DTD映射到对象视图,并进一步将对象视图映射到数据库关系视图,从而将DTD文档中的元素类型映射为关系模式。其中,属性映射的具体方法为:单值属性映射为元素对应类的单值属性,并映射为元素对应表的列,多值属性映射为类的多值属性,并映射为属性表;属性类型ID在一个XML文档中具有唯一性,惟一标识一个元素,属性类型IDREF、IDREFS引用具有ID属性类型的元素,IDREF属性值必须与同一XML文档中的某个元素的ID属性值相等;关系模式使用主键/外键关系表示DTD的任意嵌套结构,将具有集合值的属性转换为单独的表。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号