Timelines

A timeline represents the value of an attribute as function of time.

Timelines are represented with intervals and values.

Time line element. Each element in the timeline comsists of an interval and a value.

Example

interval Job
[ 1-jan-2005 : 15-feb-2006] Junior tester
[16-feb-2006 : 12-aug-2006] Tester
[13-aug-2006 : 15-dec-2006] Senior tester

Some remarks

  • At each point in time there is only one value.

    In the above definition function means single valued function. If you own a Volkswagen from 1-jan-2005 until 15-dec-2007 and you own a Toyota from 1-nov-2007 until 20-aug-2007 then the intervals overlap. This is not a timeline as there are two values between 1-nov-2007 and 15-dec-2007.

  • Packed format.

    Intervals in timelines must not overlap. If two intervals overlap then it is better if they are combined. If they donot have the same value you have an inconsistency problem.

  • Unpacked format.

    We can also use unit intervals. Each interval starts and ends on the same day, or whatever your time-unit is. Usually data is stored in packed format. If your time-unit is a millisecond then the above timeline would become an impractically large data-structure.

  • About the nature of facts and values.

    We think of timelines as representing one fact. The value however could be complex or composed. An address can be a single fact consisting of street number city postal code.

  • Facts relating to time.

    For example hours worked is something we want to be careful with when stored in timelines. Look at the following tables:

    Interval Hours
    [ 1-jan-2005 : 15-may-2006] 40
    [16-may-2006 : 12-aug-2006] 24
    [13-aug-2006 : 15-dec-2006] 36

    This table represents hours worked per week. Apparently the worker reduces his hours to take care of his sick grandmother. When granny got better he started working more hours.

    Interval Hours
    [10-jan-2005 : 10-jan-2005] 8
    [11-jan-2005 : 11-jan-2005] 8
    [12-jan-2005 : 12-jan-2005] 8

    In this table the fact is recorded that the person worked 8 hours in the interval specified. This table is not really a timeline in the sense above. If we pack as defined above we get [10-jan-2005:12jan-2005], 8 . The person worked however in fact 24 hours. It is not clear how these hours are a single valued function. At a certain point in time we can say that Fred hold a job of Tester for 40 hours per week. But a remark Fred worked 8 hours makes only sense if the interval is included.

  • Reasoning with timelines

    In reasoning about timelines we will sometimes assume that we can "unpack" timeline then do something to come up with a new timeline and pack it again. This takes care of combining data with different interval distribution.

  • Values are immutable.

    Off course if you move, then the address of your old house remains the same, even if someone else lives there. Your address attribute changes to your new address. An integer 3 never becomes 4, they are just different values.