W3C公司

OWL中的时间本体

W3C编辑草案2006年9月6日

此版本:
网址:http://www.isi.edu/~pan/SWBP/time-ontology-note/time-ontology-working-draft.html
http://www.w3.org/2001/sw/BestPractices/OEP/Time-Ontology-20060906
最新版本:
http://www.w3.org/2001/sw/BestPractices/OEP/Time-Onology网站
以前的版本:
http://www.w3.org/2001/sw/BestPractices/OEP/Time-Ontology-20060518
编辑:
杰里·霍布斯,美国大学南加州/信息科学研究所
冯·潘,南方大学加利福尼亚/信息科学研究所

版权所有© 2006W3C公司®(麻省理工学院,ERCIM公司,庆应义塾),保留所有权利。W3C公司责任,商标,文件使用软件许可规则适用。


摘要

本文档介绍了时间概念的本体,OWL-Time(以前是DAML-时间)[4,10], 用于描述网页的时态内容和的时态属性Web服务。本体提供了一个词汇表,用于表达有关瞬时和区间之间的拓扑关系以及信息关于持续时间和日期时间信息。我们还详细演示了,使用来自OWL-S的Congo.com和Bravo Air示例[11],如何使用这个时间本体来支持OWL-S,包括定义输入参数和(条件)输出参数的用例。的用例还显示了会议日程安排。在附录中,我们还描述了时区我们为美国乃至全世界开发的OWL资源,包括时区本体、美国时区实例和世界时间分区实例。

本文件的状态

本节描述了本文档在其发布时的状态出版物。其他文件可能取代本文件。当前W3C列表出版物和本技术报告的最新版本可在这个W3C技术报告索引http://www.w3.org/TR/。

本文件由本体工程和模式工作组语义Web最佳实践和部署工作组(SWBPD)。这项工作是这个W3C语义网活动.

本文件是W3C首次公开工作草案,旨在征求相关方的意见。欢迎发表所有意见,并可发送至public-swbp-wg@w3.org; 请包括主题行中的文本“注释”。在此地址接收的所有消息可在中查看公共档案馆. 在审查意见和进一步反馈后,工作组可发布新的本文件的版本或可将文件提前提交给工作组注释。

本文件由一个在2004年2月5日W3C专利政策。本文件仅供参考,因此没有相关的W3C专利政策许可义务。W3C有一个任何专利的公开清单披露与SWBPD工作的可交付成果相关集团;该页还包括披露专利的说明。

作为工作草案出版并不意味着得到W3C的认可会员。这是一份草案文件,可能会被更新、替换或作废任何时候通过其他文件。将本文件引用为除了正在进行的工作。

目录

  1. 概述问题
  2. 使用案例示例
  3. 语法用于代码
  4. 拓扑时间关系
  5. 持续时间描述
  6. 时间区域
  7. 日期时间描述
  8. 使用Web服务案例
    1. 使用输入参数案例
    2. 使用(条件)输出参数的情况
  9. A类调度用例
  10. 附录A.时间本体中的类和属性摘要
  11. 附录B.OWL中的时区资源
  12. 工具书类
  13. 鸣谢

一般问题

时间信息非常普遍,很难找到真实的网络没有它的服务。例如,每当您在网上下订单时日期始终是订单的一部分。当你在租车点预订汽车时,你必须指定你需要它的日期。为了响应这种需要本体OWL-Time(以前叫DAML-Time)是为了描述Web页面的时态内容和Web服务的时态属性。开发是由一些网站,旨在捕获所有网站的基本功能,并使它们及其相关资源很容易被大量Web访问开发人员和用户。虽然它可以独立使用,但我们已经确保它能与OWL-S很好地配合使用。OWL-Time相对于XML模式数据类型的优势期间dateTime(日期时间)将进行讨论。

本文档仅提供本体的OWL编码。对于本体的一阶逻辑公理化,请参见[4,10]. 在时间本体论的扩展中[5,9], 我们还允许时间谓词直接应用于事件,如果用户希望如此,但在这里我们限制了对时间实体的处理。

用例示例

一个简单的用例示例:“假设有人安排了一个电话会议美国东部时间2006年11月5日下午6:00。你想和他预约在太平洋标准时间当天下午2:00,预计会议将持续45分钟。  会有重叠吗?“在这个用例中,我们可以指定有关telecon和会议使用我们在OWL中的本体,这将允许判断是否存在冲突的推理器。请参见[A类调度用例]部分了解详细信息。

更多示例:“某人在网上搜索,试图找到一个地方购买下周二之前需要的书可能无法使用在线承诺在五个工作日内送达的书店。"

“进行系谱搜索的人可能想指定生日一个人的年龄在已知结婚日期前15至45岁之间。"

更多用例示例将在中详细描述[使用Web服务案例]第节。

代码的语法

根据SWBP政策,注释正文中的代码为N3。大部分代码是由Protégé从RDF/XML中的原始OWL代码生成的。替代语法中的详细信息通过链接给出。


拓扑时间关系

有两个子类临时实体:即时间隔,它们是临时实体:

