SWRL在语义网上支持规则系统互操作性外文翻译资料

 2022-11-03 21:03:08

英语原文共 15 页,剩余内容已隐藏,支付完成后下载完整资料


SWRL在语义网上支持规则系统互操作性

马丁·奥康纳1,霍尔格·克努浪奇1,参孙·图1,本杰明·格罗夫2,麦克·迪恩3,威廉·格罗索4,马克·穆森1

1斯坦福医学信息学,斯坦福大学医学院,

斯坦福,CA94305 musen@smi.stanford.edu

2斯隆管理学院,MIT,

剑桥,MA 02142 bgrossof@mit.edu

3BBN技术,

安阿堡,MI 48103 mdean@bbn.com

4Echopass公司,

旧金山,CA 95105 wgrosso@echopass.com

规则语言和规则系统被广泛应用于商业应用,包括计算机辅助培训,诊断事实调查,合规监控和过程控制。然而,现有的基于规则的系统之间的互操作性很小。互操作是语义网的主要目标之一,并且开发一种分享规则的语言通常被认为是达成这一目标的关键一步。语义网规则语言(SWRL)是定义这种规则语言的重要的第一步。本文介绍了Proteacute;geacute;-OWL内置的SWRL可配置互操作环境的开发,Proteacute;geacute;-OWL是被广泛使用的OWL开发平台。此环境支持SWRL的高度交互式,功能齐全的编辑器和用于集成第三方规则引擎的插件机制。我们将流行的Jess规则引擎集成到这个环境中,从而实现网络统一整合的路径上的第一步。

1介绍

许多业务流程,如工作流程管理,计算机辅助培训,合规性监控,诊断事实查找和过程控制,通常使用声明式进行建模,导致在基于规则的系统中产生非常积极的商业利益。然而,目前基于规则的多个系统之间的互操作性是有限的。鉴于互操作性是语义Web的主要目标之一,规则是这些目标的关键部分,最近对标准化的兴趣很大。1共享规则库使用不同的规则引擎处理它们的目标已经导致了RuleML,SWRL,Metalog和ISO Prolog等标准化工作。

在网络上规则互操作的关键步骤之一是SWRL2,SWRL被设计为语义网的规则语言。SWRL是基于OWL Web本体语言的OWL DL和OWL Lite子语言3的组合,一般/二进制数据4记录语言的规则标记语言。SWRL允许用户编写以OWL概念表达的角状规则来推理的OWL个体。该规则可用于从现有的OWL知识库推断新知识。

SWRL规范5不对如何使用SWRL规则执行推理施加限制。因此,调查人员可以自由地使用各种规则引擎来使用存储在OWL知识库中的SWRL规则来进行推理。他们也可以自由地使用自己的编辑工具来创建SWRL规则。这样,SWRL提供了一个方便的起点,用于集成规则系统来与语义Web一起工作。

为此,我们开发了Proteacute;geacute; SWRL编辑器,这是SWRL的全功能高度互动的开源规则编辑器。该编辑器在Proteacute;geacute;-OWL6中运行,并与之紧密集成。它采用Proteacute;geacute;-OWL的外观,并且允许用户在SWRL规则编辑和OWL实体的正常OWL编辑之间无缝切换。用户还可以轻松地将OWL实体纳入他们正在制作的规则中。

SWRL编辑器的主要目标之一是允许SWRL与现有规则引擎之间的互操作性。这种互操作性的一个重要组成部分是编辑器支持与规则引擎紧密集成的机制。该机制由称为Proteacute;geacute; SWRL工厂的子系统支持。SWRL工厂支持规则引擎插件机制,允许与现有规则引擎进行API级的互操作。它还允许开发人员访问SWRL编辑器选项卡上的资源,这使得规则引擎的界面与SWRL编辑器共存。开发人员可以完全控制面板内集成现有规则引擎和SWRL编辑器的区域。

当然,在OWL知识库层面也可能出现更为宽松的互操作。调查员可以自由使用由编辑器创建的SWRL规则,并将其存储在OWL文件中作为其规则引擎的输入。例如,SweetRules7项目中的研究人员已经使用由SWRL编辑器创建的规则,使用基于Jena 28的规则引擎执行推理。

