CN101251849B - 生成模拟现实的本体文件的方法 - Google Patents
生成模拟现实的本体文件的方法 Download PDFInfo
- Publication number
- CN101251849B CN101251849B CN2008100354636A CN200810035463A CN101251849B CN 101251849 B CN101251849 B CN 101251849B CN 2008100354636 A CN2008100354636 A CN 2008100354636A CN 200810035463 A CN200810035463 A CN 200810035463A CN 101251849 B CN101251849 B CN 101251849B
- Authority
- CN
- China
- Prior art keywords
- constructor
- attribute
- class
- depth
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明揭示了一种生成模拟现实的本体文件的方法,所述本体文件通过若干OWL语言构造子建立描述表达式,所述若干OWL语言构造子包括类相关构造子集合、属性相关构造子集合、限制相关构造子集合;该方法包括以下步骤:步骤1、输入需生成的本体文件的特征参数;步骤2、生成类:步骤2.1、根据输入的特征参数确定生成类的个数、类的Subclassof个数、类表达式的长度;步骤2.2、调用递归函数f(depth)=GenerateOWLConcept(depth)生成类,其中depth=length-1;步骤3、根据输入的属性个数、对象属性个数、数据类型属性个数、子属性关系个数、个体个数生成属性和个体。本方法所得分析结果更具有说服力,分析过程更加形式化和可控,对推理机的性能分析也更全面和有效。
Description
技术领域
本发明属于知识库系统的性能分析技术领域。特别涉及一种生成模拟现实的本体文件的方法,其所生成的本体文件并非只是用于描述某个领域,而是用于推理机(Reasoner)系统性能分析的输入工作流。
背景技术
本体的一个比较形式化的定义是,给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义。通俗的讲,本体的目标是获取、描述和表示相关领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇及词汇间关系的明确定义。
一般来说一个本体文件包含类的定义,属性的定义和个体的定义。由于一个本体文件刻画的是某个领域的领域知识,类通常对应为该领域的概念,而属性则对应为概念之间的二元联系,个体则为具体概念的实例。
目前用于本体定义和描述的主流语言为网络本体语言(Web Ontology Language,OWL)。OWL是一种基于描述逻辑语义的本体描述语言,它采用了可扩展标记语言(xml)的语法,提供了大量的语言构造子来建立描述表达式。Owl构造子可分为三类:类(Class)相关的构造子、属性(Property)相关的构造子、限制(Restriction)相关的构造子。Class相关的语言构造子包括subclassof(子类关系)、equivalentclass(等价类关系)、intersectionof(交集)、unionof(并集)、complementof(补集)、one of(表示某个类的实例只能是某个集合中的元素)等;Property相关的语言构造子包括对象属性结构子、数据类型属性结构子,具体包括subpropertyof(子属性)、transitiveproperty(传递性属性)、functionalproperty(函数性属性)、inverseof(某属性的逆属性)、domain(定义域)、range(值域)等;Restriction相关的构造子包括somevaluesfrom(某些值来自于)、allvaluesfrom(所有值来自于)、hasvalue(有一个值为)、maxcardinality(最大基数限制)、mincardinality(最小基数限制)等。具体地说,owl通过subclassof、subpropertyof等形成概念及其关系的分类化、层次化结构,通过equivalentclass、equivalentproperty、inverseof等形成概念及关系间同义、反义等语义关系,通过intersectionof、unionof、complementof、oneof等构成概念间的逻辑组合关系,通过domain、range、cardinality、somevaluesfrom等对关系约束进行描述,通过disjointwith、transitiveproperty、functionalproperty等实现对概念及其关系的公理描述。
Owl本体中的类表达式通常具有下面的描述形式:
<owl:Class rdf:ID=″ACertainID″>
<rdfs:subClassOf>
<owl:Class>
……
</owl:Class>
</rdfs:subClassOf>
上述表达式中的省略号部分是由某些类相关或限制(Restriction)相关的构造子填充的。如:
<owl:Class rdf:ID=”wine”>
<rdfs:subclassof rdf:resource=”&food;potableliquid”/>
<rdfs:subclassof>
<owl:restriction>
<owl:onproperty rdf:resource=”#hasmaker”/>
<owl:allvaluesfrom rdf:resource=”#winery”/>
</owl:restriction>
</rdfs:subclassof>
</owl:class>
上述表达式表示了酒(wine)是一种食物(food)和一种可饮用的液体(potableliquid),其必须满足的限制是wine的制造者(hasmaker)须全部来自于酒厂(winery)中所定义的酒厂。
属性表达式则使用了property相关的构造子,如:
<owl:objectproperty rdf:id=”hasmaker”>
<rdf:type rdf:resource=”owl:functionalproperty”/>
<owl:objectproperty rdf:id=”produceswine”>
<owl:inverseof rdf:resource=”#hasmaker”/>
</owl:objectproperty>
上述表达式表示hasmaker属性是一个functionalproperty,且与属性produceswine互逆。
推理机系统是用于对本体文件进行推理和分析的一种工具,它的推理功能主要集中在两个方面,一是归约,即判断一个概念是否为另一个概念的子集;二是相容,即判断一个概念与已有的概念集是否相容,主要用于进行概念集合的一致性检测。目前主流的推理机系统都是基于描述逻辑且支持owl语言的,主要有以下三种:
1、FaCT++,由英国曼切斯特大学研制,使用C++语言。
2、RacerPro,一款商用推理机系统,由Racer系统有限公司(Racer Systems GmbH & Co.KG)研制。
3、Pellet,由美国马里兰大学研制,使用C++语言。
在推理机系统的性能分析领域,目前存在以下几种生成推理机系统性能分析输入工作流的方法:
方法一:根据某种特定模式人工生成的测试数据;
如由Ontoprose研究组提供的Ontogenerator所采用的生成方法是:假定本体所形成的概念层次结构为一棵对称的概念树,输入该树的宽度和高度确定这棵概念树,而属性和个体则按照正态或泊松分布附加在概念上。
方法二:随机方法生成不同规模的测试数据;
如由意大利特伦托大学提出的一种生成方法的简要描述如下:一个特定长度的概念是由L个子概念的交集形成,每个子概念又由3个孙概念的并集形成,对每个孙概念以概率0.5求其补集,每个孙概念又由特定数目的原子概念形成,原子概念的选择是随机从原子概念集合中选取的,每个原子概念又随机的被求补或施加其它限制。
以上两种方法的局限性在于:对所采取的生成策略不能保证所生成的数据文件是符合现实本体文件的特征的,从而使用以上两种方法所生成的数据文件作为推理机系统性能分析输入工作流所得分析结果就不够具有说服力。
方法三:直接使用现实的本体文件;
这种方法的出现是源于本体领域的研究及应用的愈加广泛,越来越多的实际本体文件已经在被使用,并且它们大部分可从互联网上下载,因此直接使用现实的本体文件来对推理机的性能进行分析。使用这种方法的有英国曼切斯特大学计算机系和贝尔实验室。
这种方法的局限性在于:现实本体文件在规模、结构、表达能力等方面存在着巨大的差异,使用现实本体文件作为推理机系统的性能分析输入工作流无法使得分析过程具备可控性。
发明内容
本发明的目的在于提供一种生成模拟现实的本体文件的方法,其基于对数百个现实本体文件的详细分析。在生成过程中模拟了现实本体文件的一些特征,因此使用本方法所生成的本体文件一方面具备了现实本体文件的特征,另一方面又可通过一定的输入参数变化使得其具备可控性。
为解决上述技术问题,本发明采用如下技术方案:
一种生成模拟现实的本体文件的方法,所述本体文件通过若干OWL语言构造子建立描述表达式,所述若干OWL语言构造子包括类相关构造子集合、属性相关构造子集合、限制相关构造子集合;
该方法包括以下步骤:
步骤1、输入需生成的本体文件的特征参数,所述特征参数包括:生成类的个数——NumClasses,用于Subclassof的幂律分布函数的alpha值——SubClsAlpha,用于length的幂律分布函数的alpha值——LengthAlpha,生成属性的个数——NumProperties,对象属性的个数——NumObjPro,数据类型属性的个数——NumDataPro;所述Subclassof为子类关系构造子,所述length为类表达式的长度;
步骤2、生成类,具体如下:
步骤2.1、根据NumClasses参数确定生成类的个数;对每个所要生成的类,根据步骤1中输入的SubClsAlpha值,使用幂律分布函数生成该类的Subclassof个数;根据步骤1中输入的LengthAlpha参数,通过幂律分布函数确定每个类的Subclassof类表达式的长度——length,length为出现在该类表达式中类相关构造子及限制相关构造子的总数目;其中幂律分布函数为Pr(X>=x)=(k/x)alpha;其中,X为随机变量,x为X的值域内的某个值,k为定位参数,alpha为斜率参数;
步骤2.2、调用递归函数f(depth)=GenerateOWLConcept(depth)生成类,其中depth=length-1,该递归函数的返回值为subclassof所指向的类;
步骤3、根据输入的属性个数(NumProperties)、对象属性个数(NumObjPro)、数据类型属性个数(NumDataPro)、子属性关系个数(NumSubPro)、个体个数(NumIndividuals)生成属性和个体。
作为本发明的一种优选方案,每个owl语言构造子LCi的概率Pi的值由用户输入或设置为默认值,所述默认值为所收集的所有本体文件的相应参数的平均值。
作为本发明的一种优选方案,所述步骤2.2中用到的递归函数f(depth)=GenerateOWLConcept(int depth)的具体计算方法如下:
步骤2.2.1、设LC={LC1,…LCn}为类表达式可以使用的OWL语言构造子集合,包括complementof构造子、intersectionof构造子、unionof构造子、allvaluesfrom构造子、somevaluesfrom构造子、hasvalue构造子、cardnality构造子、maxcardinality构造子、mincardinality构造子中的若干个;P={P1,…Pn}为LC上的概率分布,在owl语言构造子集合LC中选择length个语言构造子,并且该length个语言构造子在LC集合上的概率分布之和为1;
步骤2.2.2、如果depth=O,则随机选择一个命名类返回;否则执行步骤2.2.3;
步骤2.2.3、以概率Pj选择一个构造子LCj;
若LCj为complementof构造子,设C为GenerateOWLConcept(depth-1)的输出,则GenerateOWLConcept(depth)返回complementof(C);
若LCj为intersectionof构造子或者unionof构造子,首先随机从集合{0,…depth-1}中生成一个整数i,设C1为GenerateOWLConcept(i)的输出,C2为GenerateOWLConcept(depth-i-1)的输出,GenerateOWLConcept(depth)返回LCj(C1,C2),即返回C1与C2的交集或并集;
若LCj为somevaluesfrom构造子、或allvaluesfrom构造子、或hasValue构造子,首先从对象属性集合中随机选择一个对象属性OPi,对象属性的个数由NumObjPro参数确定,设C为GenerateOWLConcept(depth-1)的输出,GenerateOWLConcept(depth)返回LCj(OPi,C);
若LCj为mincardinality构造子、或maxcardinality构造子、或cardinality构造子,若depth为1,首先从对象属性集合中随机选择一个对象属性构造子OP,若cardinality值为1,调用函数GenerateOWLConcept(depth),返回LCj(1,OP);若depth不为1,调用函数GenerateOWLCardinality(depth),其返回值在depth为1的情况下为LCj(1,OP)),其中LCj为mincardinality构造子、maxcardinality构造子或cardinality构造子;而其返回值在depth为1的情况下为LCj(1,OP)。
作为本发明的一种优选方案,所述步骤2.1中length具体的计算方法为:
如果A是一个原始类表达式,则Length(A)=0;
如果A是B的一个子类——subclass、或等价类——equivalentclass,或者A与B互不相交——A disjointWith B,则Length(A)=Length(B)+1;
如果A是C1,C2…至Cn的交集或并集,则Length(A)=Length(C1)+Length(C2)+……+Length(Cn)+1;
如果A是C的补集、或A等于或A等于或A等于≤nR.C、或A等于≥nR.C,Length(A)=Length(C)+1;其中, ≤nR.C及≥nR.C均代表没有命名的类;的所有实例必须满足:如果该实例出现在属性R的某个实例中,则属性R的该实例的值必然是类C的实例,用集合语言表示即: 的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例中存在一个实例,其值是类C的实例,用集合语言表示即:≤nR.C的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例数目要小于等于n,用集合语言表示即:{x|#({y.(x,y)∈R})<=n};≥nR.C的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例数目要大于等于n,用集合语言表示即:{x|#({y.(x,y)∈R})>=n};
如果A只包含oneOf构造子,则Length(A)=1。
作为本发明的一种优选方案,所述步骤3中生成属性的方法为:将属性相关构造子及子属性的数目随机分布在每个属性上,属性的定义域domain和值域range也随机选择。
作为本发明的一种优选方案,所述步骤3中生成个体的方法为:使用个体的个数参数——numofindividuals生成个体。
作为本发明的一种优选方案,所述步骤2.2.1中,所述OWL语言构造子集合还可以包括:equivalentClass构造子及disjointWith构造子中的一个或两个;对于equivalentClass构造子和disjointWith构造子,本方法随机选择NumEquCls+NumDisjoint个命名类。
作为本发明的一种优选方案,所述类相关构造子集合包括subclassof构造子、equivalentclass构造子、intersectionof构造子、unionof构造子、complementof构造子、one of构造子;属性相关构造子集合包括subpropertyof构造子、transitiveproperty构造子、functionalproperty构造子、inverseof构造子、domain构造子、range构造子;限制相关构造子集合包括somevaluesfrom构造子、allvaluesfrom构造子、hasvalue构造子、maxcardinality构造子、mincardinality构造子。
作为本发明的一种优选方案,所述步骤1中NumClasses的范围为(0,20000),SubClsAlpha的范围为(2,6),LengthAlpha的范围为(2,6),NumProperties的范围为(0,1500),NumObjPro的范围为(0,420),NumDataPro的范围为(0,1200)。
作为本发明的一种优选方案,所述方法还包括步骤4、改变所述需生成本体文件的特征参数,而后执行步骤2及步骤3。
本发明的有益效果为:首先,由于本生成方法所生成的本体文件模拟了现实本体文件的特征,相比使用某种特定模式或使用随机方式生成的本体文件进行的性能分析,本方法所得分析结果更具有说服力。其次,由于可以通过改变特定输入参数控制所生成的本体文件的特定特性的渐变,相比使用相互间各方面差异巨大的现实本体文件所作的性能分析,本方法的分析过程更加形式化和可控,对推理机的性能分析也更全面和有效。
附图说明
图1为本发明方法的流程图。
图2为类的SubClass概率分布及类表达式的Length概率分布图。
图3为三个推理机时间性能比较图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
本实施例中,本体文件通过若干OWL语言构造子建立描述表达式,所述若干OWL语言构造子包括类相关构造子集合、属性相关构造子集合、限制相关构造子集合。属性相关构造子集合包括对象属性相关构造子集合、数据类型相关构造子集合。具体地,所述类相关构造子集合包括subclassof构造子、equivalentclass构造子、intersectionof构造子、unionof构造子、complementof构造子、one of构造子;属性相关构造子集合包括subpropertyof构造子、transitiveproperty构造子、functionalproperty构造子、inverseof构造子、domain构造子、range构造子;限制相关构造子集合包括somevaluesfrom构造子、allvaluesfrom构造子、hasvalue构造子、maxcardinality构造子、mincardinality构造子。
为了生成一个本体文件,需要输入一系列的参数,这些参数控制了所生成的本体文件的各方面的特征,例如类的个数、属性的个数、属性的分布等。通过使用这些输入参数,可以在其它参数保持不变的情况下,通过渐变一个参数来生成不同的本体文件并分析推理机系统处理这些本体文件的性能结果与参数变化的关系,使整个分析过程具备可控性。
另外,为了保证所生成的本体文件符合现实本体文件的特征,本发明分析了从互联网上下载的634个owl格式的现实本体文件。基于对这634个本体文件的分析结果形成了生成本体文件的方法,从而保证了使用该方法所生成的本体文件符合现实本体文件的一些特征,使得推理机的性能分析结果更具备说服力。
本发明实施例分析了634个本体文件的SubClassOf属性的分布以及长度(Length)的分布。其中某个类表达式的length就是出现在该类表达式中类相关的语言构造子及restriction相关的语言构造子的总数目。以如下公式表示:
1、如果A是一个原始类表达式,即这种形式:<owl:Class rdf:about=“A”/>,则Length(A)=0;
2、如果A是B的一个subclass或者equivalentclass,或者A disjointWith B,则Length(A)=Length(B)+1;
3、如果A是C1,C2…至Cn的交集或并集;则:
Length(A)=Length(C1)+Length(C2)+……Length(Cn)+1;
4、如果A是C的补集、或A等于或A等于或A等于≤nR.C、或A等于≥nR.C,Length(A)=Length(C)+1;其中, ≤nR.C及≥nR.C均代表没有命名的类;的所有实例必须满足:如果该实例出现在属性R的某个实例中,则属性R的该实例的值必然是类C的实例,用集合语言表示即: 的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例中存在一个实例,其值是类C的实例,用集合语言表示即:≤nR.C的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例数目要小于等于n,用集合语言表示即:{x|#({y.(x,y)∈R})<=n};≥nR.C的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例数目要大于等于n,用集合语言表示即:{x|#({y.(x,y)∈R})>=n};
5、如果A只包含owl:oneOf构造子,则Length(A)=1。
分析结果显示本体文件的SubClassOf属性的分布以及长度(Length)的分布均近似于幂律(power-law)分布。所谓幂律分布指,对某个随机变量X有X>=x的概率:Pr(X>=x)=(k/x)alpha,(请标明每个参数的涵义)。因此某个特定类的子类(subclass)和长度(length)的确定是由两个幂律分布的alpha值来确定的。
如图2所示,图2为类的SubClass概率分布和类表达式的Length概率分布。从图中可以看出类的SubClass概率分布与alpha值为2.85的幂率分布函数曲线近似,类表达式的Length概率分布与alpha值为3.7的幂率分布函数曲线近似。
从分析结果中还发现不同的owl语言构造子在使用频率上有着较大的差异。因此对本发明的每个输入参数都确定了一个取值范围,输入参数应控制在这个取值范围内,以保证所生成的本体文件的真实性。如表1所示:
分类 | 参数名 | 描述 | 默认值 | 范围 |
1 | NumClasses | 生成类的个数 | 无 | (0,20000) |
1 | SubClsAlpha | SubClassOf幂律分布函数的alpha值 | 无 | (2,6) |
1 | LengthAlpha | Length幂律分布函数的alpha值 | 无 | (2,6) |
2 | NumEquCls | owl:equivalentclass的生成个数 | 1.3%*NumClasses | (0,0.9*NumClasses) |
2 | NumDisjoint | owl:disjointwith的生成个数 | 2.9%*NumClasses | (0,8.5*NumClasses) |
2 | ClsConstructPct | 类相关的构造子所占百分比 | 17% | (0,1) |
2 | RstConstructPct | Restriction相关的构造子所占百分比ClsConstructPct+RstConstructPct=1. | 83% | (0,1) |
2 | ValuePct | owl:allvaluesfrom,owl:somevaluesfromand owl:hasvalue在restriction相关的构造子中所占比例 | 80% | (0,1) |
2 | CardPct | owl:maxCardinality,owl:minCardinalityand owl:Cardinality在restriction相关的构造子中所占比例,CardPct+ValuePct=1 | 20% | (0,1) |
1 | NumProperties | 生成属性的个数 | 无 | (0,1500) |
1 | NumObjPro | 对象属性的个数 | 无 | (0,420) |
分类 | 参数名 | 描述 | 默认值 | 范围 |
1 | NumDataPro | 数据类型属性的个数NumDataPro+NumObjPro=NumProperties | 无 | (0,1200) |
2 | NumInverseOf | owl:InverseOf的个数 | 1%*NumObjPro | (0,NumObjPro) |
2 | NumFunc | owl:FunctionalProperty的个数 | 1.4%*NumProperties | (0,NumProperties) |
2 | NumInverseFunc | owl:InverseFunctional的个数 | 0 | (0,0.4*NumObjPro) |
2 | NumTrans | owl:TransitiveProperty的个数 | 0 | (0,0.6*NumObjPro) |
2 | NumSymm | owl:SymmetricProperty的个数 | 0 | (0,0.5*NumObjPro) |
2 | NumSubPro | owl:subPropertyOf的个数 | 0.2*NumProperties | (0,2*NumProperties) |
2 | PctOnlyDomain | 只声明了owl:Domain的属性所占比例 | 11..8% | (0,1) |
2 | PctOnlyRange | 只声明了owl:Range的属性所占比例 | 4.9% | (0.1) |
2 | PctDomainRange | 同时声明了owl:Domain和owl:Range的属性所占比例 | 56.5% | (0,1) |
2 | PceNoDomainRange | owl:Domain和owl:Range都未声明的属性所占比例 | 26.8% | (0,1) |
2 | NumIndividuals | 生成个体的数目 | 30 | (0,2400) |
表1.构造子描述
表1中的参数可以被分为两类,一类是必需的参数,即分类(Category)为1,如类的个数、属性的个数、subclassof的幂律分布的alpha值等;另一类参数非必需参数,即分类为2,它们都有一个默认值,该默认值也可以被用户的输入覆盖,如owl:equivalentClass的个数、类、属性及个体相关的各语言构造子所占比例等。第二类参数在重要性上不如第一类参数,因为通过对现实本体文件的分析发现它们只占据了现实本体文件的很小一部分,但也不能完全忽略这些参数,因为它们毕竟在现实本体文件中出现过。第二类参数的默认值被设置为所收集的所有本体文件的相应参数的平均值。
由表1可以看出,NumClasses的范围为(0,20000),SubClsAlpha的范围为(2,6),LengthAlpha的范围为(2,6),NumProperties的范围为(0,1500),NumObjPro的范围为(0,420),NumDataPro的范围为(0,1200)。
请参阅图1,本实施例的具体实施步骤如下:
步骤1、输入需生成的本体文件的特征参数。
所述输入的特征参数包括:生成类的个数——NumClasses,用于Subclassof的幂律分布函数的alpha值——SubClsAlpha,用于length的幂律分布函数的alpha值——LengthAlpha,生成属性的个数——NumProperties,对象属性的个数——NumObjPro,数据类型属性的个数——NumDataPro;所述Subclassof为子类关系构造子,所述length为类表达式的长度。
根据输入的NumClasses确定NumClasses个命名类,分别命名为Class1,Class2……Classn(n等于NumClasses),根据输入的NumObjPro确定NumObjPro个对象属性,分别命名为OP1,OP2……OPn(n等于NumObjPro),根据输入的NumDataPro确定NumDataPro个数据类型属性,分别命名为DP1,DP2……DPn(n等于NumDataPro)。
步骤2、生成类,具体如下:
步骤2.1、根据NumClasses参数确定生成类的个数;对每个所要生成的类,根据步骤1中输入的SubClsAlpha值,使用幂律分布函数生成该类的Subclassof个数;根据步骤1中输入的LengthAlpha参数,通过幂律分布函数确定每个类的Subclassof类表达式的长度——length,length为出现在该类表达式中类相关构造子及限制相关构造子的总数目;其中幂律分布函数为Pr(X>=x)=(k/x)alpha;其中,X为随机变量,x为X的值域内的某个值,k为定位参数,alpha为斜率参数;
所述步骤2.1中length具体的计算方法为:
(1)如果A是一个原始类表达式,则Length(A)=0;
(2)如果A是B的一个子类——subclass、或等价类——equivalentclass,或者A与B互不相交——A disjointWith B,则Length(A)=Length(B)+1;
(3)如果A是C1,C2…至Cn的交集或并集,则Length(A)=Length(C1)+Length(C2)+……+Length(Cn)+1;
(4)如果A是C的补集、或A等于或A等于或A等于≤nR.C、或A等于≥nR.C,Length(A)=Length(C)+1;其中, ≤nR.C及≥nR.C均代表没有命名的类;的所有实例必须满足:如果该实例出现在属性R的某个实例中,则属性R的该实例的值必然是类C的实例,用集合语言表示即: 的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例中存在一个实例,其值是类C的实例,用集合语言表示即:≤nR.C的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例数目要小于等于n,用集合语言表示即:{x|#({y.(x,y)∈R})<=n};≥nR.C的所有实例必须满足:如果该实例出现在属性R的某个实例中,则所有这样的实例数目要大于等于n,用集合语言表示即:{x|#({y.(x,y)∈R})>=n};
(5)如果A只包含oneOf构造子,则Length(A)=1。
所述OWL语言构造子集合还可以包括:equivalentClass构造子及disjointWith构造子中的一个或两个;对于equivalentClass构造子和disjointWith构造子,本方法随机选择NumEquCls+NumDisjoint个命名类。
步骤2.2、调用递归函数f(depth)=GenerateOWLConcept(depth)生成类,其中depth=length-1,该递归函数的返回值为subclassof所指向的类;
其中用到的递归函数f(depth)=GenerateOWLConcept(int depth)的具体计算方法如下:
步骤2.2.1、设LC={LC1,…LCn}为类表达式可以使用的OWL语言构造子集合,包括complementof构造子、intersectionof构造子、unionof构造子、allvaluesfrom构造子、somevaluesfrom构造子、hasvalue构造子、cardnality构造子、maxcardinality构造子、mincardinality构造子中的若干个;P={P1,…Pn}为LC上的概率分布,在owl语言构造子集合LC中选择length个语言构造子,并且该length个语言构造子在LC集合上的概率分布之和为1;每个owl语言构造子LCi的概率Pi的值由用户输入或设置为默认值,所述默认值为所收集的所有本体文件的相应参数的平均值。
步骤2.2.2、如果depth=0,则随机选择一个命名类返回;否则执行步骤2.2.3;
步骤2.2.3、以概率Pj选择一个构造子LCj;
(1)若LCj为complementof构造子,设C为GenerateOWLConcept(depth-1)的输出,则GenerateOWLConcept(depth)返回complementof(C);
(2)若LCj为intersectionof构造子或者unionof构造子,首先随机从集合{0,…depth-1}中生成一个整数i,设C1为GenerateOWLConcept(i)的输出,C2为GenerateOWLConcept(depth-i-1)的输出,GenerateOWLConcept(depth)返回LCj(C1,C2),即返回C1与C2的交集或并集;
(3)若LCj为somevaluesfrom构造子、或allvaluesfrom构造子、或hasValue构造子,首先从对象属性集合中随机选择一个对象属性OPi,对象属性的个数由NumObjPro参数确定,设C为GenerateOWLConcept(depth-1)的输出,GenerateOWLConcept(depth)返回LCj(OPi,C);
(4)若LCj为mincardinality构造子、或maxcardinality构造子、或cardinality构造子,若depth为1,首先从对象属性集合中随机选择一个对象属性构造子OP,若cardinality值为1,调用函数GenerateOWLConcept(depth),返回LCj(1,OP);若depth不为1,调用函数GenerateOWLCardinality(depth),其返回值在depth为1的情况下为LCj(1,OP)),其中LCj为mincardinality构造子、maxcardinality构造子或cardinality构造子;而其返回值在depth为1的情况下为LCj(1,OP)。
步骤3、根据输入的属性个数(NumProperties)、对象属性个数(NumObjPro)、数据类型属性个数(NumDataPro)、子属性关系个数(NumSubPro)、个体个数(NumIndividuals)生成属性和个体。
其中生成属性的方法为:将属性相关构造子及子属性的数目随机分布在每个属性上,属性的定义域domain和值域range也随机选择;生成个体的方法为:使用个体的个数参数——numofindividuals生成个体。
步骤4’、判断是否需要改变特定输入参数,如需要,则步骤4;否则执行步骤5。
步骤4、改变所述需生成本体文件的特征参数,而后转至步骤2。由于通过改变特定输入参数控制所生成的本体文件的特定特性的渐变,相比使用相互间各方面差异巨大的现实本体文件所作的性能分析,本方法的分析过程更加形式化和可控,对推理机的性能分析也更全面和有效。
步骤5、生成模拟现实的本体文件。
以下通过一个具体实施例介绍本发明生成模拟现实的本体文件的方法。
使用本发明方法生成50个本体文件,输入参数如表2所示。对于下表中未涉及的参数,其值为table1中的默认值。使用所生成的这50个本体文件以及ReasonerBenchmarker system(来自于论文:Framework For an Automated Comparison of Description Logic Reasoners.InProc.of the 2006 International Semantic Web Conference(ISWC2006),Springer,2006.Tom Gardiner,Dmitry Tsarkov,Ian Horrocks,论文名为《一个用于自动比较描述逻辑推理机的系统》,发表于2006年国际语义网会议上)。本发明对3个推理机(FaCT++(v1.1.4),Pellet(v1.4) and RacerPro(v1.9.0))做了一个简单的性能分析。
NumClasses | SubClsAlpha | LengthAlpha | NumEquCls | NumDisjoint |
50(以20为单位递增) | 2.85 | 3.70 | 0 | 0 |
NumProperties | NumObjPro | NumDataPro | NumIndividuals | |
20 | 15 | 15 | 0 |
表2、输入参数
三个推理机的运行结果如表3所示,从表3中可发现差不多一半的本体文件在FaCT++下超时了,但是与RacerPro和Pellet相比,FaCT++几乎不会内存溢出(out of memory)。RacerPro从不超时,在时间限制之前它就会out of memory或因为某些错误而失败(fail)掉。Pellet只在3个本体上失败掉,这也显示了pellet的本体修复能力。
Reasoner | Success | TimeOut | OutOfMemory | Fail |
FaCT++ | 23 | 20 | 2 | 5 |
Reasoner | Success | TimeOut | OutOfMemory | Fail |
RacerPro | 28 | 0 | 10 | 12 |
Pellet | 27 | 8 | 12 | 3 |
表3、运行结果
请参阅图3,图3为三个推理机的时间性能比较,其中Y轴为对数坐标,单位为秒,X轴为本体文件的编号。
清除那些在3个推理机上均失败的本体文件,并将所剩下的本体文件按number of classes由低至高排序,得到了如图3所示的3个推理机的性能分析结果。从图3中可以看到平均而言Fact++使用了最少的时间,而pellet使用了最多的时间。这当然也与pellet不仅仅只做classification(分类)和consistency checking(一致性检测)有关。另外可以看到的一点就是,尽管波动很大,图3的三条曲线显示了在number of classes线性增长的情况下,处理相应本体所需时间是指数级增长的,这也表明不管推理机做了哪些优化,所采用的推理算法的复杂度依然是指数级别的。
使用本发明方法所生成的本体文件可以做出一个更加详尽的分析。例如可以改变subclass及length的alpha值,改变不同的语言构造子所占比例,然后分析推理机相应性能的改变,这些分析结果可以反映出某个推理机对于某个参数的敏感程度。
从上述一个简单的性能分析过程可以看出本发明所介绍的本体文件生成方法的优点所在:首先,由于本生成方法所生成的本体文件模拟了现实本体文件的特征,相比使用某种特定模式或使用随机方式生成的本体文件进行的性能分析,本方法所得分析结果更具有说服力。其次,由于可以通过改变特定输入参数控制所生成的本体文件的特定特性的渐变,相比使用相互间各方面差异巨大的现实本体文件所作的性能分析,本方法的分析过程更加形式化和可控,对推理机的性能分析也更全面和有效。
以上实施例仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种生成模拟现实的本体文件的方法,其特征在于:
所述本体文件通过若干OWL语言构造子建立描述表达式,所述若干OWL语言构造子包括类相关构造子集合、属性相关构造子集合、限制相关构造子集合;
该方法包括以下步骤:
步骤1、输入需生成的本体文件的特征参数,所述特征参数包括:生成类的个数——NumClasses,用于Subclassof的幂律分布函数的alpha值——SubClsAlpha,用于length的幂律分布函数的alpha值——LengthAlpha,生成属性的个数——NumProperties,对象属性的个数——NumObjPro,数据类型属性的个数——NumDataPro;所述Subclassof为子类关系构造子,所述length为类表达式的长度;
步骤2、生成类,具体如下:
步骤2.1、根据NumClasses参数确定生成类的个数;对每个所要生成的类,根据步骤1中输入的SubClsAlpha值,使用幂律分布函数生成该类的Subclassof个数;根据步骤1中输入的LengthAlpha参数,通过幂律分布函数确定每个类的Subclassof类表达式的长度——length,length为出现在该类表达式中类相关构造子及限制相关构造子的总数目;其中幂律分布函数为Pr(X>=x)=(k/x)alpha;其中,X为随机变量,x为X的值域内的某个值,k为定位参数,alpha为斜率参数;
步骤2.2、调用递归函数f(depth)=GenerateOWLConcept(depth)生成类,其中depth=length-1,该递归函数的返回值为Subclassof所指向的类;
步骤3、根据输入的属性个数、对象属性个数、数据类型属性个数、子属性关系个数、个体个数生成属性和个体;
所述步骤2.2中用到的递归函数f(depth)=GenerateOWLConcept(int depth)的具体计算方法如下:
步骤2.2.1、设LC={LC1,...LCn}为类表达式可以使用的OWL语言构造子集合,包括补集构造子complementof、交集构造子intersectionof、并集构造子unionof、所有值来自于构造子allvaluesfrom、某些值来自于构造子somevaluesfrom、有一个值为构造子hasvalue、基数限制构造子cardinality、最大基数限制构造子maxcardinality、最小基数限制构造子mincardinality中的若干个;P={P1,...Pn}为LC上的概率分布,在OWL语言构造子集合LC中选择length个语言构造子,并且该length个语言构造子在LC集合上的概率分布之和为1;
步骤2.2.2、如果depth=0,则随机选择一个命名类返回;否则执行步骤2.2.3;
步骤2.2.3、以概率Pj选择一个构造子LCj;
若LCj为complementof构造子,设C为GenerateOWLConcept(depth-1)的输出,则GenerateOWLConcept(depth)返回complementof(C);
若LCj为intersectionof构造子或者unionof构造子,首先随机从集合{0,...depth-1}中生成一个整数i,设C1为GenerateOWLConcept(i)的输出,C2为GenerateOWLConcept(depth-i-1)的输出,GenerateOWLConcept(depth)返回LCj(C1,C2),即返回C1与C2的交集或并集;
若LCj为somevaluesfrom构造子或allvaluesfrom构造子或hasValue构造子,首先从对象属性集合中随机选择一个对象属性OPi,对象属性的个数由NumObjPro参数确定,设C为GenerateOWLConcept(depth-1)的输出,GenerateOWLConcept(depth)返回LCj(OPi,C);
若LCj为mincardinality构造子或maxcardinality构造子或cardinality构造子,若depth为1,首先从对象属性集合中随机选择一个对象属性构造子OP,若cardinality值为1,调用函数GenerateOWLConcept(depth),返回LCj(1,OP);若depth不为1,调用函数GenerateOWLCardinality(depth),其返回值在depth为1的情况下为LCj(1,OP),其中LCj为mincardinality构造子、maxcardinality构造子或cardinality构造子;而其返回值在depth为1的情况下为LCj(1,OP)。
2.根据权利要求1所述的生成模拟现实的本体文件的方法,其特征在于:每个OWL语言构造子LCi的概率Pi的值由用户输入或设置为默认值,所述默认值为所收集的所有本体文件的相应参数的平均值。
3.根据权利要求1所述的生成模拟现实的本体文件的方法,其特征在于:所述步骤3中生成属性的方法为:将属性相关构造子及子属性的数目随机分布在每个属性上,属性的定义域domain和值域range也随机选择。
4.根据权利要求1所述的生成模拟现实的本体文件的方法,其特征在于:所述步骤3中生成个体的方法为:使用个体的个数参数——numofindividuals生成个体。
5.根据权利要求1所述的生成模拟现实的本体文件的方法,其特征在于:所述步骤2.2.1中,所述OWL语言构造子集合还可以包括:等价类关系构造子equivalentClass及不相交构造子disjointWith中的一个或两个;
对于equivalentClass构造子和disjointWith构造子,随机选择NumEquCls+NumDisjoint个命名类返回;其中,NumEquCls为equivalentClass的生成个数,NumDisjoint为disjointWith的生成个数。
6.根据权利要求1所述的生成模拟现实的本体文件的方法,其特征在于:所述类相关构造子集合包括子类关系构造子Subclassof、等价类关系equivalentclass构造子、交集构造子intersectionof、并集构造子unionof、补集构造子complementof、表示某个类的实例只能是某个集合中的元素构造子oneof;属性相关构造子集合包括子属性构造子subpropertyof、传递性属性构造子transitiveproperty、函数性属性构造子functionalproperty、某属性的逆属性构造子inverseof、定义域构造子domain、值域构造子range;限制相关构造子集合包括某些值来自于构造子somevaluesfrom、所有值来自于构造子allvaluesfrom、有一个值为构造子hasvalue、最大基数限制构造子maxcardinality、最小基数限制构造子mincardinality。
7.根据权利要求1所述的生成模拟现实的本体文件的方法,其特征在于:所述步骤1中NumClasses的范围为(0,20000),SubClsAlpha的范围为(2,6),LengthAlpha的范围为(2,6),NumProperties的范围为(0,1500),NumObjPro的范围为(0,420),NumDataPro的范围为(0,1200)。
8.根据权利要求1所述的生成模拟现实的本体文件的方法,其特征在于:所述方法还包括“步骤4、改变所述需生成本体文件的特征参数”,而后执行步骤2及步骤3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100354636A CN101251849B (zh) | 2008-04-01 | 2008-04-01 | 生成模拟现实的本体文件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100354636A CN101251849B (zh) | 2008-04-01 | 2008-04-01 | 生成模拟现实的本体文件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101251849A CN101251849A (zh) | 2008-08-27 |
CN101251849B true CN101251849B (zh) | 2010-06-23 |
Family
ID=39955240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100354636A Expired - Fee Related CN101251849B (zh) | 2008-04-01 | 2008-04-01 | 生成模拟现实的本体文件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101251849B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310024B (zh) * | 2013-07-04 | 2018-01-30 | 杜剑峰 | 基于最小解释的本体查询推理近似方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060053130A1 (en) * | 2004-09-03 | 2006-03-09 | Hite Thomas D | System and method for describing a relation ontology |
US20070022107A1 (en) * | 2005-07-21 | 2007-01-25 | Jun Yuan | Methods and apparatus for generic semantic access to information systems |
CN101017432A (zh) * | 2006-12-06 | 2007-08-15 | 武汉大学 | 一种构件库管理方法 |
CN101044479A (zh) * | 2004-08-11 | 2007-09-26 | 甲骨文国际有限公司 | 用于关系数据库系统中基于本体的语义匹配的系统 |
-
2008
- 2008-04-01 CN CN2008100354636A patent/CN101251849B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101044479A (zh) * | 2004-08-11 | 2007-09-26 | 甲骨文国际有限公司 | 用于关系数据库系统中基于本体的语义匹配的系统 |
US20060053130A1 (en) * | 2004-09-03 | 2006-03-09 | Hite Thomas D | System and method for describing a relation ontology |
US20070022107A1 (en) * | 2005-07-21 | 2007-01-25 | Jun Yuan | Methods and apparatus for generic semantic access to information systems |
CN101017432A (zh) * | 2006-12-06 | 2007-08-15 | 武汉大学 | 一种构件库管理方法 |
Non-Patent Citations (2)
Title |
---|
郁书好.基于OWL 的本体建模研究.基于OWL 的本体建模研究 134.2006,(134),11-17. * |
黄卿贤.本体的概念、建模与应用.解放军理工大学学报(自然科学版)6 2.2005,6(2),123-126. * |
Also Published As
Publication number | Publication date |
---|---|
CN101251849A (zh) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ouni et al. | Search-based web service antipatterns detection | |
CN105706092B (zh) | 四值模拟的方法和系统 | |
Pan et al. | Investigating the collaborative intention and semantic structure among co-occurring tags using graph theory | |
Meimaris et al. | The EvoGen Benchmark Suite for Evolving RDF Data. | |
Jia et al. | A centralized service discovery algorithm via multi-stage semantic service matching in internet of things | |
Zhang et al. | FunkR-pDAE: personalized project recommendation using deep learning | |
Hall et al. | Cardinality constraints on qualitatively uncertain data | |
CN103617265B (zh) | 一种基于本体语义信息的本体查询引擎优化系统 | |
Wang et al. | Combining quantitative constraints with qualitative preferences for effective non-functional properties-aware service composition | |
CN101251849B (zh) | 生成模拟现实的本体文件的方法 | |
Shi et al. | Comparison of ontology reasoning systems using custom rules | |
Sun et al. | Diagnosis of tomato pests and diseases based on lightweight CNN model | |
Wang et al. | Soft semantic web services agent | |
Núñez et al. | A semantic based collaborative system for the interoperability of XBRL accounting information | |
Soto et al. | Top-Based Adaptive Enumeration in Constraint Programming | |
Mauro et al. | Naturalness in mathematics | |
De Lucia et al. | Identifying similar pages in web applications using a competitive clustering algorithm | |
Halbig et al. | Exploiting user-supplied Decompositions inside Heuristics | |
Pandey et al. | Data modeling and performance analysis approach of big data | |
Krinkin et al. | The method of inductive synthesis of hierarchical knowledge graphs of telecommunication networks based on statistical data | |
Meijer | A Comparative Analysis of Human and AI Feedback on Business Idea Evaluation | |
Camara et al. | A new method for qualitative simulation of water resources systems: 1. Theory | |
Nebot et al. | Towards Analytical MD Stars from Linked Data. | |
Xie | Research on Weibo user behavior system for subjective perception and big data mining technology | |
Yousuf et al. | Generating graphs by creating associative and random links between existing nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100623 Termination date: 20130401 |