I am a recent adopter of Gremlin and am trying to piece together an understanding of the TinkerPop architecture. Does the diagram below correctly identify the relationships between the components that are shown?
This diagram has been revised per the comments by Stephen Mallete
There are a lot of different ways that a graph database can be considered TinkerPop-enabled and that definition has shifted and changed over the decade or so that TinkerPop has been around at this point. As a result, I can confirm your depiction of the interaction between Gremlin Console and a TinkerPop-enabled graph database is mostly correct but really just identifies one method by which that works. I say "mostly correct" because the Gremlin Console typically doesn't send bytecode, but the actual text of what is typed by the user before they hit enter - i.e. a script processed by the server. It further assumes that the Gremlin Console is configured for a :remote
connection and is not working in with a locally established graph.
Some graphs will work with a :remote
connection but not actually have a "Gremlin Server" in play...they will just implement Gremlin Server protocols and thus have their own method for handling those scripts.