没有合适的资源?快使用搜索试试~ 我知道了~
基于Prolog的OWL查询语言
理论计算机科学电子笔记271(2011)3-22www.elsevier.com/locate/entcs基于Prolog的OWL赫苏斯·M Almendros-Jiménez阿尔门德罗斯-希门尼斯1,2Dpto.阿尔梅里亚大学04120-西班牙摘要在本文中,我们研究如何使用逻辑编程(特别是Prolog)作为查询语言对OWL资源。我们的查询语言将能够检索数据和元数据的一个给定的OWL基于本体。 为此,首先研究了如何基于描述逻辑的一个片段定义一种查询语言,然后通过逻辑规则将定义的查询语言编码为Prolog,最后确定与查询对应的Prolog目标保留字: 逻辑编程,语义网1引言语义Web框架[11,13]提出,由HMTL和XML表示的Web数据必须通过元数据来丰富,其中建模主要通过资源描述框架(RDF)[22]和Web本体语言(OWL)[16]来实现。RDF和OWL是W3C联盟3为本体建模提出的建议。OWL是在RDF的基础上按语法分层的,RDF的底层模型是基于三元组的。RDF Schema(RDFS)[10]也是W3C的一个提议,它用元数据的特定词汇表丰富了RDF。RDFS/RDF和OWL可以用来表示数据和元数据。OWL可以被认为是RDFS的扩展1作者的工作得到了西班牙MICINN的部分支持,资助号为TIN 2008 -06622-C 03 -03。2 电子邮件地址:jalmen@ual.es3hhttp://www.w3.org。1571-0661 © 2011 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2011.02.0084J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3CSROIQ更丰富的词汇可以表达新的关系。OWL描述了实体之间比RDF(S)更复杂的关系,包括限制类属性的方法,包括数量和类型,来推断具有各种属性的项是特定类的成员,以及属性继承的良好定义模型。OWL基于所谓的描述逻辑(DL)[8],这是一个具有不同表达能力的逻辑家族(即片段)。描述逻辑的大多数片段是2的子集或变体,一阶逻辑(FOL)的子集扩展了计数量化器,公式没有函数符号和最大两个变量,这是已知的可判定的[15]。因此,描述逻辑也可以被理解为试图解决主要缺点使用FOL进行知识表示和推理,并且DL的语法允许无变量表示法。DL最突出的部分是它是新标准化的OWL 2的基础OWL 2 seman-在[26]中定义了tics,其中基于描述逻辑定义了直接语义,在[27]中提供了基于RDF的语义在本文中,我们研究如何使用逻辑编程(特别是Prolog)作为查询语言对OWL资源。我们的查询语言将能够检索数据和元数据的一个给定的OWL基于本体。为此,首先研究了如何基于描述逻辑的一个片段定义一种查询语言,然后通过逻辑规则将定义的查询语言编码为Prolog,最后确定与查询对应的Prolog目标。基本上,我们的工作是朝着使用逻辑编程作为语义Web的查询语言。它遵循了我们之前关于使用逻辑编程处理Web数据的研究路线。特别地,我们在[2,1]中研究了XML查询语言XQuery的逻辑编程编码,在[3,5]中研究了XML查询语言XQuery的逻辑编程编码,在[4,7,6]中研究了XQuery在此框架下,我们研究了如何通过逻辑编程实现OWL查询和推理,以便与逻辑编程中实现XQuery1.1描述逻辑描述逻辑是表达概念之间、角色之间、概念和角色之间以及概念、角色和个体之间关系的形式化方法。描述逻辑的公式可以用于表示关于感兴趣领域的知识,即概念描述。通常,描述逻辑用于表示TBox(术语框)J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)35SHIQABox(Assertional Box)TBox描述了概念(和角色)层次结构(即,概念和角色之间的关系),而ABox包含个体、概念和角色之间的关系。因此,我们可以将TBox视为元数据描述,而ABox则是关于数据的描述。在这种情况下,我们可以区分(1)推理任务和(2)来自给定本体的查询任务。在这两种情况下,为了从给定的本体推导出新的关系,应该存在一定的推理过程。关于给定的本体,最典型的(1)推理任务包括:(a)实例检查,即,特定个体是否是给定概念的成员,(b)关系检查,即,两个个体是否具有给定角色,(c)包含,即,概念是否是另一概念的子集,(d)概念一致性,即,概念关系的一致性,以及(e)一致性检查的更一般情况是本体一致性,其中问题是决定给定的本体是否具有模型。然而,人们也可能对(2)查询任务感兴趣,例如:(a)实例检索,这意味着检索本体所包含的给定概念的所有个体,以及(b)属性文件检索,这意味着检索与给定角色相关的给定个体的所有个体。OWL/DL推理是一个越来越感兴趣的文献研究课题。大多数DL推理机(例如,Racer[20],FaCT++ [30],Pellet [28])都基于基于表格的决策程序。基于逻辑编程,DLog系统[23]通过编码到Prolog中并使用PTTP定理证明器来使用本体进行推理。KAON 2工具[9,19]基于将片段编码为disjuntiveDatasheet[18]。他们研究了基于分辨率的推理。我们相信,一个有趣的研究路线将是设计一个查询语言,其目的是表达这样的推理和查询任务。换句话说,研究某种形式主义,在这种形式主义中,我们可以表达我们想要实现的关于给定本体的任务(即推理和查询任务)。这样的语言应该配备某种表示查询的公式。此外,这样的查询语言应该配备一个推理机制,以便与本体推理。这种推理机制可以基于蕴涵关系。我们提出的查询语言将基于描述逻辑公式,可以包含自由变量。自由变量表示我们要检索值的公式元素。这些值应该表示满足给定查询(即DL公式)的概念、角色和个人的名称在这种情况下,我们将获得给定查询任务的答案在6J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3在没有自由变量的公式的情况下,查询将表示推理任务,并且答案将是真或假。RDFS和OWL的一组蕴涵规则的定义引起了语义Web社区的关注。蕴涵关系定义了可以从给定的本体推导出哪些关系在这种情况下,[25]的作者已经观察到,官方RDF语义规范的蕴涵规则并不完整,并且建议对于RDFS的情况,识别包含RDFS的基本特征的片段,该片段保留原始语义,易于形式化并且可以用于证明关于其属性的结果。为此,他们定义了RDFS的一个片段,它覆盖了RDFS的关键词汇,他们证明了它保留了原始的RDF语义,并避免了只用于推理语言本身结构而不是它所描述的数据的词汇和公理信息研究的RDFS片段将结构信息提升到语言的语义中,对开发人员和用户隐藏它们。他们为RDF片段提供了一个合理的蕴涵关系,包括rdf:type,rdfs:subClassOf,rdfs:subPropertyOf,rdfs:domain和rdfs:range。 在OWL的情况下,有一个建议是扩展蕴涵规则,RDFS到OWL。所谓的pD扩展方法[29]是一种扩展RDFS词汇表的建议,其中包含OWL:owl:Functio的一些元素。nalProperty、owl:InverseFunctionalProperty、owl:sameAs、owl:Symmetric Property、owl :transitiveProperty和owl:inverseOf。对于这样一个片段,他们定义了一套完整的简单蕴涵规则。pD推理方法已成功应用于SAOR(可扩展的权威OWL推理器)[17],该系统专注于良好的性能,RDF和OWL数据。在这条线上,我们的方法认为一组蕴涵规则的一个片段的OWL。这样的片段不同于pD β的片段[29],pD β既不包括在我们的片段中,我们的片段也不包括在pD β中,但是我们的片段包括[25]的RDFS片段。此外,我们的DL允许通过逻辑编程,特别是通过Prolog对蕴涵关系进行编码。为此,我们研究了描述逻辑与逻辑程序设计的关系。1.2描述逻辑与逻辑程序设计在这个研究领域,一些作者[14,31]研究了描述逻辑和逻辑程序设计的交叉点,换句话说,描述逻辑的哪个片段可以用逻辑程序设计来表达。在[14]中,他们定义了所谓的描述逻辑编程(DLP),它包括:J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)37∀SHIQ松阴松阴回应一个片段。为此,首先,DL的片段被编码成FOL的片段;然后,FOL的片段被编码成逻辑编程。OWL/DL的其他片段也可以编码到逻辑编程中,特别是Volz [31]已经将片段编码为Datalog,Datalog(=),Datalog(=,IC)和Prolog(=,IC);其中“=”表示“具有相等性”,“IC”表示“具有完整性约束”。一些其他建议已经将片段SHIQ编码为分离数据流[18] , 以 及 i n 到 Datal og ( IC , i=not ) [12] , 其 中 “not” 表 示 “withnegation”。在我们的建议中,我们专注于Volz的一个 它是的一个片段,其中 包 括 OWL 元 素 : rdf : type , rdfs : subClassOf , rdfs :subPropertyOf,owl:equivalentProperty,owl:equivalentClass,rdfs : domain , rdfs : range , o- wl : someValuesFrom , owl :hasValue 和 owl : allValuesFrom , 并 处 理 owl : union 和 owl :intersection 运 算 符 , 以 及 owl : TransitiveProper- ty , owl :SymmetricProperty和owl:inverseOf属性。所有这些都有一定的限制。我们相信,我们的建议可以扩展到其他片段的SHOIN研究[31]。我们的工作可以作为DLP框架在以下意义上的扩展。将DL编码到逻辑编程中定义了基于规则的蕴涵关系然而,我们的编码与DLP编码不同:不是将类和角色名称编码为Prolog谓词,而是将它们编码为Prolog原子。事实上,我们的编码只使用了一个名为triple的谓词,它通过Prolog事实定义了本体的关系(即ABox和TBox因此,本体可以很容易地存储在辅助存储器中,具有高效的访问。由于这种编码,概念和角色名称现在是一等公民,并且它们可以在相应的Prolog程序和目标中作为个体处理此外,在我们的方法中,与DLP方法相比,描述逻辑中的复杂概念通过Prolog术语来处理。为例如,P. C表示为所有(P,C)的Prolog项。它还允许处理复杂的概念,也作为一等公民。我们的工作也可以被认为是DLP框架的扩展,因为我们研究了一种比DLP更灵活的查询语言。通过研究给定片段的描述逻辑公式之间的蕴涵关系,我们能够为DLP框架中例如,我们可以在我们的C(I)类型的框架类型化公式,也就是说,I是类型为C的个体,尽管C(I)在ABox中没有显式声明。但更有趣的是,这样的类型(即,C)可以作为我们的查询语言的答案进行检索。这是不可能的DLP编码,因为DLP. C8J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3∃±公式不能作为一等公民来处理。此外,P和C可以作为查询结果,提供更灵活的查询。换句话说,我们的DLP扩展可以被认为是DLP方法的二阶扩展(即DLP中的谓词名称可以被变量替换)。对于这样的扩展,我们提供了一个蕴涵关系。在我们的提议中定义的蕴涵关系也是DLP片段的潜在蕴涵关系的扩展。我们的蕴涵关系能够推出新的DL公式的种类P.CD当它们没有显式声明时TBox。这样的新DL公式将对应于从所选片段的DLP编码推断新规则。总之,对于同一片段,我们的蕴涵关系可以获得与DLP方法相同的关于ABox的声明:单独断言和属性文件,但是我们还可以获得关于TBox的新声明:关于DLP方法的子类和子属性断言我 们 已 经 开 发 了 我 们 的 方 法 的 原 型 , 可 以 从http://indalog.ual.es/OProlog下载。我们已经用几个本体的例子测试了我们的原型,包括下面的运行例子。关于执行情况,我们必须提出以下意见:• 我们已经实现了基于OWL的查询语言使用SWI-Prolog解释器。• 我们使用SWI-Prolog [32]的RDFS库来实现OWL三元组的加载。SWI-Prolog的RDFS库具有有限的查询能力。我们的建议可以被认为是一个扩展这样的库OWL查询。• 蕴涵规则的语法结构使得在Prolog中的实现是循环的:谓词三元组可以用相同的参数调用自身。然而,我们已经解决了这个问题,通过实现一个小的Prolog解释器,它运行Prolog规则,以这样一种方式,它备忘录- rizes的事实有关的谓词三元组,并避免调用相同的参数。本文的结构如下。第二节将介绍我们的建议的DL片段。第3节将定义从片段中提出的查询语言。第4节将描述Prolog中查询语言的编码。最后,第5节将总结并介绍未来的工作。2Web本体语言在本节中,我们将展示在我们的框架中允许什么样的本体。它还将定义蕴涵关系。J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)39∈ ETTOFig. 1. Ontology的一个例子TBox(1)男一人(2)女一人(3)PersonHauthor_of. Mandarin ptWriter(4)Paper HBook Mandarinpt(5)书H的主题。{已审核(7)Mandarinpt游戏评分.Score(8)Mandarinpt游戏主题.主题(10)average_rating评分(11)authored_by作者:作者:−(12)T author_of. Mandarin pt(13)作者为−.Person(14)作者为.Person(十五)T reviewed_by−. Mandarin ptABOX(1) Man(“Abiteboul”)(2) Man((4)Book((6)Paper((8)author_of(“布尼曼”)(10)author_of(“XML in(12)writes(“匿名者”)(14)reviewed_by(“好”)(16)rating(“好”)(18)topic((20)topic(在我们的框架中的本体包含一个包含序列的TBox根据定义1,...,n,其中E、F是等价类型(用E,F表示)的类(即概念)描述,其形式为:E::=C0|E1HE2|Please. {O}此外,C是左手边类型的类(即概念)描述(记为C∈ L),其形式为:C::=C0|C1HC2|Please. {O}|C1HC2|公司简介10J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3T::=C± D|(rdfs:subClassof)EF|(owl:equivalentClass)P± Q|(rdfs:subPropertyOf)PQ|(owl:equivalentProperty)PQ−|(owl:inverseOf)PP −|(owl:对称属性)P+±P|(owl:传递属性)T ±P−.D|(rdfs:domain)T ± ΔP.D(rdfs:范围)表1本体O而D是一个类(即,概 念 )右侧类型的描述(表示为D∈ R),其形式为:D::=A|D1HD2|Please. {O}|公司简介在前面的所有情况下,C0是一个原子类(即类名),P,Q是属性(即角色)名称,O是一个单独的名称。此外,ABox包含一系列定义A1,...,m的形式:A:= P(A,B)|C0(A)|T(A)其中P是属性名,C0是类名,A、B是单个名称。基本上,DL的建议子集限制了子类和类等价定义的左右两侧以及单个断言中的类描述的形式。根据[31]需要这种限制,以便能够将DL的片段编码到逻辑编程中。在[31]之后,泛量化只允许在DL公式的右手边,这在编码中对应于规则的左手边(即头部)出现相同的量化器。基于同样的原因,存在的量化只发生在右手。联合公式需要出现在DL公式的左侧,这在编码中对应于两个规则的定义J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)311表2推理演算规则名称推理(等式1)(等式2)(等式3)(等式4)E F, F GE FE F, F E► OI► OI► OI► OIEEEGF EE F(Sub1)E FC D, DE CHD EE CH DC1H C2 D ,E C1C1H C2 D, E C1 CD1H D2, D1 EPlease. {O}D,QPP.C.D.,Q.P.P.C.D,EC.{O}, PQ CP.D,Q PCP.D, D E► OI► OI► OI► OI► OI► OI► OI► OI► OI► OI► OI► OI► OIEFCE CEECEHC2DEH C2 DCEH D2你好。{O}D公司简介P.E.DC.{O}CQ.DCP.E(Sub2)(Sub3)(Sub4)(Sub5)(Sub6)(Sub7)(Sub8)(Sub9)(Sub10)(Sub11)(Sub12)(Sub13)(类型1)C(A),C∗D P( A,O),DP.{O} DP( A,B),C( B) P.C DC( A), P( A,B),CP.DC( A), P( B,A),CP−.DCond(Ei),H1≤i≤nEi<$D► OI► OI► OI► OI► OI► OI► OID( A)D( A)D( A)D( B)D( B)D( A)T(A)(类型2)(类型3)(类型4)(类型5)(类型6)(类型7)(Prop1)P Q, Q RP QP Q, Q PP QP Q, QR PQ, P( A,B)P<$Q−, P( A,B)Q−P,Q(A,B)P+ P, P( A,B), P( B,C)C( A),{O}► OI► OI► OI► OI► OI► OI► OI► OI► OI► OI► OIPPPR QPQPQP R Q( A ,B)Q( B,A)P( B,A)P( A,C)P( A,O)(Prop2)(Prop3)(Prop4)(提案5)(Prop6)(提案7)(提案8)(提案9)(提案10)12J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3(Prop11)J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)313OO►联系我们让我们看一个本体的例子0(见图1)。本体0描述了TBox中的元数据,定义了Man的元素和Woman的元素是Person的元素(情况(1)和(2)); Paper的元素和Book的元素是Mandatopt的元素(情况(4))。此外,Writer是一个Person,他是Mandatapt的author_(case(3)),并且类Reviewed包含Mandataptreviewed_byaPerson ( case ( 6 ) ) 的 元 素 此 外 , XMLBook 类 包 含Mandatapt的元素,这些元素的主题值为“XML”((5))。类Score和Topic分别包含与Mandarin pt相关联的属性rating和topic的值(情况( 7 ) 和 ( 8 ) ) 。 属 性 average_rating 是 rating 的 子 属 性 ( case(10))。writes属性等价于author_of(case(9)),authored_by是author_of ( case ( 11 ) ) 的 逆 属 性 。 最 后 , 属 性 author_of 和reviewed_by 具有 作为域 的Person 和作 为范围 的 Mandarin pt( cases(12)-(15))。ABox描述了关于Book 的两个元素的数据:它描述了Book 元素的author_of和authored_by关系以及Paper元素的writes关系。此外,书和纸的元素已经过审查和评级,并通过以下方式进行描述: 一个话题2.1蕴涵关系现在,我们想展示一个推理演算,用OI表示,它定义了所选片段的公式之间的蕴涵关系。推理演算如表2所示。在规则(等式1)中,E是类名,并且D是规则(类型1)至(类型5)中的类名。 在规则中(类型6)A是个人名称,在规则(Prop1)中P是属性名称。此外,在规则(类型6)中,如果E是原子的,则Cond(E)=E(A)Cond(E)=P(A,O),如果E=P. O,Cond(E)=P(A,B),C(B)如果E=P. C.最 后 , 在 规 则 ( Prop 1 ) 到 ( Prop 6 ) , 以 及 ( Sub12 ) ,(Sub13 )中 ,P 和Q 可 以有 S , S- 和S+的 形式 。从 (Eq1 )到(Eq4)的规则处理等价性。(Eq1)通过反射性推断等价,(Eq2)通过传递性推断等价,并且(Eq3)通过对称性推断等价(等式4)从子类关系中推断等价性。从(Sub1)到(Sub13)的规则处理关于子类的推理。从(Sub3)到(Sub7)的情况定义了来自并集和交集运算符的新子类关系然而,微积分并没有引入新的并和交运算符.例如,CHE±D不是从C±D导出的。对于C±D和E±D不需要的CHE±D也可以这样说。从C±D和C±E得到的C±DHE也是如此。案例(Sub8)14J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3(Sub13)为复杂公式定义新的子类关系。这种复杂公式的蕴涵是我们的推理计算相对于DLP框架和pD方法的主要贡献。在前一种情况下,蕴涵关系只能蕴涵关于个体和属性填充器断言的公式,而不是复杂公式。在后 一 种 情 况 下 , pD转 换 器 不 处 理 owl : someValuesFrom 、 owl :allValuesFrom和owl:hasValue,因此这样的规则在pD中没有意义。但pD函数处理例如owl:FunctionalProperty,这在我们的框架中没有考虑。规则(类型1)到(类型7)从子类和等价关系推断类型关系最相关的是从(类型2)到(类型5)定义复公式w.r.t.的意义的情况个体最后,规则(Prop1)到(Prop11)推断关于角色的关系。最相关的是关于性质的逆的情况(Prop 8)和(Prop 9)以及关于传递性关系的情况(Prop 10)。我们的推理演算是能够推断出新的信息,从一个给定的本体。例如,O0OIReviewed(JJWeb上的数据JJ),使用以下TBox和O0的ABox信息:Book(JJData on theWebJJ). Book±Mandarinpt.Person(JJ匿名JJ).reviewed_by(JJWeb上的数据JJ,JJ匿名JJ)。管理员检查和检查。Person±Review ed. 通过以下推理:► (类型1)Mandatapt(JJWeb上的数据JJ)► (类型3)审查(JJ网络上的数据JJ)我们的推理演算可以用于证明一个给定的描述逻辑公式的选择片段从本体的同一片段。我们的推理演算可以用来推断所有的蕴涵从一个给定的本体。这个想法是应用规则,直到达到一个固定点。此外,我们还设计了推理演算,以便在逻辑编程,特别是在Prolog中实现。它限制了我们系统的推理能力。推理演算仅处理用户定义的DL复杂公式(即,这些都包含在TBox中)。例如我们J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)315±∀O Q QQVQVV∈I∈ VE∈ L ∈R∈E∈ P不能像CP.D那样推断新的关系,因为它需要检查ABox中P的所有个体之间的关系。也是如此C±D和P±Q。3一种基于描述逻辑的查询语言在本节中,我们将定义基于描述逻辑的查询语言。这种查询语言将在DL公式中引入变量,以便表达查询结果中要检索的值。此外,我们的查询语言可以处理DL公式的合取。我们将使用以小写字母开头的变量名来区分它们与非变量。假设对于概念c,d,... 以及用于角色p,q,..的变量集合p。. 和用于个体a,b. . ,对本体的查询是合取1,...,其中每个i具有以下形式:Q::=CD|EF|RT|RT|P(A,B)|C0(A)其中CV、DV、E、FV、R、T=P、P−、P+和PV和A,BV,C0c或是一个类名. 此外,V包含以下形式的公式集:C|c ∈ V c了c0|原子类E1H E2|E1,E2∈E VPlease. {O}|P∈ PV,O∈ IVLV包含一组公式的形式:C|c ∈ V c了c0|原子类C1H C2|C1,C2∈L VPlease. {O}|P∈ PV,O∈ IVC1H C2|C1,C2∈L V公司简介 |C∈ LV,P∈ PVRV包含一组公式的形式:16J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3ZH∃±联系我们C|c ∈ V c了c0|原子类D1H D2|D1,D2∈R VPlease. {O}|P∈ PV,O∈ IV公司简介 |D∈ RV,P∈ PV最后,PV包含Vp的属性名称和元素,IV包含Vi的单个名称和元素。在数据和元数据定义语言的情况下,查询语言被限制为DL的一个片段,以便在逻辑编程中编码(即在Prolog中)。假设变量名以小写字母开头,查询是这样的公式:• type(“Growing X Query“),意思是“查找Growing XQuery的类型“。• Person(p),Reviewed_by(• Mandarpt(m),Reviewed_by(m,• Author_of ( author , 让 我 们 注 意 一 下 , 在 这 种 情 况 下 , 会 考 虑“Author_of”的子属性让我们注意到,前面的查询可以从本体的TBox和ABox中回答。元数据可以通过我们的查询语言进行检索,但是,关于元数据的查询只能从本体的TBox中回答。例如,使用union和intersection运算符,我们可以检索:• 路口书Reviewed的意思是“找到Book和Reviewed的交集”。• T± 0写入。range的意思是“查找写入的范围“。• T± P。书的意思是“查找范围为书的属性“。•p.PersonBook,其含义是“查找关于Person的属性其中,《尚书》是《尚书》的经典。• classp.“XML“其含义是“找到具有角色的类 与“XML”有关J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)317►±≡H≡±TT查询Q的回答w.r.t.本体O和词汇V是从DV ar(Q)到V的映射θ,使得O<$OIθ(Q),其中DV ar(Q)表示Q的变量集合。最后,我们必须注意到,在我们的查询语言中可以考虑一些语法糖。例如,ΔP. C(A)表示a(A),a±ΔP. C,并且P −。{O}(A)表示± n =q。{O},q±P−,a(A).4编码成Prolog现在,我们将展示如何在我们的框架中使用Prolog。Prolog的作用是双重的。首先,我们可以将所考虑片段的任何给定本体实例编码到Prolog中。其次,我们的推理系统OI可以通过规则编码到Prolog中,以这种方式,实现基于描述逻辑的查询语言的Prolog目标的某一类可以用作查询语言。4.1本体实例编码本体实例的编码由称为三元组的谓词的Prolog事实组成,表示基于RDF三元组的OWL表示。就T B o x 而言:(a)en(CD)=triple(en(C),rdfs:subClassOf,-en(D));(b)en(E F)=triple(en(E),owl:equivalentClass,en(F));(c)en(PQ)=triple(en(P),rdfs:subProperty Of,en(D));以及(d)en(P Q)=triple(en(P),owl:equivalent Property,en(Q))。此外,en(C)、en(D)、en(E)、en(F)、en(P)和en(Q)表示类和属性的编码,其中类和属性名称C、P、. 被翻译成Prolog原子c,d,.. . .的特殊情况被编码为en()=owl:thing。此外,Prolog术语用于表示如下的复杂DL公式:(a)en(P+)=transs(en(P));(b)en(P-)=inv(en(P));(c)en(中文)C)= forall(en(P),en(C));(d)en(n(P). C)=exists(en(P),en(C));(e)en(中文){O})=hasvalue(en(P),en(O));(f)en(H1≤i≤nCi)=inter([en(C1),..., en(C n)])和(h)en(1≤i≤nC i)= union([en(D 1),., en(Dn)])。最后,ABox的元素也被编码为Prolog事实相关对个人的财产,并定义成员的阶级:(a)en(P(A,B))=三重(A,en(P),B)和(b)en(C0(A))=三重(A,rdf:类型,C0)。4.2推理演算的编码现在,编码的第二个元素由用于编码CNOOI推理演算的Prolog规则组成。这套规则见表3、4和518J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3表3推理演算的编码规则名称Prolog规则(等式1)(等式2)(等式3)(等式4)三重(E,猫头鹰:equivalentClass,E):− class(E).triple( E,owl: equivalentClass,G):− triple( E,owl: equivalentClass,F),triple(F,owl:equivalentClass,G).triple(E,owl:equivalentClass,F):− triple(F,owl:equivalentClass,E). triple( E,owl: equivalentClass,F):− triple( E,rdfs: subClassOf,F),triple(F,rdfs:subClassOf,E).(Sub1)(Sub2)(Sub3)(Sub4)(Sub5)(Sub6)(Sub7)(Sub8)(Sub9)(Sub10)(Sub11)(Sub12)(Sub13)triple(E,rdfs:subClassOf,F):− triple(E,owl:equivalentClass,F). triple( C,rdfs: subClassOf,E):− triple( C,rdfs:subClassOf,D),triple(D,rdfs:subClassOf,E).triple( D,rdfs: subClassOf,E):− triple( union( U),rdfs: subClassOf,E),member( D,U). triple( E,rdfs: subClassOf,C):− triple( E,rdfs:subClassOf,inter( I)),member( C,I). triple( inter( I2),rdfs: subClassOf,D):− triple( inter( I1),rdfs: subClassOf,D),member(C,I 1),triple(E,rdfs:subClassOf,C),replace(I 1,C,E,I2).triple( union( U2),rdfs: subClassOf,D):− triple( union( U1),rdfs:subClassOf,D),member(C,U 1),triple(E,rdfs:subClassOf,C),replace(U 1,C,E,U2).triple( C,rdfs: subClassOf,inter( I2)):− triple( C,rdfs: subClassOf,inter( I1)),member(D,I 1),triple(D,rdfs:subClassOf,E),replace(I 1,D,E,I 2).triple( hasvalue( Q,O),rdfs: subClassOf,D):− triple( Q,owl:subPropertyOf,P),triple(hasvalue(P,O),rdfs:subClassOf,D). triple( exists( Q,C),rdfs: subClassOf,D):− triple( Q,owl:subPropertyOf,P),triple(exists(P,C),rdfs:subClassOf,D).triple( exists( P,E),rdfs: subClassOf,D):− triple( E,rdfs: subClassOf,C),triple(exists(P,C),rdfs:subClassOf,D).triple( C,rdfs: subClassOf,hasvalue( Q,O)):− triple( P,owl:subPropertyOf,Q),triple(C,rdfs:subClassOf,hasvalue(P,O)).triple( C,rdfs: subClassOf,forall( Q,D)):− triple( Q,owl: subPropertyOf,P),triple(C,rdfs:subClassOf,forall(P,J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)319D)). triple( C,rdfs: subClassOf,forall( P,E)):− triple( D,rdfs:subClassOf,E),triple(C,rdfs:subClassOf,forall(P,D)).其中谓词类、属性和个体的事实是为每个原子类、(逆和传递)属性和个体定义的。20J.M. Almendros-Jiménez/电子笔记理论计算机科学271(2011)3表4推理演算的编码IIProlog规则triple(A,rdf:type,D):−triple(C,rdfs:subClassOf,D),triple(A,rdf:type,C).triple(A,rdf:type,D):−triple(inter(E),rdf:type,D),triple_cond(A,E).三重(A,rdf:type,D):−triple(exists(P,C),rdf s:subClassOf,D),triple(B,rdf:type,C),triple(A,P,B). triple(A,rdf:type,D):−triple(hasvalue(P,O),rdf s:subClassOf,D),三重(A,P,O),单个(O)。triple(B,rdf:type,D):−triple(forall(P,C),rdf s:subClassOf,D),triple(A,P,B),triple(A,rdf:type,triple(A,P,B),triple(A,rdf:type,C).规则名称(类型1)(类型2)(类型3)(类型4)(类型5)(类型6)(类型7)表5推理演算的编码IIIProlog规则triple(P,owl:equivalentProperty,P):−property(P).triple(P,owl:equivalentProperty,R):−triple(P,owl:equivalentProperty,Q),三重(Q,owl:equivalentProperty,R)。tr
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)