Verb∋Net uses VerbNet's XML format, with a few French-specific syntactic elements. The RELAX NG schema
VERBENET.rnc describes it formally, and every file in the repository
validates against it.
put-9.1.xml. The root element is VNCLASS, and its
ID is the file name without the extension. Names and numbers come from VerbNet and Levin (1993).
A few classes, like dévaler-51.9, have French names because they have
no English counterpart.VERBENET root element that includes every class file with <xi:include>.
Run your XInclude processor on it (xmllint --xinclude, lxml's xinclude(), …)
to get the whole lexicon as a single document.VNCLASS or the VERBENET aggregate.# validate one class, or all of them (jing: https://relaxng.org/jclark/jing.html)
jing -c verbenet/VERBENET.rnc verbenet/put-9.1.xml
cd verbenet && jing -c VERBENET.rnc $(ls *.xml | grep -vx VERBENET.xml)
<VNCLASS ID="accept-77" ladl="6[+N1 =: Qu Psubj]" lvf="P1h.1"> ← class id, LG table(s), LVF class(es)
<MEMBERS>
<MEMBER name="nier"/> ← one verb per MEMBER
<MEMBER name="expliquer s'"/> ← pronominal verbs: clitic after the verb
</MEMBERS>
<THEMROLES>
<THEMROLE type="Agent">
<SELRESTRS logic="or"> ← +organization or +animate
<SELRESTR Value="+" type="organization"/>
<SELRESTR Value="+" type="animate"/>
</SELRESTRS>
</THEMROLE>
<THEMROLE type="Theme"/>
</THEMROLES>
<FRAMES>
<FRAME>
<DESCRIPTION primary="NP V Qu Psubj" syntax="Agent V Theme<+Qu Psubj>"/>
<EXAMPLES><EXAMPLE>Luc a accepté que son fils devienne écrivain</EXAMPLE></EXAMPLES>
<SYNTAX>
<NP value="Agent"><SYNRESTRS/></NP>
<VERB/>
<PSUBJ value="Theme"/>
</SYNTAX>
<SEMANTICS>approve(during(E), Agent, Theme)</SEMANTICS>
</FRAME>
</FRAMES>
<SUBCLASSES>
<VNSUBCLASS ID="accept-77-1"> … same content model, recursively … </VNSUBCLASS>
</SUBCLASSES>
</VNCLASS>
MEMBERS, THEMROLES, FRAMES and an optional
SUBCLASSES. Subclass IDs extend the parent ID (accept-77-1, accept-77-1-1).
As in VerbNet, the members of a subclass also take the roles and frames of the classes above it, so a subclass only
lists what it adds.ou. LG tables may have column constraints in brackets, e.g.
6[+N1 =: Qu Psubj]. A few top-level classes lack one of the two, and about half of the subclasses have their own.expliquer s'.SELRESTR restriction, or a
SELRESTRS group of them combined with logic="and" (the default) or "or".@primary is the frame in constituent notation (NP V NP PP). @syntax
names the role of each constituent, e.g. Agent V Theme<+Qu Psubj>.SYNTAX.E and the roles. It is taken from
VerbNet and stored as plain text, e.g. cause(Agent, E) desire(result(E), Patient, Stimulus).The schema requires this order: a subject (NP with an optional LUI, or impersonal
IL), then VERB, then an optional ADV/PIND. After that come any
number of NPs or PREP + complement pairs, and finally an optional ADJ,
P, PIND, PSUBJ, VINF or ensemble.
Class pages show frames with this colour code:
NPAgent V sur | dans PSUBJTheme ADJ
SYNRESTRS. @modifier is
one of +plural, +Adj, +genitive(Role), +Qu Pind,
+Qu Psubj or +VRole-inf.pronominal="true" marks a pronominal use, and @restr gives its kind:
neutre (La compagnie A s'est associée à la compagnie B),
middle (Les branches de pin se plient facilement),
reflexive (Luc s'est caché dans le placard) or
reciproque (Luc et Marie se bataillent sur ce point).SELRESTRS/SELRESTR/@Value, separated by
; (e.g. à;avec;dans). Value="+" type="loc" stands for any locative preposition.@introduced_by adds a preposition
(Luc compatit à ce que Marie soit au chômage) or, for PIND, si
(L'inspecteur a évalué si le bâtiment allait s'écrouler).@emptysubjectrole names the role that controls its implicit subject
(Luc accepte de partir: the Agent is the one who leaves).These lists are computed from the current data. The schema lists every allowed value.