I am new to Java/Groovy, so i couldn understand the symbol
__
in query
g.V().has('airport','code','AUS').
out().not(where(__.in('contains').has('code','US'))).
valueMap('code','city')
Which is explained later in page 132:
Notice that I added the "__." (underscore underscore period) in front of the in(). This is shorthand for "the thing we are currently looking at", so in this case, the result of the has step.
it will be better to move that paragraph to the first usage of __
thxs
dan