HuTO Vocabulary Specification

Namespace Document May 2015

This version:
http://ns.inria.fr/huto/may2015/ (rdf)
Latest version:
http://ns.inria.fr/huto
Status:
Work in progress
Author:
Fary Diallo, INRIA (France) / Univ. Nice Sophia Antipolis (France) / Univ. Gaston Berger (Senegal)
Olivier Corby, INRIA, France
Isabelle Mirbel, Université Nice Sophia Antipolis, France
IRI:
http://ns.inria.fr/huto

Creative Commons License This work is licensed under a Creative Commons Attribution License. This copyright applies to the HuTO Vocabulary Specification and accompanying documentation in RDF.


Abstract

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.

Table of Contents

  1. HuTO in nutshell
  2. Examples
  3. Classes
  4. Object Properties
  5. Data Properties
  6. Namespace Declarations
  7. References

1 HuTO in nutshell

The figures below show the core classes and properties of HuTO.


Fig. 1: Datation and TemporalUnit modeling and their main sub-concepts.


In HuTO, key concepts to dating are Datation and TemporalUnit (Fig. 1). Datation is an abstract concept (which has no direct instances) which are derived the concepts Date and Duration. The concept Date allows modeling dates such as xsd:dateTime Date type except the time zone part (Examples a and b). The concept Duration defines durations such as xsd:Duration type (Example d). The granularities defined in TemporalUnit range from Century to Second.

Note that the property hasTemporalUnit (Fig. 1) is specialized by the properties hasCentury, hasYear, hasMonth, etc and the property value is specialized by the properties century, year, month, etc.



Fig. 2: HuTO main temporal concepts.


A Temporal element can be an instant, an interval or a Duration. We have chosen to represent all temporal elements as intervals modeled using During concept (Fig. 2). Therefore, if the end or the Duration of the interval is not specified then the considered interval is the whole Date. For example, the Date Friday, August 15, 2014 is considered as a 24H interval. To specify the beginning and/or the end of an interval, one must use the During concept with hasBegin and/or hasEnd properties. To model a Duration, the During concept is also used with the hasBegin property to specify the beginning and the hasDuration property to specify the Duration.

The Cycle concept is used to model non-convex interval (repetitive). A non-convex interval is characterized by two entities: the repetition frequency and the convex interval to repeat. Thus, the concept Cycle is connected to its frequency by the relationship every. This frequency is a sub-concept TemporalUnit representing the unit of time to which the Cycle is repeated. The convex interval is related to the concept Cycle by the relationship exp. The sample property is used to model the sample of a Date as in the expression every 8 Hours.

HuTO allows to use a resource as a time reference through the concept Period. So once dated, a resource can be used as a time marker (Example g).

Note that the property hasDatation (Fig. 2) is specialized by the properties hasDate and hasDuration. The property hasDate is specialized by the properties hasBegin and hasEnd

2 Examples

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, August 26, 2014 at 10 pm)
     [a huto:Date;
     	hut:hasHour	[a  huto:Hour;
        		    huto:hour    22];
        huto:hasDay    	[a  huto:Tuesday;
                            huto:day     26];
        huto:hasMonth  	[a  huto:August];
        huto:hasYear   	[a  huto:Year;
                            huto:year    2014]].
                     
# b. Date(Today)- Friday April 25, 2014
      [a huto:Date;
         huto:hasDay [a huto:Today; 
          		huto:hasContext [a huto:Date;
         		    		   huto:hasDay    [a huto:Friday;
                            				     huto:day    25];
                            		   huto:hasMonth  [a huto:April];
                            		   huto:hasYear   [a huto:Year;
                                              	  	     huto:year   2014]]]].
                                              
# c. The first Sunday of every April.
     [a huto:Cycle;
        huto:every [a huto:Year];
        huto:exp   [a huto:During;
                      huto:hasDate [a huto:Date;
                      		      huto:hasDay [a huto:Sunday;
                                                     huto:week     1];
                                     huto:hasMonth [a huto:April]]]].
                           