:即时猫头鹰:类;rdfs:subClassOf:TemporalEntity。
:间隔猫头鹰:类;rdfs:subClassOf:TemporalEntity。
:临时实体猫头鹰:类;rdfs:subClassOf:TemporalThing;owl:等价类[猫头鹰:类别;owl:unionOf(:Instant:Interval)] .

直观地说,区间是有范围的事物,直观地说,瞬间是,像点一样,它们没有内部点。思考通常是安全的作为长度为零的间隔的瞬间,其中开始和结束为相同的。

has开始hasEnd(已结束)是以下关系瞬间和时间实体,以及时间的开始和结束实体(如果存在)是唯一的。在无限区间的某些方法中正无穷区间没有终点,负无穷区间有没有开始。因此,我们使用关系has开始hasEnd(已结束)在本体论中,而不是定义函数开始结束于,因为函数不会是总计。has开始例如,可以指定为:

:has开始a owl:ObjectProperty;rdfs:domain:TemporalEntity;rdfs:range:即时。

里面是瞬间和间隔之间的关系不包括间隔的开始和结束。有一个之前时间实体上的关系,为时间。如果是临时实体T型1在另一个时间段之前实体T型2,然后结束T型1在…开始之前T型2因此,before可以被认为是瞬间的基础,并且是为区间推导的。 

艾伦和弗格森[1,2] 开发了一种基于区间的二进制关系演算(例如,满足,重叠)用于表示定性时间信息并解决对此类信息进行推理的问题。区间之间的关系在他们的演算中定义的可以用相对简单的方式定义依据之前以及起点和终点的一致性。标准区间演算假设所有区间都是正确的,我们就是这样做的这里也是。适当的间隔是指开始和结束不同的间隔。可以指定为:

:属性间隔猫头鹰:阶级;rdfs:subClassOf:Interval;猫头鹰:disjointWith:Instant。

OWL-Time提供了间隔关系:间隔等于,intervalBefore(间隔之前),间隔满足,间隔重叠,间隔开始时间,间隔期间,间隔饰面和它们的反面间隔关系:间隔之后,间隔MetBy,间隔重叠方式,间隔开始时间,intervalContains间隔包含,间隔完成者例如规范间隔等于是:

:间隔等于a owl:ObjectProperty;rdfs:domain:PropertInterval;rdfs:range:PropertInterval。

持续时间描述

间隔(或时间序列)的持续时间可以有很多不同描述。间隔可以是1天2小时,或26小时,或1560分钟,等等。能够在方便的方式作为独立的对象,并讨论它们的等价性。我们首先使用名为持续时间这需要八个论点,一个是暂时的,另一个是年、月、,周、天、小时、分钟和秒。然后我们将定义一种特定的被称为“持续时间描述”的个人,以及一些功能将所述持续时间描述与所述八个自变量中的每一个的值相关联。因此,我们转换了8元谓词持续时间变成八个二进制更便于基于描述逻辑的标记语言的关系,例如OWL:

:工期描述猫头鹰:类;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:seconds] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:分钟] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:小时] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:天] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:周] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:月] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:年] .

一个间隔可以有多个持续时间描述(例如,2天,48小时),但是只能具有一个持续时间。

我们使用两组不同的属性日期时间描述工期描述,因为它们的范围不同。对于例子,(英寸日期时间描述)范围为xsd:gYear,同时(英寸工期描述)范围为xsd:十进制所以你可以说持续时间是2.5年。

iCalendar[] 是一个广泛支持的个人数据交换标准。它提供了公开交换日历和日程安排的通用格式的定义互联网上的信息。时间概念的表示时间本体可以直接映射到iCalendar。例如,iCalendar中15天5小时20秒的持续时间表示为P15DT5H0M20S,在时间本体中可以表示为:

:持续时间a:工期描述;:20秒;:第5小时;:第15天。

关系has持续时间描述用于指定时间实体的持续时间描述:

:has持续时间描述a owl:ObjectProperty;rdfs:domain:TemporalEntity;rdfs:range:DurationDescription。

其他持续时间概念可以直接定义。例如,持续时间“Year”可以定义为“DurationDescription”的子类需要“年”属性的限制(“基数”为1)和不应存在所有其他属性(例如“小时”、“月”)0的“基数”):

:年份猫头鹰:类;rdfs:subClassOf:DurationDescription;rdfs:subClassOf[猫头鹰:限制;owl:基数1;owl:onProperty:年] ;rdfs:subClassOf[猫头鹰:限制;owl:基数0;owl:onProperty:月] ;...rdfs:subClassOf[猫头鹰:限制;owl:基数0;owl:onProperty:seconds] .
这里我们使用“基数=0”,而不是限制天数的值,等设置为0。原因是使用“基数=0”意味着所有这些不应指定属性/字段(天等)(即粒度为“年”),而将所有这些值限制为0意味着它们都有一个固定的值为0(即x年0个月0天…),粒度实际上为“第二”,这不是“年”的正确语义。

值得指出的是,一年与持续时间和日历年。2006年12月22日至2006年12月21日,2007年是前者,但不是后者。

时区

