Thank you both for your feedback on this. We will put this under review and revert with an update after our next planning cycle.
Our use case involves filtering out parts of the graph (vertices, edges) that do not meet certain criteria, and these criteria need to be specified up front. In our case, the criteria would simply be time - we want to be able to set DateTimes for (begin/end) on certain vertices and edges and only see them when DateTime.Now falls within that range and just ignore them otherwise. We would use the 'SubGraphStrategy' for that.
From the Tinkerpop docs:
SubgraphStrategy is similar to PartitionStrategy in that it constrains a Traversal to certain vertices, edges, and vertex properties as determined by a Traversal-based criterion defined individually for each.
Documentation on traversal strategies: http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy
The simplest application would probably the 'subgraphStrategy' which allows you to define a global filter on vertices and edges and thus lets you view a filtered subgraph. E.g. any traversal setting out from the following
will only see vertices that don't have a property called 'endTime'.
Work for this feature has been started. Will update here when this feature becomes generally available.
Support for this is not on our roadmap but will mark as unplanned and leave open for future consideration.
Thank you for your suggestion.
This is not in the Tinkerpop specification. We have no plans to add support to this just yet.
We will revisit this in the future however.
Thank you for you feedback.
Bytecode support for Gremlin API is scheduled for public preview, December 2019.