TQL: Tapestry Query Language
Support extensible set of fields in a document.
Easy to use -- It is specialized.
Complicate the implementation: TQL has to be converted to SQL before executing, because Tapestry is built on top of a commercial database which only supports SQL.