一个瞬间的时间与时区有关。这是分钟也是如此,因为世界上有一些地区,例如中部澳大利亚,小时数与UTC小时数不一致,但存在偏移半小时。秒与时区无关。

日、周、月和年也与时区有关,因为,例如,2006年开始于东部标准时区,比开始时间早了三个小时在太平洋标准时区。因此,关于所有日期时间的预测除秒以外的时间间隔是相对于时区的。

我们一直在提到时区,但实际上更方便按照我们所称的时间标准工作区域。也就是说,最好使用太平洋标准时间(PST)作为将科普科技园区作为一个地理区域。时间标准是一种计算时间的方法,相对于世界范围的计算时间系统。对于每个时间标准,都有一个区域或地理区域,以及用来描述当地时间的年份。何时何地使用的标准必须公理化,这涉及到时间的相互关联本体论和地理本体论。这些关系可能相当复杂。仅限像PST和EDT这样的时间标准是时间的一部分本体论。

如果我们要合并时区(即地理区域)和时间标准,这可能会在几种情况下导致问题。对于例如,东部标准区和东部日光区同样,因为印第安纳州大部分地区全年都在东部标准时间。国家亚利桑那州和纳瓦霍印第安人保留地,两个地缘政治重叠各地区在夏令时有不同的时间标准是太平洋,另一个是山。

时间标准似乎相当,如东部标准和中部标准日光,应被视为单独的实体。而它们的功能在时间本体中是一样的,它们在本体中的功能不同表达时间和地理。例如,这样说是错误的印第安纳州的部分地区在4月份从东部标准日改为中部夏令日时间。

请参见[附录B]有关我们在OWL中开发的时区资源。

日期时间描述

日期时间描述具有以下属性/字段:单位类型,,,,白天,星期几,年中第几天,小时,分钟,第二、和时区.物业单位类型指定时间日期时间描述的单位类型,其域为时间单位:

:时间单位猫头鹰:类;owl:等价类[猫头鹰:类别;owl:oneOf(:unitSecond:unitMinute:unitHour:unitDay:unitWeek:unitMonth:unitYear)] .

例如,时间单位类型10:30是分钟(unit分钟),时间单位类型2006年3月20日为天(unitDay(单位日)). 单位类型是必需的。使用给定的时间单位类型,将忽略较小单位的所有字段/属性。例如,如果时间单位类型为天(unitDay(单位日)),的值字段/属性小时、分钟和秒(如果存在)将被忽略。日期时间描述用于描述日期时间间隔,我们定义了一个属性,调用has日期时间描述具有日期时间描述作为日期时间间隔的范围。收件人表示“2006年3月12日”,例如,使用日期时间描述,我们需要的实例日期时间描述只有值的单位类型(unitDay(单位日)),(2006),(3) 、和白天(12).日期时间描述hasDateTime描述在OWL中定义为:

:日期时间描述猫头鹰:类;rdfs:subClassOf[猫头鹰:限制;owl:基数1;owl:onProperty:unitType] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:second] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:minute(owl:on属性:分钟)] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:hour(owl:on属性:小时)] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:day(owl:on属性:天)] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:dayOfWeek] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:dayOfYear] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:week(owl:on属性:周)] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:月] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:year(owl:on属性:年)] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:timeZone(owl:on属性:时区)] .:hasDateTimeDescriptiona owl:ObjectProperty;rdfs:domain:DateTimeInterval;rdfs:range:DateTimeDescription。

