  This document describes the Odin framework, which is a domain-independent
platform for developing rule-based event extraction models. Odin aims to be
powerful (the rule language allows the modeling of complex syntactic
structures) and robust (to recover from syntactic parsing errors, syntactic
patterns can be freely mixed with surface, token-based patterns), while
remaining simple (some domain grammars can be up and running in minutes), and
fast (Odin processes over 100 sentences/second in a real-world domain with over
200 rules). Here we include a thorough definition of the Odin rule language,
together with a description of the Odin API in the Scala language, which allows
one to apply these rules to arbitrary texts.