# d. Every 8H for 10 days starting from Today
     [a huto:During;
        huto:hasBegin    [a huto:Date;
        		    huto:hasDay [a huto:Today]];
        huto:hasDuration [a huto:Duration;
        		    hasDay  [a huto:Day;
                                       huto:value  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:During;
       huto:hasBegin [a huto:Date;
       	 		huto:hasMonth   [a huto:January];
                        huto:hasYear    [a huto:Year;
                                           huto:year 1993]];
       huto:hasEnd   [a huto:Date;
       	 		huto:hasMonth   [a huto:January];
                        huto:hasYear    [a huto:Year;
                                           huto:year 2001]];
       huto:exp      [ 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:During;
          huto:hasDate [a  huto:Date;
       	 		   huto:hasYear  [a huto:Year;
                         		    huto:year   2011]];
          huto:exp    [a huto:Graph; 
                         huto:uri    <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:During;
        huto:after [a  huto:Period;
                       rdf:value           <FrenchRevolution>]];
        huto:exp    [a huto:TemporalThing;
                       rdf:value             <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)

3 Classes

Aprilc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/April

The fourth month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Augustc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/August

The eighth month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Centuryc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Century

Century represents 100 years in a particular calendar.

has super-classes
TemporalUnitc
is in domain of
Centurydp
is in range of
hasCenturyop

Cyclec back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Cycle

Represents an interval with gaps (non-During), i.e. a discontinuous interval

has super-classes
TemporalThingc
is in domain of
everyop, sampledp

Datationc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Datation

Datation represents an abstract concept (which has no direct instances) which are derived the concepts Date and Duration.

has super-classes
TemporalThingc
has sub-classes
Datec, Durationc
is in domain of
hasCenturyop, hasDayop, hasHourop, hasMinuteop, hasMonthop, hasSecondop, hasTemporalUnitop, hasWeekop, hasYearop
is in range of
hasDatationop

Datec back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Date

The concept Date allows modeling dates such as xsd:dateTime date type except the time zone part.

has super-classes
Datationc
has sub-classes
Periodc
is in domain of
evendp, lastWeekdp, lengthdp, weekdp
is in range of
afterop, beforeop, hasBeginop, hasContextop, hasDateop, hasEndop

Dayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Day

A Day starts at 12 am to 11 59 pm. It represents an interval of 24 hours.

has super-classes
TemporalUnitc
has sub-classes
GenericDayc, WeekDayc
is in domain of
daydp
is in range of
hasDayop

Decemberc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/December

The twelfth month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Durationc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Duration

The concept Duration defines durations such as xsd:Duration type

has super-classes
Datationc
is in range of
hasDurationop

Duringc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/During

Represents an interval without gap, i.e. a continuous interval

has super-classes
TemporalThingc
is in domain of
afterop, beforeop, hasBeginop, hasDatationop, hasDateop, hasDurationop, hasEndop

Februaryc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/February

The second month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Fridayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Friday

The fifth day in the week in the Gregorian Calendar.

has super-classes
WeekDayc

GenericDayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/GenericDay

GenericDay is a day which forms a specific relationship with time speech.

has super-classes
dayc
has sub-classes
Todayc, Tomorrowc, Yesterdayc
is in domain of
hasContextop

Graphc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Graph

Is used to annotate named graphs.

has super-classes
TemporalThingc
is in domain of
uriop

GregorianCalendarMonthc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/GregorianCalendarMonth

GregorianCalendarMonth regroups the twelve months of the Gregorian Calendar.

has super-classes
monthc
has sub-classes
Aprilc, Augustc, Decemberc, Februaryc, Januaryc, Julyc, Junec, Marchc, Mayc, Novemberc, Octoberc, Septemberc
is in domain of
monthdp

Hourc back to ToC or Class ToC

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.

has super-classes
TemporalUnitc
is in domain of
hourdp
is in range of
hasHourop

Januaryc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/January

The first month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Julyc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/July

The seventh month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Junec back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/June

The sith month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

LunarCalendarMonthc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/LunarCalendarMonth

Regroups the months in Lunar Calendar.

has super-classes
monthc

Marchc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/March

The third month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Mayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/May

The fifth month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Minutec back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Minute

Represents an interval of 60 seconds.

has super-classes
TemporalUnitc
is in domain of
minutedp
is in range of
hasMinuteop

Mondayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Monday

The first day of the week.

has super-classes
WeekDayc

Monthc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Month

Month is a month in a particular calendar. At this moment, the specializations of this collection are the Gregorian Calendar and Lunar Calendar.

has super-classes
TemporalUnitc
has sub-classes
GregorianCalendarMonthc, LunarCalendarMonthc
is in range of
hasMonthop

Novemberc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/November

The eleventh month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Octoberc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/October

The tenth month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Periodc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Period

Cast TemporalThing as a anchor Date. Thus once used, a resource can be used as a temporal reference like in exemple g.

has super-classes
Datec

Saturdayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Saturday

The sixth day of the week.

has super-classes
WeekDayc

Secondc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Second

The smallest time interval used in HuTO.

has super-classes
TemporalUnitc
is in domain of
seconddp
is in range of
hasSecondop

Septemberc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/September

The ninth month of the year in the Gregorian Calendar.

has super-classes
GregorianCalendarMonthc

Sundayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Sunday

The seventh day of the week.

has super-classes
WeekDayc

TemporalThingc back to ToC or Class ToC

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.

has super-classes
rdfs:Resourcec
has sub-classes
Cyclec, Datationc, Duringc, Graphc, TemporalUnitc
is in domain of
expop
is in range of
expop

TemporalUnitc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/TemporalUnit

Represents temporal unit. The granularities defined range from Century to Second.

has super-classes
TemporalThingc
has sub-classes
Centuryc, Dayc, Hourc, Minutec, Monthc, Secondc, Weekc, Yearc
is in domain of
includedop
is in range of
everyop, hasTemporalUnitop, includedop

Thursdayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Thursday

The fourth day of the week.

has super-classes
WeekDayc

Todayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Today

The day relative to the day of speech.

has super-classes
GenericDayc

Tomorrowc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Tomorrow

The day after the day of speech.

has super-classes
GenericDayc

Tuesdayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Tuesday

The second day of the week.

has super-classes
WeekDayc

Wednesdayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Wednesday

The third day of the week.

has super-classes
WeekDayc

Weekc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Week

has super-classes
TemporalUnitc
is in range of
hasWeekop

WeekDayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/WeekDay

It regroups the seven days of the week in the Gregorian Calendar.

has super-classes
dayc
has sub-classes
Fridayc, Mondayc, Saturdayc, Sundayc, Thursdayc, Tuesdayc, Wednesdayc
is in domain of
positiondp

Yearc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Year

Year is a year in a particular calendar.

has super-classes
TemporalUnitc
is in domain of
leapYeardp, yeardp
is in range of
hasYearop

Yesterdayc back to ToC or Class ToC

IRI: http://ns.inria.fr/huto/Yesterday

The day before the day of speech.

has super-classes
GenericDayc

4 Object Properties

afterop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/after

To say one thing occur after another thing. It represents the after relation defined by Allen [1][2]. The relation is defined between TemporalThing

has range
Datec

beforeop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/before

To say one thing occur before another thing. It represents the before relation defined by Allen [1][2]. The relation is defined between TemporalThing

has range
Datec

everyop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/every

The every property links the non-convexe interval (Cycle) to its repetition frequency.

has range
TemporalUnitc

expop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/exp

has range
TemporalThingc

hasBeginop back to ToC or objectProperty ToC

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

has range
Datec

hasCenturyop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasCentury

has range
Centuryc

hasContextop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasContext

has range
Datec

hasDatationop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasDatation

has range
Datationc

hasDateop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasDate

has range
Datec

hasDayop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasDay

has range
dayc

hasDurationop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasDuration

has range
Durationc

hasEndop back to ToC or objectProperty ToC

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

has range
Datec

hasHourop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasHour

has range
hourc

hasMinuteop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasMinute

has range
minutec

hasMonthop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasMonth

has range
monthc

hasSecondop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasSecond

has range
secondc

hasTemporalUnitop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasTemporalUnit

has range
TemporalUnitc

hasWeekop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasWeek

has range
weekc

hasYearop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/hasYear

has range
yearc
is also defined as

includedop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/included

has range
TemporalUnitc

uriop back to ToC or objectProperty ToC

IRI: http://ns.inria.fr/huto/uri

has range
Graphc

5 Data Properties

centurydp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/century

has range
xsd:positiveInteger

daydp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/day

has range
xsd:positiveInteger

evendp back to ToC or Data Property ToC

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

has range
xsd:boolean

hourdp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/hour

has range
xsd:positiveInteger

lastWeekdp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/lastWeek

Is used to have the last modality of Date. For example when we want to use the <Date> 'last Saturday of June'

has range
xsd:boolean

leapYeardp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/leapYear

has range
xsd:boolean

lengthdp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/length

has range
xsd:positiveInteger

minutedp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/minute

has range
xsd:positiveInteger

monthdp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/month

has range
xsd:positiveInteger

numberOfDaydp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/numberOfDay

has range
xsd:positiveInteger

positiondp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/position

Is used to rank the day of the week. By convention Monday is the first day

has range
xsd:positiveInteger

sampledp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/sample

Is used to have a sample of Date. For example when we want to use the <Date> 'each three Saturday of June'

has range
xsd:positiveInteger

seconddp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/second

has range
xsd:positiveInteger

weekdp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/week

Is used to have a modality of Date. For example when we want to use the <Date> 'first Saturday of June'

has range
xsd:positiveInteger

yeardp back to ToC or Data Property ToC

IRI: http://ns.inria.fr/huto/year

has range
xsd:positiveInteger

6 Namespace Declarations back to ToC

huto namespace
http://ns.inria.fr/huto/
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
xsd
http://www.w3.org/2001/XMLSchema#

7 References back to ToC

[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