日期时间间隔是的子类属性间隔. 任何临时实体有持续时间,但只有日期时间间隔可以有日期时间描述(例如。,5月8日有日期时间描述,但从五月下午1:30开始8日至5月9日下午1点30分,没有。两者的持续时间均为一天。A类日期时间描述始终是间隔的描述(日期时间间隔)不是瞬间,这可以描述输入日期时间inXSD日期时间,如上所述在本节后面的部分中。

属性的域每周一天是班级吗星期几(DayOfWeek):

:DayOfWeek(星期五)猫头鹰:类;owl:等价类[猫头鹰:类别;owl:oneOf(:星期日:星期一:星期二:星期三:星期四:星期五:星期六)] .

其他日期时间概念可以直接定义。例如,“January”可以定义为日期时间描述具有以下限制单位类型属性具有所有值来自unitMonth和财产 hasValue(哈斯值)第页,共1页:

:1月猫头鹰:类;rdfs:subClassOf:DateTimeDescription;rdfs:subClassOf[猫头鹰:限制;owl:onProperty:unitTypeowl:hasValue:unitMonth] ;rdfs:subClassOf[猫头鹰:限制;owl:onProperty:月owl:hasValue--01;] .

为了指定某个瞬间处于日期时间间隔中输入日期时间属性/关系的定义类似于has日期时间描述如下:

:in日期时间a owl:ObjectProperty;rdfs:domain:Instant;rdfs:range:DateTimeDescription。

用这个输入日期时间关系,我们可以说发生在特定的时间。例如,会议的开始,即即时,是在下午6:00,实际上是在日期时间间隔[6:00:00,6:01:00). 使用输入日期时间你没有描述瞬间;只有你通过将它们限制在一个区间内来近似它们。这通常应该是足够。如果不是,你总是可以用迂回的方式定义一个瞬间作为间隔的开始。

我们还在OWL中定义了两个更简单的关系,xsd日期时间inXSD日期时间.唯一的区别在这两种关系和上述关系之间has日期时间描述输入日期时间关系是它们的范围:这两个简单的关系使用XML模式数据类型dateTime(日期时间)作为其范围,而上述用途日期时间描述:

:xsdDateTime一个owl:DatatypeProperty;rdfs:domain:DateTimeInterval;rdfs:range xsd:dateTime。:在XSD日期时间中owl:DatatypeProperty;rdfs:domain:Instant;rdfs:range xsd:dateTime。

为了更清楚地说明使用日期时间描述并使用XML数据类型dateTime(日期时间),让我们看一个具体的例子:代表会议的开始,称为会议开始,发生在美国东部标准时间2006年1月1日上午10:30可以使用以下两种方式表示inXSD日期时间输入日期时间在OWL中为:

:meeting开始a:即时;:in日期时间:meetingStartDescription;:在XSD日期时间中2006-01-01T10:30:00-5:00。:meetingStartDescription(会议开始描述)a:日期时间描述;:unitType:unitMinute;:30分钟;:第10小时;:第1天;:dayOfWeek:周日;:第1年第几天;:第1周;:第1个月;:timeZone tz-us:EST;:2006年。

从这个例子中我们可以看出,使用XML要简洁得多架构数据类型dateTime(日期时间)然而,使用日期时间描述它可以表达比dateTime(日期时间),例如“星期”、“星期几”和“一年中的几天”,所以在上面的例子中,我们还可以知道2006年1月1日是星期日,在第一天一年中的第几天和第一周。

名称空间“tz-us”指向我们的美国时区数据[17]. 此外日期时间描述是分开的,所以提取某些字段的值以供以后使用更容易,也更容易原因。

时间本体的OWL代码

[RDF/XML]

Web服务的用例

Congo.com和Bravo Air是OWL-S 0.9草案中使用的两个示例释放[12] (最新版本是OWL-S 1.1[13], 为了便于说明,我们在这里使用0.9草案版本中的代码)。Congo.com公司是一个虚构的图书销售服务网站,而Bravo Air是一个虚拟的空运服务站点。我们使用这两个示例来演示详细说明如何使用时间本体来支持OWL-S,包括用例用于定义输入参数和(条件)输出参数。

输入参数的用例

例如,在Congo.com示例的配置文件(即CongoProfile.owl)中,我们的时间本体目前用于描述输入参数信用卡到期日期:

配置文件:信用卡到期日期a配置文件:ParameterDescription;配置文件:parameterNamecreditCardExpirationDate;配置文件:restrictedTo时间:即时;配置文件:参考刚果流程:creditCardExpirationDate。

名称空间“time”指向时间的OWL代码的位置本体论。在这个例子中即时用于描述信用卡到期日期,因为到期日期实际上是一瞬间——信用卡到期的午夜。

在Bravo Air示例中,我们的时间本体可以用来描述现有输入参数,出发日期到达日期。我们会将此更改为更合适的出发时间到达时间。我们可以定义出发时间在Bravo Air示例的配置文件中(即。BravoAirProfile.owl)作为:

配置文件:出发时间a配置文件:ParameterDescription;配置文件:parameterName出发时间;配置文件:restrictedTo时间:即时;配置文件:参考ba_process:outboundDate_In。

出发时间定义为即时.有了这个定义,正如我们在前面的日期时间描述部分中所讨论的的实例出发时间可以有一个inXSD日期时间指向特定XML值的属性/关系架构数据类型dateTime,例如2006-01-01T10:30:00-5:00,或输入日期时间指向实例的对象属性/关系日期时间描述指定特定时间的类,例如上午10:30美国东部标准时间2006年1月1日,星期日。由用户决定定义时间无论哪种方式,都是基于上一节中讨论的权衡。

(条件)输出参数的用例

事实上,我们的时间本体可以做更多的事情来支持OWL-S。在Congo.com和Bravo Air示例中,时间本体不用于任何输出参数。然而,在现实世界中,许多服务输出是与时间相关。例如,在Congo.com示例中,我们可以添加两个输出在现实世界的图书销售网站中非常常见:处理时间和交付持续时间。

添加处理时间输出参数

处理时间是一个条件输出参数,用于指定早在书准备好交付之前,比如24小时,这取决于这本书是否有存货。在此用例中,返回处理时间只有在书有存货的情况下。它可以在Congo.com示例(即CongoProcess.owl)为:

:处理时间猫头鹰:类;rdfs:subClassOf时间:间隔.:fullCongoBuyProcessTimea rdf:属性;rdfs:subPropertyOf进程:输出;rdfs:domain:FullCongoBuy;rdfs:范围[猫头鹰:类别;rdfs:subClassOf进程:ConditionalOutput;rdfs:subClassOf[猫头鹰:限制;owl:allValuesFrom:BookInStock;owl:onProperty进程:coCondition] ;] ;rdfs:subClassOf[猫头鹰:限制;owl:allValuesFrom:处理时间;owl:onProperty进程:coOutput] .

处理时间定义为间隔,而不是持续时间。如前所述,在我们的时间本体中,持续时间是间隔。因此,谈论持续时间,即时间量、间隔必须首先定义。这种方法乍一看可能是迂回的。然而,过程时间并不仅仅是一个时间量;它在上有一个位置时间线。进程的开始时间是用户放置订单,流程结束时间是订单发出的时间。定义的优点处理时间作为一个间隔,如果订单时间、发货时间和处理时间之间的关系是已知,其中任何一个(例如装运时间)都可以从另一个计算出来两个(例如订单时间和处理时间)通过时间算法。

添加交货持续时间输出参数

交货持续时间是一个条件输出参数指定客户在收到图书后需要多长时间发货,这取决于客户选择的交付类型。按定义在Congo.com示例的流程模型(即CongoProcess.owl)中当前交付类型为FedExOneDay、FedEx2-3d、UPS和OrdinaryMail。

添加此输出参数可能与上面类似处理时间例子。然而,由于条件是计算结果为true或false的逻辑公式(请参见带有条件定义的注释[14]),交货类型不能直接用作条件来确定交付持续时间。因此,为每个属性定义了一个属性和一个条件交付类型。

交货持续时间定义了两个边界:一个最小交付持续时间和一个最大交付持续时间。对于例如,FedEx2-3天交货类型的订单需要2到3天,因此最短交货期为2天,最长交货期为3天。对于具有FedExOneDay交付类型的订单的交付持续时间,最小值和最长交付时间均为1天。我们可以定义交付持续时间在Congo.com示例的过程模型中(即CongoProcess.owl)为:

:交货持续时间猫头鹰:类;rdfs:subClassOf[猫头鹰:限制;owl:基数1;owl:onProperty:maxDeliveryDuration] ;rdfs:subClassOf[猫头鹰:限制;owl:基数1;owl:onProperty:minDeliveryDuration] .:maxDeliveryDurationa rdf:属性;rdfs:domain:DeliveryDuration;rdfs:测距时间:间隔.:minDeliveryDurationa rdf:属性;rdfs:domain:DeliveryDuration;rdfs:测距时间:间隔.

两者都有最小交付持续时间最大交付持续时间定义为的属性交货持续时间.对于相同的讨论进程时间示例的原因,两个属性都使用Interval作为它们的范围。定义中两个属性的基数均为1交货持续时间指示的实例交付持续时间必须且只能有一个属性值最小交付持续时间最大交付持续时间分别是。例如,为了定义FedEx2-3d,我们必须首先定义FedEx2-3天的条件挑选出来的:

:联邦快递2-3天条件猫头鹰:阶级;rdfs:subClassOf进程:条件。

然后我们定义一个输出属性,称为配送SelectFedEx2-3天那是有条件的联邦快递2-3天条件上述定义:

:deliverySelectFedEx2-3天a rdf:属性;rdfs:subPropertyOf进程:输出;rdfs:domain:SpecifyDeliveryDetails;rdfs:范围[猫头鹰:类别;rdfs:subClassOf进程:ConditionalOutput;rdfs:subClassOf[猫头鹰:限制;owl:allValuesFrom:FedEx2-3d持续时间;owl:onProperty进程:coOutput] ;rdfs:subClassOf[猫头鹰:限制;owl:allValuesFrom:FedEx2-3dayCondition;owl:onProperty进程:coCondition] .

这个定义说配送SelectFedEx2-3天是一个条件输出,如果联邦快递2-3天条件是真的的实例联邦快递2-3天持续时间类将是输出。联邦快递2-3天持续时间尚未定义。为了定义它,我们必须定义其最短交货期,即2天和最长交货期持续时间,即3天。由于最小交付持续时间最大交付持续时间间隔,间隔需要先创建特定的持续时间。对于联邦快递2-3天持续时间,我们需要定义间隔2天间隔3天首先如下:

:Interval2天猫头鹰:类;rdfs:subClassOf时间:间隔;owl:subClassOf[猫头鹰:限制;owl:hasValue P2D;owl:onProperty时间:持续时间描述数据类型] .:间隔3天猫头鹰:类;rdfs:subClassOf时间:间隔;owl:subClassOf[猫头鹰:限制;owl:hasValue P3D;owl:onProperty时间:持续时间描述数据类型] .

这两个定义使用工期描述数据类型,一个相对简单的持续时间属性间隔使用XMLSchmea数据类型期间作为其范围。第二页第三页是XML架构数据类型的值期间, 表示2天和3天。

最后,联邦快递2-3天持续时间限制的值最小交付持续时间最大交付持续时间到课堂间隔2天间隔3天分别作为跟随:

:FedEx2-3天持续时间猫头鹰:类;rdfs:subClassOf:DeliveryDuration;rdfs:subClassOf[猫头鹰:限制;owl:allValuesFrom:Interval3Days;owl:onProperty:maxDeliveryDuration];rdfs:subClassOf[猫头鹰:限制;owl:allValuesFrom:Interval2Days;owl:onProperty:minDeliveryDuration] .

当用户选择其他交货时输出交货持续时间的属性可以类似地定义类型(FedExOneDay、UPS和OrdinaryMail)。

这些示例的OWL代码

[RDF/XML]

调度用例

假设有人计划在2006年11月5日美国东部时间下午6点进行电话会议。你想和他预约同一天下午2点的太平洋标准时间,预计会议将持续45分钟。会有重叠吗?

在这个用例中,我们可以指定有关电话会议和会议的事实在OWL中使用我们的本体,这将允许时间推理器确定是否存在冲突:

:远程通信a:间隔;:has开始:teleconStart。:会议a:间隔;:hasBegining:会议开始;:has持续时间描述:meetingDuration。:teleconStart(远程启动)a:即时;:在XSD日期时间中2006年11月5日18:00:00-5:00。:会议开始a:即时;:在XSD日期时间中2006年11月5日14:00:00-8:00。:会议持续时间a:工期描述;:45分钟。

电话会议和会议被定义为时间间隔。has开始用于指定会议。日期时间是使用指定的inXSD日期时间. The 会议的持续时间是使用持续时间描述类指定的。


附录A:时间本体中的类和属性摘要

类(子类关系)

属性

属性名称

范围

之前

临时实体

临时实体

之后

临时实体

临时实体

has开始

临时实体

即时

hasEnd(已结束)

临时实体

即时

里面

间隔

即时

间隔等于

属性间隔

属性间隔

intervalBefore(间隔之前)

属性间隔

属性间隔

间隔满足

属性间隔

属性间隔

间隔重叠

属性间隔

属性间隔

间隔开始时间

属性间隔

属性间隔

间隔期间

属性间隔

属性间隔

间隔饰面

属性间隔

属性间隔

间隔之后

属性间隔

属性间隔

间隔MetBy

属性间隔

属性间隔

间隔重叠方式

属性间隔

属性间隔

间隔开始人

属性间隔

属性间隔

intervalContains间隔包含

属性间隔

属性间隔

间隔完成者

属性间隔

属性间隔

工期描述

xsd;十进制的

工期描述

xsd;十进制的

工期描述

xsd;十进制的

工期描述

xsd;十进制的

小时

工期描述

xsd;十进制的

分钟

工期描述

xsd;十进制的

工期描述

xsd;十进制的

has持续时间描述

临时实体

工期描述

单位类型

日期时间描述

时间单位

日期时间描述

xsd;g年份

日期时间描述

xsd;g月份

日期时间描述

xsd;非负整数

白天

日期时间描述

xsd;g日

星期几

日期时间描述

星期几(DayOfWeek)

年中第几天

日期时间描述

xsd;非负整数

小时

日期时间描述

xsd;非负整数

分钟

日期时间描述

xsd;非负整数

第二

日期时间描述

xsd;十进制的

时区

日期时间描述

tzont;时区

输入日期时间

即时

日期时间描述

inXSD日期时间

即时

xsd;dateTime(日期时间)

has日期时间描述

日期时间间隔

日期时间描述

xsd日期时间

日期时间间隔

xsd;dateTime(日期时间)


附录B.OWL中的时区资源

我们开发了时区资源[15]英寸OWL不仅适用于美国,也适用于整个世界,包括三部分:时区本体文件[16], 美国时区实例文件[17], 和世界时区实例文件[18].

时区本体将初步地理本体与时间联系起来本体论。它定义了有关地区、政治地区(国家、,州、县、保留地和城市)、时区、夏令时政策以及这些概念之间的关系。它的实例也链接到Web上的其他现有数据,例如FIPS 55县实例[19], 和ISO国家实例[20].

它可以处理所有常见的时区和夏令时情况。对于例如,洛杉矶使用PST,即与协调世界时的时间偏移(UTC)为-8小时,4月2日至10月29日观察到夏令时2006年。但它也处理不寻常的案件。例如,在爱达荷州北部位于太平洋地区,南部位于山区。这个内华达州West Wendover市位于山区时区,而内华达州在太平洋上。

用例示例

假设有人在美国东部时间下午6点有电视节目2006年11月5日。你想和他预约太平洋标准时间下午2:00预计会议将持续45分钟。会有一个重叠?为了详细说明电话会议和会议的事实,以及考虑到它们之间的关系,需要一个时区本体帮助时间本体(例如OWL-time)解决EST和PST。 [预期的使用]将在后面的章节中详细描述。    

时区本体

我们采取政治区域成为的子类地区具有以下属性:

这可以在OWL中定义为:

:政治区域猫头鹰:阶级;rdfs:subClassOf:区域;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:name] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:hasParentRegion] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数3;owl:onProperty:hasTimeZone] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:observesDaylightSavingsTime] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:hasDaylightSavingsPolicy] ;rdfs:subClassOf[猫头鹰:限制;owl:minCardinality 0;owl:onProperty:exceptionalRegion] ;rdfs:subClassOf[猫头鹰:限制;owl:minCardinality 0;owl:onProperty:timeZonePart] .

