The traversal framework in v4

Hi Everyone!

In the previous version of the database there was the traversal framework in the Java API. It was really helpful in making some complex queries. But since the version 4 the method of getting TraversalDescription from the database object is deprecated. Moreover, I can’t find any mention of it in the documentation (https://neo4j.com/docs/java-reference/current/java-embedded/).

Does anyone know is it really planning to remove this feature from the public API?
And if so, what can we use instead in a case when cypher is not sufficient?

Thanks!

Hello,

I believe the deprecation on the traversal API was a mistake on our side, we should be removing the deprecation warning, that will be staying in for 4.x.

2 Likes

It's good to hear that.
@andrew.bowman thanks for your reply!

1 Like

Hi Andrew, does this apply to the deprecation warnings on this documentation page too?
https://neo4j.com/docs/java-reference/current/traversal/

1 Like

@phill240 @CodieC

There has been an update here...

We are officially continuing with the deprecation of the traversal API, BUT it will stick around and will be maintained until a suitable replacement is available, and that may not happen for awhile. We won't be pulling the rug out from under anyone's feet, this is just a step in preparation for something new.

3 Likes

This doesn't give me a ton of confidence for developing today. I hope the new guidance is forthcoming soon.

4 Likes

@andrew.bowman I was wondering what the neo4j team thinks about gremlin as a possible traversal API replacement.

I like gremlin since it's standard and has a lot of documentation and examples available, but it looks like the neo4j integration has waned (there's no integration for 4.x).

Hello,

We're not looking at gremlin at this time, I don't believe we'll be using that going forward.

As noted, the deprecation warning on the traversal API is to set the stage for a future replacement, but that may be 5.x or later. As mentioned, as there is no actual replacement implemented at this time, carry on as normal and make use of the traversal API as you like.

I am trying to upgrade from 3.5 to 4.0, but the traversal framework appears not to be defined in 4.0. Am I missing something?