We've had many discussion on this list about what TP4 will be. We've
migrated a number of those ideas to the "future" scratchpad[1]. We've even
introduced a number of concepts to TP3 which will help form the basis for
TP4, like with() for provider specific instructions and Jorge's neat new
work on the binary serialization format[2] which looks really promising.
There have been numerous blog posts that created a lot of the thinking for
what TP4 should be about as well[3][4].

Parallel to the TP4 design strategy is the position TinkerPop takes in the
graph community. We want that position clear for users so that they are
aware of the benefits they gain by considering TinkerPop-enabled systems.
We want that position clear to graph providers, so that they can feel
confident that fully leveraging/supporting TinkerPop is in their best
interest and yields them the greatest flexibility/capability in building
their offering. Finally, we want this position clear for ourselves so that
we can use it to help guide TP4 decision making along those lines. Months
ago, I conveyed my thoughts on our positioning informally on our mailing
lists[5].

The problem here is that these thoughts and works are spread unevenly
across a lot of different places. Marko recently set to work with
collaboration from me to help drag all of these things together into a
single coherent document. This document explains the history of the
TinkerPop project in relation to its lore (never previously unified or
fully explained) and describes the vision for TP4 using that background
context.

There are no timelines for TP4 at the moment save for perhaps a starting
date in the middle of 2019 somewhere...hard to say when such development
would end obviously and I wouldn't venture to guess. The document does not
yet address compatibility which I think should be rectified - going to
suggest that to Marko today. I think forward/backward compatibility  seems
achievable given bytecode i.e. it's just translating TP3 bytecode to TP4
bytecode (or the reverse). I'd like to keep compatibility forefront in our
minds to try to make adoption and transition as smooth as possible.

At this point, we would be interested in feedback that could be
incorporated into the document from the community. The dev list strips
attachments and I don't really want to make this document widely released
yet (i.e. put it on the general internet) so if you are interested in
reviewing a copy, please just reply to this thread and I will share the PDF
with you. Please continue to discuss feedback here on this thread though.


[1] http://tinkerpop.apache.org/docs/current/dev/future/
[2] https://issues.apache.org/jira/browse/TINKERPOP-1942
[3] https://www.datastax.com/dev/blog/the-von-gremlin-architecture
[4]
https://www.datastax.com/dev/blog/a-gremlin-implementation-of-the-gremlin-traversal-machine
[5] https://groups.google.com/d/msg/gremlin-users/czzHhYsbEmg/htgJGF4iBAAJ

Reply via email to