国家、州、县、市和保留地都是不同范围类型的政治区域具有ParentRegion属性。

例如,国家可以在OWL中定义为:

:国家猫头鹰:类;rdfs:subClassOf:政治区域。
:州猫头鹰:阶级;rdfs:subClassOf:政治区域;owl:subClassOf[猫头鹰:限制;owl:onProperty:hasParentRegion;owl:allValuesFrom:国家] .
时区有两个属性:

这可以在OWL中定义为:

:时区猫头鹰:类;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:name] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:GMToffset] .

我们假设此本体使用默认推理。当政治区域缺少其属性之一,我们将使用其父区域的属性。因此,美国的所有政治分区都会Daylight储蓄政策美国的价值观,提供了他们的观测夏令时属性为true。全部加利福尼亚州各县hasTimeZone(有时区)值来自加利福尼亚州,而hasTimeZone(有时区)为每个肯塔基州的一个县,而不是整个州,因为它由东部和中部时区。当一个区域的大部分处于一个时区时,只有一些例外的子区域位于不同的时区或我们使用不同的夏令时政策例外地区指向每个例外的子区域,例如West Wendover,它位于山地时区是内华达州的一个例外,而内华达则位于太平洋时区。这是内华达州和西部的OWL代码美国时区实例文件中的Wendover[17]:

