Hi Serge, If you've got a minute, have a look at my join syntax branch: u/danielw/joinSyntax6 . I think it handles the needed syntax for joins, but the code for constructing the representation is biased towards creation from a parse tree. As such, it may be lacking in functionality to create components programmatically. I know there is stuff missing. What stands out? Do you need the boolean predicates that are currently unimplemented? Is there a particular aspect whose cleanup would make your life easier? Thanks, -Daniel ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the QSERV-L list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1