In addition to a main class, an arbitrary number of features can be added to any annotation element that takes a set. Each feature pertains to a specific subset in that set and assigns a class in the subset. The subsets and classes therein are defined in the set definition (See Set Definitions (Vocabulary)), so may be entirely user-defined.

The element <feat> is used to add features to any kind of annotation. In the following example we make use of a subset we invented which ties a lemma to its plural form. This is just an example, you can think of any subset you like and associate all kinds of information with it.

<lemma class="house">
  <feat subset="plural" class="houses" />


Do make sure not to use features and create subsets if there is already a more appropriate FoLiA annotation available. For example; don’t use a part-of-speech subset in a lemma set, because there is already Part-of-Speech Annotation for that.

A more thorough example for part-of-speech tags with features will be explained in the section on Part-of-Speech Annotation.

Some annotation types take predefined subsets because some features are very commonly used. These subsets have clearly defined semantics. However, it still depends on the set on whether these can be used, and which classes these take. Whenever subsets are predefined by FoLiA, they can be assigned directly using XML attributes. Consider the following example of lexical semantic sense annotation, in which subset synset is a predefined subset.

<sense class="X" synset="Y" />

This is semantically equivalent to:

<sense class="X">
    <feat subset="synset" class="Y" />

The following example of event annotation with the feature with predefined subset actor is similar:

<event class="tweet" actor="John Doe">
<event class="tweet">
 <feat subset="actor" class="John Doe" />

Features can also be used to assign multiple classes within the same subset, which is impossible with main classes. In the following example the event is associated with a list of two actors. In this case the XML attribute shortcut no longer suffices, and the <feat> element must be used explicitly.

<event class="conversation">
 <feat subset="actor" class="John Doe" />
 <feat subset="actor" class="Jane Doe" />

To recap: the <feat> element can always be used freely to associate any additional classes of any designed subset with any annotation element. For certain elements, there are predefined subsets, in which case you can assign them using the XML attribute shortcut. This, however, only applies to the predefined subsets.

Another elaborate example of features can be found in the section on Part-of-Speech Annotation.