3.2.1 时间系统

3.2.1 时间系统

在中国时间本体中,时间系统有两个时间原语:时间点(Time Instant)和时间段(Time Interval)。需要指出的是,时间点和时间段是相对的。例如,2022年1月1日可以看作以“日”为时间单位的时间点,也可以看作以“小时”为时间单位的时间段,即从2022年1月1日零点至24点。时间系统旨在刻画以下四种拓扑关系:(a)时间点之间的拓扑关系;(b)时间段之间的拓扑关系,例如,两个时间段具有时间先后顺序关系;(c)时间点和时间段之间的拓扑关系,例如,时间点t在时间段T的内部,或时间段T包括时间点t;(d)时间和事件之间的拓扑关系,如图3.2所示。

图3.2 时间系统的构成框架

设时间点的类型为σ,时间段的时间类型为τ。时间系统包含:

(a)谓词instant(t)表示t是时间点,谓词interval(T)表示T是时间段,谓词temporal-entity(x)表示x是时间实体。

(b)谓词before(t1,t2):σ×σ→Ω,谓词inside(t,T):σ×τ→Ω,其中Ω是布尔类型,Ω={true,false}。谓词before(t1,t2)表示时间点t1在时间点t2之前。谓词inside(t,T)表示时间点t在时间段T的内部。

(c)函数startFn(x)和函数endFn(x):τ→σ。startFn(x)表示时间实体x的开始时间点,endFn(x)表示时间实体x的结束时间点。

基于上述函数和谓词,有如下形式公理:

(1)概念类别“时间点”的实例集合和“时间段”实例集合的交集是空集。

例如,如下公理a)和b)所表示的时间点和时间段是时间实体概念的实例。另外,时间点和时间段是不相交的。换句话说,一个时间实体或者是时间点,或者是时间段,如以下公理c)所示。

a)∀t(instant(t)→temporal-entity(t))

b)∀T(interval(T)→temporal-entity(T))

c)∀x(temporal-entity(x)→(instant(x)∧﹁interval(x))∨(﹁instant(x)∧interval(x)))

(2)时间点之间的拓扑关系before满足自反性、反对称性、传递性和线性。

谓词before(t1,t2)是指时间点或时刻t1在时间点t2之前,表明时间的方向。“before”关系是自反的、反对称的、传递的和线性的,如下述公理a),b),c)和d)所示。

a)∀t1(﹁before(t1,t1))

b)∀t1∀t2(before(t1,t2)→﹁before(t2,t1))

c)∀t1∀t2∀t3(before(t1,t2)∧before(t2,t3)→before(t1,t3))

d)∀t1∀t2(before(t1,t2)∨before(t2,t1)∨(t1=t2))

(3)时间段的开始时间点和结束时间点的拓扑性质。

函数startFn(T)和endFn(T)分别表示T的开始时间点和结束时间点。公理a)和b)分别表示时间T的开始时间点和结束时间点是概念类别时间点的实例。以下公理c)和d)表示每个时间段存在唯一的开始时间点和结束时间点。时间段T的开始时间点早于其结束时间点,如公理e)所示。

a)∀T∀t((startFn(T)=t)→interval(T)∧instant(t))

b)∀T∀t((endFn(T)=t)→interval(T)∧instant(t))

c)∀T∀t1∀t2((startFn(T)=t1)∧(startFn(T)=t2)→t1=t2

d)∀T∀t1∀t2((endFn(T)=t1)∧(endFn(T)=t2)→t1=t2

e)∀T∀t1∀t2((startFn(T)=t1)∧(endFn(T)=t2)→before(t1,t2))

(4)时间点和时间段的拓扑关系,即时间段包括开始时间点、内部时间点以及结束时间点。

谓词inside(t,T)表示时间点和时间段的关系,其含义是指:时间点t位于时间段T的内部。进一步,以下公理表明,该时间段包含开始时间点和结束时间点,且每个时间段T是封闭的:

∀t∀T(inside(t,T)↔(t=startFn(T))∨(t=endFn(T))∨(before(startFn(T),t)∧before(t,endFn(T))))

(5)时间段之间的拓扑关系。

根据时间段开始时间点和结束时间点的关系,下面公理给出时间段之间的七种拓扑关系。

a)precedes(T1,T2)是指时间段T1的结束时间点在时间段T2的开始时间点之前:

precedes(T1,T2)↔before(endFn(T1),startFn(T2))

b)meets(T1,T2)是指时间段T1的结束时间点与时间段T2的开始时间点相同:

meets(T1,T2)↔endFn(T1)=startFn(T2

c)overlaps(T1,T2)是指时间段T2的开始时间点早于时间段T1的结束时间点,时间段T1的开始时间点早于时间段T2的开始时间点,并且时间段T1的结束时间点早于时间段T2的结束时间点:

overlaps(T1,T2)↔before(startFn(T2),endFn(T1))∧before(startFn(T1),startFn(T2))∧before(endFn(T1),endFn(T2))

d)starts(T1,T2)是指时间段T1的开始时间点与时间段T2的开始时间点相同,但时间段T1的结束时间点早于时间段T2的结束时间点:

starts(T1,T2)↔(startFn(T1)=startFn(T2))∧before(endFn(T1),endFn(T2))

e)during(T1,T2)是指时间段T2的开始时间点早于时间段T1的开始时间点,时间段T1的结束时间点早于时间段T2的结束时间点:

during(T1,T2)↔before(startFn(T2),startFn(T1))∧before(endFn(T1),end-Fn(T2))

f)finishes(T1,T2)是指时间段T1的结束时间点与时间段T2的结束时间点相同,但时间段T1的开始时间点早于时间段T2的开始时间点:

finishes(T1,T2)↔(endFn(T1)=endFn(T2))∧before(startFn(T1),startFn(T2))

g)equals(T1,T2)是指时间段T1的开始时间点与时间段T2的开始时间点相同,并且时间段T1的结束时间点与时间段T2的结束时间点相同:

equals(T1,T2)↔(startFn(T1)=startFn(T2))∧(endFn(T1)=endFn(T2))

(6)事件与时间点或时间段的拓扑关系。

下面给出事件与时间点或时间段的公理。首先,假定at-instant(e,t)表示事件e在时间点t发生。

本节为发生在时间段的事件定义四个谓词。谓词cc-during(e,T)表示:事件e持续发生在时间段T内,包括时间段T的开始时间点和结束时间点,如公理a)所示。谓词oc-during(e,T)表示事件e发生在时间段T的每个时间点,不包括其开始时间点,但包括其结束时间点,如公理b)所示。谓词co-during(e,T)表示事件e发生在时间段T的每个时间点,包括其开始时间点,但不包括其结束时间点,如公理c)所示。谓词oo-during(e,T)表示事件e发生在时间段T的每个时间点,不包括其开始时间点,也不包括其结束时间点,如公理d)所示。

a)∀e∀T(cc-during(e,T)↔∀t(inside(t,T)→at-instant(e,t)))

b)∀e∀T(oc-during(e,T)↔∀t(inside(t,T)∧t≠startFn(T)→at-instant(e,t)))

c)∀e∀T(co-during(e,T)↔∀t(inside(t,T)∧t≠endFn(T)→at-instant(e,t)))

d)∀e∀T(oo-during(e,T)↔∀t(inside(t,T)∧t≠startFn(T)∧t≠endFn(T)→at-instant(e,t)))