:美国-州:内华达州a:州;:hasParentRegion iso:US;:hasTimeZone:太平洋标准时间;:observesDaylightSavingsTime true;:例外地区:NVWestWendoverCity公司.:NVWestWendoverCitya:城市;:name“West Wendover City”;:美国各州:NV;:hasTimeZone:MST公司;猫头鹰:相同的个体<http://www.daml.org/2003/02/fips55/NV.owl#p83730> .

当同一县的不同地区处于不同的时区时hasTimeZone(有时区)未为县指定。相反hasTimeZone(有时区)为具有不同时区的每个部分指定,时区部件属性用于指向来自县实例,例如爱达荷县的两个不同时区部分,爱达荷州。这是爱达荷州爱达荷县在美国时区的OWL编码实例文件[17]:

:IDIdahoa:县;:name“爱达荷县”;:有ParentRegionus-states:ID;:时区部件:IDIdahoPST公司, :IDIdahoMST公司;猫头鹰:相同的个体<http://www.daml.org/2003/02/fips55/ID.owl#c049> .
日光节约政策具有一个属性:

枚举DaylightSavingsPolicy,的子类日光节约政策具有以下属性:

这可以在OWL中定义为:

:枚举DaylightSavingsPolicy猫头鹰:类;rdfs:subClassOf:DaylightSavingsPolicy;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:DL发送日期] ;rdfs:subClassOf[猫头鹰:限制;owl:最大基数1;owl:onProperty:DLSstartDate] .

