initial implementation replacing ply by pyparsing
apply the adapter directly when given, otherwise adapt to ITermSet and apply filter if given
use names for predicate and arguments