VerbNet is very complicated and it took quite a bit of effort to unravel it, but I think it was worth it. They have organised it to be as concise as possible, but it makes it a lot more difficult to decode. Verb Classes can have subclasses which add more members, roles and frames to them. Roles in subclasses can override roles in base classes. Roles can be restricted by selection criteria and syntax elements can also have restrictions placed on them. Converting it all into a relational database made it all a lot easier to understand and use and while I was at it, I converted all the logical restrictions to conjunctive normal form which means they can be used directly in grammar rules.
Once you put it all back together you get about 2500 different frames like the following examples, from which it is comparatively easy to pinpoint the sense of the verb, and which noun phrases become which thematic role. Yes, there are a lot of different thematic roles and they are also organised in an inheritance hierarchy. The excitement never ends.
-[ RECORD 1 ]--------------------------------------------
example | Amanda shoved the box.
item1 | {NP,Agent,+int_control}
item2 | {VERB}
item3 | {NP,Theme,+concrete}
-[ RECORD 2 ]--------------------------------------------
example | Amanda shoved the box from the corner.
item1 | {NP,Agent,+int_control}
item2 | {VERB}
item3 | {NP,Theme,+concrete}
item4 | {PREP,+src}
item5 | {NP,Initial_Location,+location}
-[ RECORD 3 ]--------------------------------------------
example | Amanda shoved the box to John.
item1 | {NP,Agent,+int_control}
item2 | {VERB}
item3 | {NP,Theme,+concrete}
item4 | {PREP,"to towards"}
item5 | {NP,Destination}
-[ RECORD 4 ]--------------------------------------------
example | Amanda shoved the box from the corner to John.
item1 | {NP,Agent,+int_control}
item2 | {VERB}
item3 | {NP,Theme,+concrete}
item4 | {PREP,+src}
item5 | {NP,Initial_Location,+location}
item6 | {PREP,"to towards"}
item7 | {NP,Destination}
-[ RECORD 5 ]--------------------------------------------
example | Amanda shoved the box to John from the corner.
item1 | {NP,Agent,+int_control}
item2 | {VERB}
item3 | {NP,Theme,+concrete}
item4 | {PREP,"to towards"}
item5 | {NP,Destination}
item6 | {PREP,+src}
item7 | {NP,Initial_Location,+location}