edu.stanford.nlp.time
Class Timex

java.lang.Object
  extended by edu.stanford.nlp.time.Timex
All Implemented Interfaces:
java.io.Serializable

public class Timex
extends java.lang.Object
implements java.io.Serializable

Stores one TIMEX3 expression. This class is used for both TimeAnnotator and GUTimeAnnotator for storing information for TIMEX3 tags.

Example text with TIMEX3 annotation:
In Washington <TIMEX3 tid="t1" TYPE="DATE" VAL="PRESENT_REF" temporalFunction="true" valueFromFunction="tf1" anchorTimeID="t0">today</TIMEX3>, the Federal Aviation Administration released air traffic control tapes from the night the TWA Flight eight hundred went down.


TIMEX3 specification:


 attributes ::= tid type [functionInDocument] [beginPoint] [endPoint]
                [quant] [freq] [temporalFunction] (value | valueFromFunction)
                [mod] [anchorTimeID] [comment]

 tid ::= ID
   {tid ::= TimeID
    TimeID ::= t}
 type ::= 'DATE' | 'TIME' | 'DURATION' | 'SET'
 beginPoint ::= IDREF
    {beginPoint ::= TimeID}
 endPoint ::= IDREF
    {endPoint ::= TimeID}
 quant ::= CDATA
 freq ::= Duration
 functionInDocument ::= 'CREATION_TIME' | 'EXPIRATION_TIME' | 'MODIFICATION_TIME' |
                        'PUBLICATION_TIME' | 'RELEASE_TIME'| 'RECEPTION_TIME' |
                        'NONE' {default, if absent, is 'NONE'}
 temporalFunction ::= 'true' | 'false' {default, if absent, is 'false'}
    {temporalFunction ::= boolean}
 value ::= Duration | Date | Time | WeekDate | WeekTime | Season | PartOfYear | PaPrFu
 valueFromFunction ::= IDREF
    {valueFromFunction ::= TemporalFunctionID
 TemporalFunctionID ::= tf}
 mod ::= 'BEFORE' | 'AFTER' | 'ON_OR_BEFORE' | 'ON_OR_AFTER' |'LESS_THAN' | 'MORE_THAN' |
         'EQUAL_OR_LESS' | 'EQUAL_OR_MORE' | 'START' | 'MID' | 'END' | 'APPROX'
 anchorTimeID ::= IDREF
   {anchorTimeID ::= TimeID}
 comment ::= CDATA
 

References
Guidelines: http://www.timeml.org/tempeval2/tempeval2-trial/guidelines/timex3guidelines-072009.pdf
Specifications: http://www.timeml.org/site/publications/timeMLdocs/timeml_1.2.1.html#timex3
XSD: http://www.timeml.org/timeMLdocs/TimeML.xsd

See Also:
Serialized Form

Constructor Summary
Timex()
           
Timex(org.w3c.dom.Element element)
           
Timex(java.lang.String val)
           
Timex(java.lang.String type, java.lang.String val)
           
 
Method Summary
 java.lang.String altVal()
           
 boolean equals(java.lang.Object o)
           
static Timex fromMap(java.lang.String text, java.util.Map<java.lang.String,java.lang.String> map)
           
static Timex fromXml(java.lang.String xml)
           
 java.util.Calendar getDate()
          Gets the Calendar matching the year, month and day of this Timex.
 Pair<java.util.Calendar,java.util.Calendar> getRange()
          Gets two Calendars, marking the beginning and ending of this Timex's range.
 Pair<java.util.Calendar,java.util.Calendar> getRange(Timex documentTime)
          Gets two Calendars, marking the beginning and ending of this Timex's range.
 int hashCode()
           
 java.lang.String text()
           
 java.lang.String tid()
           
 java.lang.String timexType()
           
 java.lang.String toString()
           
 org.w3c.dom.Element toXmlElement()
           
 java.lang.String value()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Timex

public Timex()

Timex

public Timex(org.w3c.dom.Element element)

Timex

public Timex(java.lang.String val)

Timex

public Timex(java.lang.String type,
             java.lang.String val)
Method Detail

value

public java.lang.String value()

altVal

public java.lang.String altVal()

text

public java.lang.String text()

timexType

public java.lang.String timexType()

tid

public java.lang.String tid()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toXmlElement

public org.w3c.dom.Element toXmlElement()

fromXml

public static Timex fromXml(java.lang.String xml)

fromMap

public static Timex fromMap(java.lang.String text,
                            java.util.Map<java.lang.String,java.lang.String> map)

getDate

public java.util.Calendar getDate()
Gets the Calendar matching the year, month and day of this Timex.

Returns:
The matching Calendar.

getRange

public Pair<java.util.Calendar,java.util.Calendar> getRange()
Gets two Calendars, marking the beginning and ending of this Timex's range.

Returns:
The begin point and end point Calendars.

getRange

public Pair<java.util.Calendar,java.util.Calendar> getRange(Timex documentTime)
Gets two Calendars, marking the beginning and ending of this Timex's range.

Parameters:
documentTime - The time the document containing this Timex was written. (Not necessary for resolving all Timex expressions. This may be null, but then relative time expressions cannot be resolved.)
Returns:
The begin point and end point Calendars.


Stanford NLP Group