我们使用SWRL Factory机制来集成Jess规则引擎和SWRL Editor。用户使用Jess来实现交互运行SWRL规则来创建新的OWL概念,然后将其插入到OWL知识库中。SWRL与Jess一起,可以为语义网提供丰富的基于规则的推理机制,并可作为进一步规则集成工作的起点。

2 语义网规则语言(SWRL)

与许多其他规则语言一样,SWRL规则被写为前提-结论对。在SWRL术语中,前者被称为规则主体,后者被称为规则的首部。头部和主体由一个或多个原子的连接组成。目前,SWRL不支持更复杂的原子逻辑组合。

SWRL主要根据OWL类和属性来规定了OWL个体。例如,一个SWRL规则,表示一个男同胞的兄弟有兄弟需要在OWL中捕捉“人”,“男”,“姐妹”和“兄弟”的概念。直观来说,人和男人的概念可以使用一个名为Person的OWL类与一个子类Man来捕获;姐妹和兄弟关系可以用OWL属性表示hasSibling和hasBrother,它们附加到Person。SWRL的规则如下所示:

Person (?x1) ^ hasSibling(?x1,?x2) ^ Man(?x2) → hasBrother(?x1,?x2)

执行此规则将具有将hasBrother属性在满足规则的个体中设置为x2,名称设置为x1。

SWRL规则也可以明确地引用OWL个体。例如,以下示例是上述规则的变体,推断特定个体Fred具有兄弟:

Person(Fred) ^ hasSibling(Fred,?x2) ^ Man(?x2) → hasBrother(Fred,?x2)

在当前情况下,Fred是OWL个体的名字。

SWRL还支持数据文字。例如,假设一个人有一个hasAge属性,可以询问Fred是否有一个40岁的兄弟:

Person(Fred) ^ hasSibling(Fred,?x2) ^ Man(?x2) ^ hasAge(?x2,40) → has40YearOldBrother(Fred,?x2)

也支持使用单引号括起来的字符串文字。

SWRL还支持与概念相同和不同的常识。例如,SWRL sameAs原子可以确定两个OWL个体Fred和Frederick是否是同一个体:

sameAs(Fred, Frederick)

同样,不同的原子可以用来表示两个不一样的OWL个体。

SWRL还有一个原子来确定个体,属性或变量是否是特定类型。例如,以下示例确定变量x是否为无符号整数类型:

xsd:unsignedInt(?x)

这些原子 - 称为SWRL中的数据范围原子 - 必须在“xsd:”命名空间限定符之前。指定的类型必须是XML模式数据类型。

数据范围原子的第二种形式可用于表示SWRL中的一种关系。例如,以下SWRL原子表示变量x必须是3,4或5之一:

[3, 4, 5](?x)

SWRL还支持一系列内置谓词,大大扩展了其表达力。SWRL内置函数是能接受多个参数的谓词。它们在SWRL内置规范中有详细描述9。最简单的内置功能是比较操作。例如,大于内置决定一个人是否有一个哥哥:

hasBrother(?x1,?x2) ^ hasAge(?x1,?age1) ^ hasAge(?x2,?age2) ^ swrlb:greaterThan(?age2,?age1) → hasOlderBrother(?x1,?x2)

SWRL中的所有内置函数必须位于命名空间限定符“swrlb:”之前。

最后,SWRL支持更复杂的数学内置。例如,以下规则确定个人是否具有正在10岁的兄弟:

hasBrother(?x1,?x2) ^ hasAge(?x1,?age1) ^ hasAge(?x2,?age2) ^ swrlb:subtract(10,?age2,?age1) → hasDecadeOlderBrother(?x1,?x2)

SWRL内置本体10描述了SWRL支持的内置范围。除了数学内置功能,还有内置的字符串,日期和列表。未来可能会添加此命名空间,因此SWRL支持的内置范围可以增长。

3 Proteacute;geacute; SWRL编辑器

Proteacute;geacute; SWRL编辑器是Proteacute;geacute;-OWL的扩展,允许SWRL规则的交互式编辑。用户可以创建,编辑和读取/写入SWRL规则。除了任意的OWL表达式(参见第6节),SWRL编辑器支持当前SWRL规范中概述的全套语言功能。它与Proteacute;geacute;-OWL密切结合,主要通过其中的选项卡访问。在编辑规则时,用户可以直接在OWL知识库中引用OWL类,属性和个体。它们还可以直接访问SWRL内置本体中描述的全套内置函数,以及所有XML Schema数据类型。图1显示了Proteacute;geacute; SWRL规则选项卡的屏幕截图。SWRL编辑器还支持使用Jess11规则引擎对SWRL规则进行推理(参见第5节)。编辑器的文档可以在Proteacute;geacute; SWRL Editor FAQ中找到12