DLS开始日期DL发送日期属性具有xsd:date的范围。在当前实例中文件,不同的夏令时政策仅在2006年定义为的实例枚举的DaylightSavingsPolicy,例如。美国2006DLS对于美国,以及欧盟2006DLS欧盟。 

或者,时态聚合中的本体OWL-Time可用于描述夏令时政策。例如,在美国的夏令时从“每年四月的第一个星期日”开始,可以是用OWL表示为:

:tseqa:时间顺序;:hasTemporalAggregate描述:firstSunEvery四月。
:tseq-everyAprila:时间顺序;:hasTemporalAggregate描述:每年四月。
:每年四月a:临时汇总说明;:hasTemporalUnit:unitMonth;:具有临时单元4。:firstSunEvery四月a:时间聚集描述;:具有上下文临时序列:tseq-everyApril;:has上下文临时单元:unitMonth;:具有临时单元7;:hasTemporalUnit:unitDay;:has位置1。

这定义了所需的时间序列采石场类的时间序列它有一个具有临时聚合描述指向时态的属性聚合描述每年四月的第一个太阳描述了时间序列。为了描述这两层时间序列(““每年四月”的第一个星期日),外层(“每年四月“),即上下文时间序列(tseq-every四月),需要定义第一。这个上下文时间序列也有自己的具有临时聚合描述指向的属性每年四月它描述了每4天(具有时间单位第页,共4)个月(具有时间单位属于unitMonth(单位月)). 然后,所需的时间序列被定义为“第一个(has位置第页,共1页)星期日(具有时间单位第页,共页7和具有临时单位属于unitDayOfWeek(星期日))每年四月的(具有ContextTemporalSeq属于tseq-every四月具有ContextTemporalUnit属于unitMonth(单位月))".

有关时间聚合本体及其用例示例的详细信息,请看[6,7].

时区本体的OWL代码

[RDF/XML]

预期用途

本体的预期输入是一个位置,例如一个城市,并且输出将是其当前的时间偏移,比如说,从格林尼治标准时间偏移-6小时(格林尼治标准时间)。

本体的用法如下:给定输入位置,我们首先在本体论中找到包含此内容的最底层政治区域位置,例如一个县,然后沿着基于这个具有ParentRegion属性设置为层次结构的顶部,通常为国家。在通往顶端的道路上,我们从每个节点(区域)以计算GMT的时间偏移信息包括该位置所在的时区,是否使用日光节省(DLS)时间,如果节省,开始和结束日期是什么。

