inside

AIA (Allen's interval algebra)

Allen (1983)

[17] 論文:

[18] 解説:

TM_Order

[1] TM_Order は、 TM_Primitive が利用するインターフェイスです。 >>2

仕様書

操作

[3] TM_Order は唯一操作 relativePosition を定義しています。 >>2 5.2.3.4

[4] relativePosition は、当該オブジェクト A と引数で与えられたオブジェクト B の 2つの TM_Primitive について、 TM_RelativePosition を返すものです。 >>2 5.2,3,4

[5] TM_RelativePosition は、 Allen (1983) >>16 の13種類の時間関係の分類に基づく列挙データ型です。 >>2 5.2.3.5

[6] 返す値は次のように決定しなければなりません。

  1. [7] A と B が TM_Instant の場合、 次の条件を満たす値を返します。 >>2 5.2.3.5
    条件 値
    A の position < B の positionBefore
    A の position = B の positionEquals
    A の position > B の positionAfter
  2. [8] A が TM_Period で B が TM_Instant の場合、 次の条件を満たす値を返します。 >>2 5.2.3.5
    条件 値
    A の end の position < B の positionBefore
    A の end の position = B の positionEndedBy
    A の begin の position < B の position かつ A の end の position > B の positionContains
    A の begin の position = B の positionBegunBy
    A の begin の position > B の positionAfter
  3. [9] A が TM_Instant で B が TM_Period の場合、 次の条件を満たす値を返します。 >>2 5.2.3.5
    条件 値
    A の position < B の begin の positionBefore
    A の position = B の begin の positionBegins
    A の position > B の begin の position かつ A の position < B の end の positionDuring
    A の position = B の end の positionBegunBy
    A の position > B の end の positionAfter
  4. [10] A と B が TM_Period の場合、 次の条件を満たす値を返します。 >>2 5.2.3.5
    条件 値
    A の end の position < B の begin の positionBefore
    A の end の position = B の begin の positionMeets
    A の begin の position < B の begin の position かつ A の end の position > B の begin の position かつ A の end の position < B の end の positionOverlaps
    A の begin の position = B の begin の position かつ A の end の position < B の end の positionBegins
    A の begin の position = B の begin の position かつ A の end の position > B の end の positionBegunBy
    A の begin の position > B の begin の position かつ A の end の position < B の end の positionDuring
    A の begin の position < B の begin の position かつ A の end の position > B の end の positionContains
    A の begin の position = B の begin の position かつ A の end の position = B の end の positionEquals
    A の begin の position > B の begin の position かつ A の begin の position < B の end の position かつ A の end の position > B の end の positionOverlappedBy
    A の begin の position > B の begin の position かつ A の end の position = B の end の positionEnds
    A の begin の position < B の begin の position かつ A の end の position = B の end の positionEndedBy
    A の begin の position = B の end の positionMetBy
    A の begin の position > B の end の positionAfter
  5. [12] A と B が TM_TopologicalPrimitive の場合、 >>2 5.2.4.7
    1. [13] A と B が同じ TM_TopologicalComplex に含まれない場合、 例外を投げてここで停止します。
    2. [14] それ以外の場合、 次の条件を満たす値を返します。
      条件 値
      A は B より前にあって、 Initiation も Termination もないBefore
      A と B はどちらも TM_Edge で、 TM_Node C があって C の previousEdge が A、 nextEdge が BMeets
      A は TM_Node、B は TM_Edge で、 A の nextEdge が BBegins
      A は TM_Edge、B は TM_Node で、 A の start が BBegunBy
      A と B は同一Equals
      A は TM_Node、B は TM_Edge で、 A の previousEdge が BEnds
      A は TM_Edge、B は TM_Node で、 A の end が BEndedBy
      A と B はどちらも TM_Edge で、 TM_Node C があって C の nextEdge が A、 previousEdge が BMetBy
      A は B より後にあって、 Initiation も Termination もないAfter

[11] ただし、いずれかの TM_Position が不定の場合、 例外を投げなければなりません。 >>2 5.2.3.5

[15] TM_TopologicalComplex が線形であるなど適切な順序で定められていないと適当な比較結果が得られません。

OWL-Time

[22] OWL-Time の語彙は Allen の理論を基礎にした >>21 とされています。

[25] :TemporalEntity の特性として :before, :after があります。 >>24

[27] :Interval の特性で値が :Instant の :inside があります。 >>26

[29] :ProperInterval の特性に :intervalAfter, :intervalBefore, :intervalContains, :intervalDuring, :intervalEquals, :intervalFinishedBy, :intervalFinishes, :intervalMeets, :intervalMetBy, :intervalOverlappedBy, :intervalOverlaps, :intervalStartedBy, :intervalStarts があります。 During, Starts, Finishes の和集合にあたる :intervalIn、 Before, After の和集合にあたる :intervalDisjoint が追加されています。 >>28

メモ

[30] HuTime Web API - Calendar Calculation, http://ap.hutime.org/cal/#chapter3-5