图1 Proteacute;geacute;-OWL中的Proteacute;geacute; SWRL规则标签。 SWRL规则选项卡提供OWL知识库中所有SWRL规则的列表。这些规则可以在现场进行编辑,也可以通过多行交互式编辑器进行编辑,并且可以被弹出。

当加载导入SWRL本体的任意OWL知识库时,SWRL编辑器13在Proteacute;geacute;-OWL中自动启用。默认情况下,如果加载的知识库不导入本体,它将被禁用。用户可以使用Proteacute;geacute;-OWL的配置菜单为不导入SWRL本体的知识库启用此选项卡;然后,他将被给予一个导入本体的选项,以便知识库的所有未来负载将激活SWRL编辑器。

在Proteacute;geacute;-OWL中有两种与SWRL编辑器交互的方法:

  1. 主要机制是通过SWRL规则选项卡(见图1)。此选项卡以表格形式显示加载的OWL知识库中的所有SWRL规则。
  2. 第二种机制允许用户在这些实体的相应Proteacute;geacute;-OWL选项卡中查找与所选OWL类,属性或个体相关的规则。例如,如果用户正在使用OWL类选项卡检查类,则他可以显示引用该类的SWRL规则列表。相同的机制适用于属性和个体选项卡。图2显示了一个Proteacute;geacute;-OWL属性选项卡,显示引用所选属性hasParent的所有SWRL规则。

图 2 “Proteacute;geacute;-OWL属性”选项卡,显示引用hasParent属性的所有SWRL规则。与SWRL编辑器选项卡相同,显示的规则可以在现场或多行交互式编辑器中进行编辑。

规则有两种编辑模式。用户可以在包含它们的表中进行编辑,也可以选择弹出多行编辑器(见图3)。两种模式之间的区别主要是可视化。相同的交互机制适用于两种模式,通过多行编辑器具有一些其他选项。

SWRL编辑器允许用户以文本形式完全输入规则。然而,它还允许用户从当前加载的知识库中选择OWL实体,并将它们插入正在编辑的规则中。此任务通过图标面板执行。图标面板提供对选择对话框的访问,选择OWL类,属性和个体。它还包括SWRL内置的选择对话框,XML模式数据类型和各种其他实体的快捷方式。

图3 SWRL多行编辑器对话框。图标面板提供选择对话框,以选择包括OWL类,属性和个体的内容。它还包括各种其他实体的快捷方式和选择对话框。

SWRL编辑器执行句法和语义检查判断规则是否正在输入。它确保每个规则在语法上是正确的,并且还确保对OWL实体的任何引用都是有效的。它还将确保在规则中引用的任何变量存在于首部。如果用户在输入规则时出现错误,则规则文本输入框会变成灰色,并显示错误的文字说明。用户可以继续输入并立即修复错误或稍后修复错误。编辑器不允许用户保存不完整或错误的规则。

编辑器还具有自动完成等便利功能。在编辑OWL实体,内置或XML模式数据类型名称时,按Tab键可以自动填充名称(如果具有唯一的扩展名)。 如果名称不是唯一的,该软件将显示一个包含可能的完成列表的选择框。

4 SWRL编辑器和互操作性

当保存开放的OWL项目时,SWRL规则作为OWL个体与其关联的知识库一起存储。描述这些个体的课程由SWRL本体论描述。本体论中的最高级别是swrl:Imp,用于表示单个SWRL规则。它包含被称为身体的先行部分,以及被称为首部的后续部分。body和head都是swrl的实例:AtomList类,它表示一个包含规则原子的列表。抽象swrl:Atom类用于表示规则原子。SWRL规范中描述的各种原子由本类的子类描述。SWRL本体还包括一个名为swrl的类:Builtin,用于描述内置函数和一个名为swrl:Variable的类,可用于表示变量。

SWRL编辑器包含一个名为Proteacute;geacute; SWRL Factory的Jav

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[140758],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。