然而,通过使用例外地区时区部件属性,即。位置输入不必像最低级别的政治输入那样详细区域,尤其是因为通常只提供有关其状态的信息in将足以计算输入与GMT的时间偏移位置。

如果输入只表示它是一个状态的位置,而没有指定然后我们可以先去它所在的州看看我们是否可以在那里找到我们需要的所有信息,即时区和夏令时信息。如果州里没有例外地区的,那么我们就不需要再为这个位置输入任何信息了,可以安全地继续前进政治区域层级结构到层级结构顶部,例如美国国家,并获得计算时间偏移所需的所有信息从GMT发送到此位置。如果该州确实有例外地区但是,我们必须检查每个异常区域以查看此位置是否在其中,在此检查阶段,可能需要有关该位置的更多详细信息,即它位于县/市/保留地。如果它位于特殊的县时区部件则需要更详细的信息根据输入,即该位置位于该县内的哪个时区部分。到达没有的子区域时例外地区的或时区部件的,我们确信没有更多的输入位置信息是需要的,沿着政治区域上升是安全的层次结构,并获取计算时间所需的所有信息此位置的GMT偏移量。

例如,假设输入地点位于内华达州温多佛西部,但一开始我们只知道内华达州(请参阅OWL代码[在中上一节])。在本体论中,我们首先找到内华达州我们看到一个特别的地区指向西温多佛市,然后我们要求进一步输入位置信息:此位置位于哪个城市?说我们得到了西温多佛市。由于它与异常区域相匹配,因此我们将转到West Wendover City实例获取其时区信息,即山区时区。既然没有例外地区的或时区部件在西温多弗市,现在很安全让我们沿着等级制度上升到最高,美国。沿着路径,在内华达州,我们了解到该位置使用DLS时间,然后在其父位置我们了解到,所使用的DLS政策是USA2006DLS,它规定了DLS在2006年的开始日期是2006年2月4日,结束日期是2006月10日29日。根据我们的当前时间,例如2006年6月9日下午1:50,我们知道当前时间该位置与格林尼治标准时间的偏差为-7小时。


工具书类

[1] 艾伦,J.F.1984。走向行动的一般理论和时间。人工智能23,第123-154页。

[2] Allen,J.F.和Ferguson,G.1997年。中的操作和事件区间时序逻辑。空间和时间推理.O.库存,编辑,Kluwer,Dordrecht,Netherlands,205-245。

[3] Dawson,F.和Stenerson,D.1998年。Internet日历和日程安排核心对象规范(iCalendar),RFC2445。http://www.ietf.org/rfc/rfc2445.txt

[4] Hobbs,J.R.和Pan,F.,2004年。语义Web的时间本体。ACM公司亚洲语言处理学报:时态专刊信息处理第3卷第1期,2004年3月,第66-85页。

[5] Pan,F和Hobbs,J.R.2004。OWL-S.in中的时间AAAI语义Web服务春季研讨会论文集, 加利福尼亚州斯坦福大学,第29-36页。

[6] Pan,F和Hobbs,J.R.2005。OWL-Time中的时间聚集。第18届国际佛罗里达人工智能研究会议记录社会会议(FLAIRS)佛罗里达州克利尔沃特海滩,第560-565页,AAAI出版社。

[7] Pan,F.2005年。面向语义Web的OWL中的时态聚合本体。AAAI代理与语义网秋季研讨会论文集, 弗吉尼亚州阿灵顿,第30-37页

[8] 时间本体的OWL代码。网址:http://www.isi.edu/~pan/dam时间/time.owl

[9] 时间条目子本体的OWL代码。网址:http://www.isi.edu/~pan/damtime/time-entry.owl

[10] OWL-Time主页:网址:http://www.isi.edu/~pan/OWL-Time.html

[11] OWL-S主页。网址:http://www.daml.org/services/oll-s/

[12] OWL-S 0.9版本。http://www.daml.org/services/daml-s/0.9/

[13] OWL-S 1.1版本。http://www.daml.org/services/owl-s/1.1/

[14] OWL-S 0.9版本的过程文件。http://www.daml.org/services/owl-s/0.9/Process.owl

[15] OWL中时区资源的主页。网址:http://www.isi.edu/~pan/timezonehomepage.html

[16] 时区本体文件。网址:http://www.isi.edu/~pan/damtime/timezone-ont.owl

[17] 美国时区实例文件。 网址:http://www.isi.edu/~pan/damtime/timezone-us.owl

[18] 世界时区实例文件。网址:http://www.isi.edu/~pan/damtime/timezone-world.owl

[19] FIPS 55 County实例文件。http://www.daml.org/2003/02/fips55/

[20] ISO国家/地区实例文件。http://www.daml.org/2001/09/countries/iso


致谢

编辑们要感谢Deborah McGuinness、Chris Welty和早期版本杜克蒙特评论人,即杰里米·卡罗尔、约翰McClure、Libby Miller和Guus Schreiber,感谢他们非常有用的反馈和对文档的注释。