Nasty.AST.Semantic.Event (Nasty v0.3.0)

View Source

Event node representing actions, states, or processes.

Events capture temporal and aspectual information about actions mentioned in text.

Summary

Types

Event type classification.

t()

Temporal information about the event.

Types

event_type()

@type event_type() :: :action | :state | :process | :achievement

Event type classification.

  • :action - Dynamic event with agent ("run", "build", "write")
  • :state - Static situation ("know", "believe", "exist")
  • :process - Gradual change ("grow", "decay", "develop")
  • :achievement - Instantaneous event ("arrive", "die", "win")

t()

@type t() :: %Nasty.AST.Semantic.Event{
  participants: %{required(atom()) => term()},
  span: Nasty.AST.Node.span(),
  temporal: temporal_info(),
  trigger: Nasty.AST.Token.t() | Nasty.AST.VerbPhrase.t(),
  type: event_type()
}

temporal_info()

@type temporal_info() :: %{
  tense: :past | :present | :future | nil,
  aspect: atom() | nil,
  timestamp: String.t() | nil
}

Temporal information about the event.

  • tense - Past, present, or future
  • aspect - Perfective, imperfective, progressive, etc.
  • timestamp - Specific time reference (if mentioned)