事件已成为历史、文化遗产、多媒体和地理等领域数据表示的核心元素。创建简单事件模型(simple event model,SEM)是为了对这些不同领域中的事件进行建模,而不需要对所使用的特定领域词汇表进行假设。SEM的设计基本上是为了保证最大的交互操作性。在本文中,我们讨论了事件模型对web数据的一般要求,并从历史事件和海上安全与安保领域的事件两个用例中给出了实例。结合历史实例,讨论了几种现有事件模型的优缺点。我们讨论了SEM背后的设计决策。SEM与Prolog API相结合,使用户能够创建事件实例,而无需深入了解模型实现的细节。通过与现有的Prolog包紧密耦合,API有助于将事件实例轻松集成到链接的开放数据中。我们用海事领域的例子来说明API的使用。
动机:
以事件为中心的建模捕获领域的动态方面。此外,事件提供了一种自然的方式来解释人、地方、行为和对象之间复杂的关系。
挑战:
例子:
荷兰人于1947年在荷属东印度群岛发起了第一次警察行动;荷兰人自称是解放者,但被印尼人民视为占领者。
1)它包含了关于参与者角色的矛盾观点:荷兰解放者还是占领者?
2) 它明确了角色所依据的权力(荷兰人/印尼人);
3)它对所涉及的地方类型的建模提出了挑战:根据印尼人的说法,荷属东印度群岛在当时是一个独立的共和国,但据荷兰人说是一个“控制区”。
模型的约束性越强,重用就越困难。为了从语义web所提供的内容中获得最大的收益,需要使用语义相对较弱的模型。为了弥补用弱模型进行形式推理的不足,必须更多地依赖图模式来进行推理。
事件和大量可能来源的松散定义的一个重要推论是,处理不同的观点是至关重要的。特别是观点的三个方面:(1)事件限定的角色,(2)事实的有时间限制的有效性(例如时间依赖的类型或角色),(3)陈述的权威来源的归属。
为了在任何给定应用程序的相关抽象级别上查询事件,我们需要一个好的类型系统。我们希望能够重用Web上的任何词汇表来选择我们的类型,而不管这些词汇表中的概念是如何建模的。
web上下文对SEM的RDF模型的具体含义如下。
rdf:domain
和rdf:range
。这样我们就不会通过属性语义从这些类继承任何约束。
Simple Event Model的类。空心箭头象征rdfs:subClassOf
属性。虚线箭头表示rdf:type
;常规箭头表示其他属性。
The RDF code of SEM is at http://semanticweb.cs.vu.nl/2009/11/sem/.
类:
SEM的类分为三组:核心类、类型和约束。如图1所示。有四个核心类:sem:Event
(发生了什么事),sem:Actor
(参与者),sem:Place
(地点),sem:Time
(何时)。每个核心类都有一个相关的类型sem:Type
,其中包含指示实例类型的资源。实例及其类型通常借用其他词汇。例如有一个例子sem:Place “Indonesia”
,它的sem:PlaceType “republic”
就是从其他词典TGN中引入的。
sem:Type
类可以聚合任何词汇表中的类型系统的各种实现。 一些词汇表没有与sem:type
属性完全对应的属性,即使可以从其他属性的值派生出type。 这可以通过使用Alan Rector’s Value Sets和Value Partition patterns来完成。具有明确的sem:Type
类可提供占位符来定义这些模式。
除了sem:Actor
类之外,对于需要指定这两个概念之间的区别的情况,还将sem:Object
类定义为rdfs:subClassOf sem:Actor
。 例如,在淘金热期间发现黄金可能需要将“黄金”类建模为简单的对象,而不是作为参与者。
sem:Authority
类用于指示根据谁声明有效。 sem:Authority
可以是实例,但不一定是sem:Actor
。 它们还可以象征数据源。 sem:Authority
类旨在作为出处和信任推理的钩子,即使SEM本身并未明确提供此功能。
属性:
SEM的属性分为三种:sem:eventProperties
,sem:type
属性和一些其他属性(例如sem:accordingTo
和sem:hasTimeStamp
的子属性)。sem:eventProperties
将sem:Event
与其他实例相关联。 sem:type
将sem:Core
类的实例与sem:Type
的实例联系起来。每个核心类都有sem:type
的特定子属性,例如sem:eventType
,以方便查询。这减少了对推理机的压力,因为您知道它指向sem:EventType
的实例,而无需进行任何包含推理。 sem:accordingTo
将sem:View
与sem:Authority
关联,并用于表示意见。有七个sem:hasTimeStamp
属性。一个用于单个时间值,sem:hasTimeStamp
;时间间隔为两个,即sem:hasBeginTimeStamp
和sem:hasEndTimeStamp
;sem:hasEarliestBeginTimeStamp
,sem:hasLatestBeginTimeStamp
,sem:hasEarliestEndTimeStamp
和sem:hasLatestEndTimeStamp
是四个不确定时间间隔。后一种间隔用于描述有关周期开始或结束的任何不确定性。例如,它并不意味着时间的模糊解释。开放时间间隔可以通过省略开始或结束时间戳记来表示。
sem:eventProperty
和sem:type
属性之间存在两种聚合关系:sem:hasSubEvent
和sem:hasSubType
。 这些可以用来表示sem:Event
或sem:Type
分别与另一个更通用的sem:Event
或sem:Type
相关,而无需任何其他commitments。 事件和类型之间的更具体的关系不是SEM的一部分,应该从其他本体中获取,例如GEM。
约束:
属性约束可以应用于任何属性。它们限制了属性的有效性,并表示为属性的具体化,或者通过向属性添加属性并将其转换为n元关系来表示。有三种允许的表示方式sem:Constraints
如图2所示。默认表示是rdf:value
模式,通常在表示值的度量单位时使用。
有三种sem:Constraints
:sem:Role
, sem:Temporary
以及sem:View
。sem:Role
定义一个类的实例在特定事件的上下文中所扮演的角色(即它链接一个sem:eventProperty
). 可以为所有sem:Core
实例指定角色,例如,参与者(“占领者”)以及地方(“首都”,dbpedia:Colony
). 它并不是要在临时性或依赖性的类型(如“母亲”)的意义上对角色进行建模。这可以通过将sem:Temporary
约束放在sem:type
属性上来完成。相反,sem:Role
显式模拟事件约束角色:占领者、解放者。这些角色并不取决于外部条件(比如有了孩子就定义了“母亲”),而仅仅取决于它们与正在发生的事情sem:Event
之间的关系。sem:Temporary
定义了一个属性所处的时间边界,例如,从1945年开始,“印度尼西亚”作为“共和国”的类型。sem:View
定义了观点:1947年的印度尼西亚,其类型取决于您询问的是“共和国”还是“受控地区”。这被建模为对拥有sem:according
到sem:Authority
的属性(在本例中为sem:placeType
)的sem:View
约束(在示例中分别为印度尼西亚人民或荷兰)。
多种sem:Constraints
可以组合使用来创建连接语句。 图4显示了完成组合的两种方式:一个代表多个约束的RDF节点;另一个代表多个约束的RDF节点。 以及多个连锁约束。 前者的一个示例是ex:FirstPoliceAction
右侧的空白节点,代表受约束的sem:hasActor
属性。 这代表了一个sem:Role
和一个sem:View
。 这表示了一个事实,根据这两个机构,演员是dbpedia:Netherlands
,但是他们在哪个sem:roleType
上有所不同。 这通过链约束用后一种组合形式表示。sem:Role
约束的sem:roleType
属性进一步受sem:View
约束约束。
API将在第4节中讨论,它自动处理约束。
用符号和值来表示地点和时间:
所有类的实例都可以加上时间戳。 为了与可以使用多种格式的其他事件模型和Web数据兼容,SEM中的时间表达可以是象征性的(即通过将sem:Timeclass
的实例与sem:hasTimeproperty
关联)或具体的:通过附加时间点 ,使用sem:hasTimeStamp
的两个值间隔或四个值间隔。 时间的符号表示可用于表示时间指示之间的关系,例如,一件事发生在另一件事上,而不必说确切发生的时间。 对于时间值,我们建议使用xsd:dateTime
类型的文字或包含TIMEX时间元素的rdf:XMLLiteral
,两者均支持ISO 8601时间格式。
在表达地点时,符号和值之间存在相似的区别。 有象征性的地点和坐标。 在SEM中,sem:Place
类的实例是象征性的地点。 可以使用各种构造来附加其位置,例如georss:point
或wgs84:lat
和wgs84:long
可以在GML中用georss:where
指向的rdf:XMLLiteral
对复杂的几何形状(如多边形)进行编码。
例子:
运行中的示例可以用SEM表示,如图3和4所示。前者显示了一个简单的示例,它忽略了各方之间的观点差异。 后者考虑了句子的所有观点和作用。
SEM的范围:
SEM提供类和属性来建模事件的基本组成部分、它们的类型、角色、临时有效性以及这些约束所依据的视图。然而,SEM并没有为事件之间的关系建模,比如因果关系,或者关于参与者参与事件的方式的语义的特定属性。其他知识模式,如DUL[1]的D&S,或CIDOC-CRM等详细模型,都对这些区别和属性进行了建模。为了从这些其他模型的特殊性和优势中获益,我们在SEM和其他一些模型之间创建了一组映射。因为我们需要最小限度的commitment,所以我们使用SKOS词汇表而不是OWL来映射到其他本体。这些映射包含在SEM RDF文件中。在下一节中,我们将更详细地描述SEM映射到的主要事件模型的特征,其中模型的描述将围绕历史实例进行。