Hi,
Using that notation to invoke a method which simply returns the object again is called "the fluent style." (I believe that is the generally accepted term). It is possible to do this in most languages.
Thus, when you do:
GremlinPipeline.out()
You are taking the GremlinPipeline and adding an OutPipe to it. The return of out() is the GremlinPipeline with the new OutPipe on it. As such, you can continuously chain methods.
GremlinPipeline.out().has().in().property()....
Likewise for objects like Blueprints' Query.
I hope that is clear,
Marko.