I too am new to GraphWalker and I have found a couple of ways to do this.
For a very basic test with multiple potential paths, I used guard conditions combined with 'reached edge' or 'reached vertex' stop conditions in my path generator. Using the INIT: keyword on my starting vertex, I control which path gets walked in my tests by passing parameters through the test suite. (I use parameters and annotations provided by the TestNG library to control each path. Also, to be clear this was a proof of concept test with one graph and multiple paths like a tree graph, not one test with multiple models but I have succeeded in using multiple models as described next.)
The second way I have done this is to create separate model files for each of the components. Using the SHARED: attribute the INIT: attribute and more granular conditions for path guards, I can now write my test to include multiple execution contexts.
BTW I use yEd to draw my models instead of GraphWalker Studio which means my model files are .graphml instead of .json. I think though it is still possible to do what I have described using GraphWalker Studio. A quick review of the newest UI tells me that the guards and other keyword attributes are accounted for and available to you. The absolute key
for success in accomplishing what I had hoped with GraphWalker was understanding Global Attributes and Keywords
as applied to @Edges and @Vertices. The linked document is an explanation using yEd, but it is clear and immediately applicable to creating and editing graphs in GraphWalker Studio.
I hope this helps you!