HuTO (Human Time Ontology) is an ontology formalized in RDFS allowing temporal annotation using temporal expressions of common speech. This ontology also defines the temporal anchors related to the context and capture temporal changes associated with annotated resources. This makes it possible to query Temporal information from the knowledge base using SPARQL queries.
We distinguish two research domains about handling temporal information in Semantic Web: temporal modeling and temporal data annotation (time scope). Temporal modeling allows to model a temporal expression as a date, a convex interval, a non-convex interval, a relative or absolute temporal expression, etc. For instance, Monday April 18, 2013; every Wednesday; every even month of year 2014. Temporal data annotation allows to represent temporal notions in order to annotate knowledge (expressed as RDF triples) and that preserving the evolution of data (change in value) over time.
Advantages of using HuTO's modeling are:
The figure below shows the core classes and properties of HuTO.
In HuTO, main concepts for datation are Datation and TemporalUnit (Fig. 1) which are used to model date and duration. The Datation concept is an abstract concept (which has no instances) from which are derived Date and Duration concepts. Date concept allows to model dates such as the xsd:dateTime (examples a et b). It represents a specific date and time. A time zone expression may be added with TimeZone concept by given the difference with UTC (Coordinated Universal Time). If no time zone value is present, it is assumed to be UTC. Duration concept allows to define duration such as the xsd:duration. It represents a duration of time expressed as a number of years, months, days, hours, minutes, and seconds (example d).
HuTO allows to model deictic dates with GenericDate concept (Fig. 1) which has as sub-concepts GenericDay (Today, etc.), GenericWeek (lastWeek, etc.), GenericMonth (NextMonth, etc.) and GenericYear (ThisYear, etc.).
As temporal units, we consider LunarUnit and SolarUnit. This approach allows to model different calendar units such as Chinese or Hebrew calendars but also Senegalese sociocultural events which all use solar and lunar units. It is possible to define other temporal units such as Maya or Aztec units which will be specializations of TemporalUnit concept. As we are interested in modeling Senegalese sociocultural events, in Figure 1 we detail Gregorian units for which defined granularities range from Century to Second and lunar unit which is used to model religious events in Senegal.
A temporal element can be an instant, an interval or a duration. We have chosen to represent all temporal elements as intervals modeled using the concept TemporalExp (Fig. 1). Therefore, if the end or the duration of the interval is not specified then the considered interval is the date unit. For instance, the date Friday, August 15, 2014 is considered as 24 hours interval. To specify the beginning and/or the end of an interval, one must use the TemporalExp concept with hasBegin and/or hasEnd properties. To model an interval with duration, TemporalExp concept is also used with hasBegin property to specify the beginning and hasDuration property to specify the duration.
The Cycle concept is used to model non-convex intervals (repetitive). Non-convex intervals are characterized by two entities: the repetition frequency and the convex interval to repeat. This frequency is a sub-concept TemporalUnit which represents the time unit to which the cycle is repeated. The convex interval is connected to the Cycle concept by the relation exp.
Overall, the exp (Fig. 1) property is used to connect a non-convex interval (Cycle) to a convex interval (TemporalExp) or another non-convex interval. It is used also to connect a convex interval to a non-convex interval.
In HuTO, at this moment, we included before and after properties (Fig. 1). They allow us to support relative dates which allows to determine the relative order of events without necessarily determining their absolute date as in the expression The Russian Revolution was after the French Revolution (Example g). Note that it allows us to have two implicit information: 1) the date of the referenced resource and 2) the two Allen relations between resources. In HuTO, before and after properties may be expressed between intervals, between resources and between a resource and an interval.
Temporal data annotation consists in linking data (a resource, a triple or a named graph) to their temporal dimension. Thanks to our modeling choices, two dimensions co-exist: temporal and non-temporal. The temporal dimension is specified using HuTO concepts and the non temporal one, consists in the existing triples in the knowledge base. Thus, information retrieval is facilitated by considering or not the temporal aspect.
Overall, temporal annotation can be associated with a resource, a triple or a named graph. To annotate these objects, we create TemporalAnnotation (Fig. 1) which has two properties. The first one, hasTemporalExp property, allows to represent the temporal expression that annotates the resource. The second one is associated with the resources to annotate as follows:
Note that HuTO also allows to model qualitative temporal notions (Fig. 1). HuTO allows a resource to be used as a temporal reference through the TemporalAnnotation concept. In this case, it is considered as a temporal object which can be used as a time anchor. Thereby, instead of to refer to the occurrence date one uses the annotated resource such as in the example g. It also is possible to model several temporal notions relative to one culture or to the geographical position.
For instance, the notion of PartOfDay is shared across the world but the duration depends to the geographical position. Thereby, the notion of Night means the same thing in Dakar (Senegalese capital) and Sydney but the intervals are not the same. On July 29, 2015 the Night is from midnight to 5am 30 and from 9pm to 11pm 59 at Dakar while in Sydney it is from midnight to 5am 30 and from 6pm 30 to 11pm 59. Thus to model this difference, DakarNight and SydneyNight concepts may be created as sub-concepts of Night concept and each of them will have its own schedule.
Thereby to model temporal domain notions, HuTO's qualitative notions can be used by specifying the good interval relative to geographical position. After that, the notion can be used such as in the example g as a time anchor. The same approach is done relative to the Season. African countries like in Senegal have a tropical season and the duration and period is relative to the geographical position.
HuTO also allows to define cultural temporal notions specific to one culture as a sub-concept of TemporalAnnotation concept. For instance in Senegal, the Gamou or Mawlid (period of 12 days to celebrate the birth of the Prophet of Islam) is an important reference date where many religious events are organized. To refer to the date of these events we use the expression during Gamou. Thus with HuTO modeling, the Gamou can be a sub-concept of TemporalAnnotation concept and one can use it as a time anchor to date theses events.HuTO allows to use a resource as a time reference through the concept TemporalAnnotation. So once dated, a resource can be used as a time marker (Example g).
The following examples show how the HuTO Vocabulary is used to model temporal expressions and to temporally annotate data.
@base <http://example.org/> . @prefix huto: <http://ns.inria.fr/huto/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . ############### Temporal Expressions Modeling ############### # a. Date(Tuesday, February 17, 2015 at 10 pm) [a huto:Date; hut:hasHour [a huto:Hour; huto:hour 22]; huto:hasDay [a huto:Tuesday; huto:value 17]; huto:hasMonth [a huto:February]; huto:hasYear [a huto:Year; huto:value 2015]]. # b. Date(Today)- Friday April 25, 2014 [a huto:Today; huto:hasDay [a huto:Friday; huto:value 25]; huto:hasMonth [a huto:April]; huto:hasYear [a huto:Year; huto:value 2014]]. # c. The first Sunday of every April. [a huto:Cycle; huto:every [a huto:Year]; huto:exp [a huto:TemporalExp; huto:hasDate [a huto:Date; huto:hasDay [a huto:Sunday; huto:number 1]; huto:hasMonth [a huto:April]]]]. # d. Every 8H for 10 days starting from Today [a huto:TemporalExp; huto:hasBegin [a huto:Today]; huto:hasDuration [a huto:Duration; huto:hasDay [a huto:Day; huto:number 10]]; huto:exp [a huto:Cycle; huto:every [a huto:Hour; huto:sample 8]]]. ######################### Temporal data annotation ############################# # e. Bill Clinton was the President of USA from January 1993 to January 2001 [a huto:TemporalAnnotation; huto:hasTemporalExp [a huto:TemporalExp; huto:hasBegin [a huto:Date; huto:hasMonth [a huto:January]; huto:hasYear [a huto:Year; huto:value 1993]]; huto:hasEnd [a huto:Date; huto:hasMonth [a huto:January]; huto:hasYear [a huto:Year; huto:value 2001]]]; huto:triple [ rdf:subject <Clinton>; rdf:predicate <presidentOf>; rdf:object <USA>]]. # f. In 2011 the City of Dakar had 1,056,009 inhabitants, it was the most populated and its mayor was Mr Sall. [a huto:TemporalAnnotation; huto:hasTemporalExp [a huto:TemporalExp; huto:hasDate [a huto:Date; huto:hasYear [a huto:Year; huto:value 2011]]]; huto:graph <http://example.org/g/>]. <http://example.org/g/>{ <Dakar> <population> 1056009; <rank> 1; <mayor> <Sall>} # g. The Russian Revolution was after the French Revolution [a huto:TemporalAnnotation; huto:uri <FrenchRevolution>] huto:after [a huto:TemporalAnnotation; huto:uri <RussianRevolution>].
For Temporal data annotation, HuTO is used to annotate: 1) a resource (Example g), 2) a triple (Example e) and 3) a set of triples (Example f)
IRI: http://ns.inria.fr/huto/August
The eighth Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/Autumn
Autumn, interchangeably known as fall in North America. It marks the transition from Summer into Winter, in September (Northern Hemisphere) or March (Southern Hemisphere)
IRI: http://ns.inria.fr/huto/CalendarSeason
A CalendarSeason is a division of the Year into four. It is mainly used in the Northern Hemisphere and the Southern Hemisphere
IRI: http://ns.inria.fr/huto/Century
Century represents 100 years in a particular calendar.
IRI: http://ns.inria.fr/huto/Cycle
Represents an interval with gaps, i.e. a discontinuous interval
IRI: http://ns.inria.fr/huto/Datation
<em>Datation</em> represents an abstract concept (which has no direct instances) which are derived the concepts Date and Duration.
IRI: http://ns.inria.fr/huto/Date
Represents a Date which denotes different kind of Date. It can be a simple Date i.e. Century, Year, Month, so on or a regular Date i.e. on September 2013, on 25 January 2014, so on
IRI: http://ns.inria.fr/huto/Dawn
Dawn is the time that marks the beginning of the twilight.
IRI: http://ns.inria.fr/huto/Day
A Day starts at 12 am to 11 59 pm. It represents an interval of 24 hours.
IRI: http://ns.inria.fr/huto/December
The twelfth Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/Duration
Represents a Duration. The concept Duration defines durations such as xsd:Duration type
IRI: http://ns.inria.fr/huto/Evening
Evening in its primary meaning is the period of the Day between afternoon and night.
IRI: http://ns.inria.fr/huto/February
The Second Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/Friday
The fifth Day of the Week.
IRI: http://ns.inria.fr/huto/GenericDate
GenericDay is a Day which forms a specific relationship with time speech.
IRI: http://ns.inria.fr/huto/GenericDay
Represents a GenericDay. The Day is relative to the Day of speech. It has specializations such as Yesterday, Tomorrow, so on.
IRI: http://ns.inria.fr/huto/GenericMonth
Represents a GenericMonth. The Month is relative to the Month of speech. It has specializations such as NextMonth, LastMonth, so on.
IRI: http://ns.inria.fr/huto/GenericWeek
Represents a GenericWeek. The Year is relative to the Week of speech. It has specializations such as NextWeek, LastWeek, so on.
IRI: http://ns.inria.fr/huto/GenericYear
Represents a GenericYear. The Year is relative to the Year of speech. It has specializations such as NextYext, LastYear, so on.
IRI: http://ns.inria.fr/huto/GregorianUnit
Represents temporal calendar units of Gregorian Calendar. The units defined range from Century to Second.
IRI: http://ns.inria.fr/huto/Hour
Represents an interval of 60 minutes. We use the 24-Hour notation for representing hours as in example a in the specification.
IRI: http://ns.inria.fr/huto/January
The first Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/July
The seventh Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/June
The sixth Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/LunarUnit
Regroups the units in Lunar Calendar.
IRI: http://ns.inria.fr/huto/March
The third Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/May
The fifth Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/Minute
Represents an interval of 60 seconds.
IRI: http://ns.inria.fr/huto/Monday
The first Day of the Week.
IRI: http://ns.inria.fr/huto/Month
Month regroups the twelve months of the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/Morning
Morning is the period of time between midnight and Noon or, more commonly, the interval between sunrise and Noon.
IRI: http://ns.inria.fr/huto/Noon
Noon is usually defined as 12 o'clock in the daytime
IRI: http://ns.inria.fr/huto/November
The eleventh Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/October
The tenth Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/PartOfDay
A ParofDay is a division of the Day, marked by changes in weather, ecology and hours of daylight
IRI: http://ns.inria.fr/huto/Saturday
The sixth Day of the Week.
IRI: http://ns.inria.fr/huto/Season
A Season is a division of the Year, marked by changes in weather, ecology and hours of daylight
IRI: http://ns.inria.fr/huto/Second
The smallest time interval used in HuTO.
IRI: http://ns.inria.fr/huto/September
The ninth Month of the Year in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/SolarUnit
Regroups the units in Solar Calendar.
IRI: http://ns.inria.fr/huto/Spring
There are various technical definitions of Spring, but local usage of the term varies according to local climate, cultures and customs.
IRI: http://ns.inria.fr/huto/Summer
Summer is traditionally associated with hot or warm weather. In the Mediterranean regions, it is also associated with dry weather, while in other places (particularly in Eastern Asia because of the Monsoon) it is associated with rainy weather.
IRI: http://ns.inria.fr/huto/Sunday
The seventh Day of the Week.
IRI: http://ns.inria.fr/huto/TemporalAnnotation
Annotated RDF resources are linked in this concept due to the properties <em>uri</em>, <em>graph</em> or <em>triple</em>. Its temporal part is linked due to the property <em>hasTemporalExp</em>. The concept can be also used as a temporal anchor as in the example g in the specification.
IRI: http://ns.inria.fr/huto/TemporalExp
Represents an interval without gap, i.e. a continuous interval
IRI: http://ns.inria.fr/huto/TemporalPosition
This is the collection of all things that have a temporary position on a schedule. It can be a Date, a Duration, so on.
IRI: http://ns.inria.fr/huto/TemporalThing
This is the collection of all things that have temporal extent - things about which one might sensibly ask 'When?'. TemporalThing thus contains many kinds of things, including events and pure intervals of time.
IRI: http://ns.inria.fr/huto/TemporalUnit
IRI: http://ns.inria.fr/huto/Thursday
The fourth Day of the Week.
IRI: http://ns.inria.fr/huto/TimeZone
TimeZone gives the difference with UTC (Coordinated Universal Time). If no time zone value is present, it is assumed to be UTC.
IRI: http://ns.inria.fr/huto/Today
The Day relative to the Day of speech.
IRI: http://ns.inria.fr/huto/Tomorrow
The Day after the Day of speech.
IRI: http://ns.inria.fr/huto/TropicalSeason
A TropicalSeason is a division of the Year into two. The tropics is a region of the Earth surrounding the Equator.
IRI: http://ns.inria.fr/huto/Tuesday
The Second Day of the Week.
IRI: http://ns.inria.fr/huto/Wednesday
The third Day of the Week.
IRI: http://ns.inria.fr/huto/Week
IRI: http://ns.inria.fr/huto/WeekDay
It regroups the seven days of the Week in the Gregorian Calendar.
IRI: http://ns.inria.fr/huto/Winter
Winter is the coldest Season of CalendarSeason
IRI: http://ns.inria.fr/huto/Year
Year is a Year in a particular calendar.
IRI: http://ns.inria.fr/huto/Yesterday
The Day before the Day of speech.
IRI: http://ns.inria.fr/huto/after
To say one thing occur after a specific Date
IRI: http://ns.inria.fr/huto/before
To say one thing occur before a specific Date
IRI: http://ns.inria.fr/huto/every
The every property links the non-convexe interval (Cycle) to its repetition frequency. When the frequency is a composition of GregorianUnit like '1 Year and 3 months' for instance, we convert it in the smaller unit. In this example the smaller unit is 'Month'. Then the frequency become '15 months'.
IRI: http://ns.inria.fr/huto/graph
Used to annotate a named graph
IRI: http://ns.inria.fr/huto/hasBegin
Used to specify the beginning of an interval between Date units; a Date unit is one Year, one Month, one Day or one Hour
IRI: http://ns.inria.fr/huto/hasCentury
IRI: http://ns.inria.fr/huto/hasDuration
IRI: http://ns.inria.fr/huto/hasEnd
Used to specify the end of an interval between Date units; a Date unit is one Year, one Month, one Day or one Hour
IRI: http://ns.inria.fr/huto/hasUTCOffset
IRI: http://ns.inria.fr/huto/hasMinute
IRI: http://ns.inria.fr/huto/hasSecond
IRI: http://ns.inria.fr/huto/hasTemporalExp
Link a <em>TemporalAnnotation</em> to his temporal part (<em>TemporalExp</em>)
IRI: http://ns.inria.fr/huto/hasTemporalPosition
IRI: http://ns.inria.fr/huto/hasTemporalUnit
IRI: http://ns.inria.fr/huto/hasTimeZone
IRI: http://ns.inria.fr/huto/included
IRI: http://ns.inria.fr/huto/triple
Used to annotate an RDF triple
IRI: http://ns.inria.fr/huto/uri
Used to annotate an RDF object
IRI: http://ns.inria.fr/huto/even
Is used to specify the even parity of Date. If it is an odd Date, even property is set to false
IRI: http://ns.inria.fr/huto/lastWeek
Is used to have the last modality of Date. For example when we want to use the <em>Date</em> 'last Saturday of June'
IRI: http://ns.inria.fr/huto/leapYear
Is used to have the parity of a Date
IRI: http://ns.inria.fr/huto/number
Is used to have the Duration length. Thus the property is used by <em>Duration</em> concept
IRI: http://ns.inria.fr/huto/numberOfDay
Is used to the number of days of a <em>Month</em> or a <em>Year</em> concept
IRI: http://ns.inria.fr/huto/position
Is used to rank the Day of the Week. By convention Monday is the first Day
IRI: http://ns.inria.fr/huto/positive
Is used to specify the positivity or not of the offset between the UTC
IRI: http://ns.inria.fr/huto/sample
Is used to have a sample of Date. Thus the property is used by <em>Cycle</em> concept. For example when we want to use the <em>Date</em>: 'each three Saturday of June'
IRI: http://ns.inria.fr/huto/value
Is used to have the value of Date. Thus the property is used by <em>Date</em> concept
[1] Allen, J. F. 1984. Towards a general theory of action and time. Artificial Intelligence 23, pp. 123-154.
[2] Allen, J. F. and Ferguson, G. 1997. Actions and events in interval temporal logic. In Spatial and Temporal Reasoning. O. Stock, ed., Kluwer, Dordrecht, Netherlands, 205-245.
[3] Pan, F and Hobbs, J. R. 2005. Temporal Aggregates in OWL-Time. In Proceedings of the 18th International Florida Artificial Intelligence Research Society Conference (FLAIRS), Clearwater Beach, Florida, pp. 560-565, AAAI Press.
[4] W3C Working Draft 27 September 2006. Time Ontology in OWL. Available at http://www.w3.org/TR/owl-time
[5] LADKIN P. B. (1987). The Logic of Time Representation. PhD Thesis at the University of California at Berkeley, November.
[6] GUTIERREZ C., HURTADO C., & VAISMAN A. (2005). Temporal RDF. In European Conference on the Semantic Web (ECSW’05) (Best paper award), pp 93–107.
[7] TAO C., WEI-QI WEI , SOLBRIGH H., SAVOVA G. & CHUTE C. G (2010). CNTRO: A Semantic Web Ontology for Temporal Relation Inferencing in Clinical Narratives. In AMIA Annual Symposium Proceedings: 787–791. Available at http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3041418/
[8] Welty C. & Fikes R. (2006). A Reusable Ontology for Fluents in OWL. In Frontiers in Artificial Intelligence and Applications, 150:226–236.
This visual layout has been adapted from the LODE
The fourth Month of the Year in the Gregorian Calendar.