Thanks, Cole. I think that plan (deprecating Neo4j-Gremlin, but not
removing it until it becomes a nuisance) is a nice middle ground. Again
with the disclaimer that I am just one developer talking about his
applications, no: my projects which use Neo4j are old, and are not using
newer features of TinkerPop (though this is likely to change once
Hydra-Java [1] is ready for Gremlin interop). E.g. my personal knowledge
graph, Synchrony [2], has been in daily use since 2011, but the code tends
to be dormant for long periods. This is an application in maintenance mode
for which deleting Neo4j-Gremlin would mean the difference between not
needing to upgrade to the latest release of TinkerPop very often, and not
being able to (with the risk of eventually not being able to build). It may
or may not be representative of other legacy applications out there -- but
since Neo4j was a staple of TinkerPop for so long, I'd be more surprised if
there *aren't* a few other applications like it. Hard to say unless others
chime in. FWIW, I don't have any enterprise code which still uses
Neo4j-Gremlin.

Best regards,

Josh

[1] https://bit.ly/hydra-source
[2] https://github.com/synchrony


On Fri, Jul 21, 2023 at 5:10 PM Cole Greer <cole.gr...@improving.com.invalid>
wrote:

> Hi Josh,
>
> Thanks for responding. I think it makes sense to keep neo4j-gremlin around
> for that sort of use case. One question I have (mostly out of curiosity) is
> if you often find yourself using modern additions to TinkerPop (such as
> MergeV) with a legacy neo4j backend? I wonder if there are many users who
> would want all the latest features to TinkerPop and simply don’t mind if
> the backend graph is outdated.
>
> I still feel as if the right choice here is to mark neo4j-gremlin as
> deprecated though. Simply looking at the commit history shows that it has
> been on bare bones life support for years. Given the lack of investment in
> it and the fact that the primary dependency has dropped support, I don’t
> think we should be positioning neo4j-gremlin as something which is actively
> supported and that we recommend to users. I think that putting deprecation
> notices on it will give new users a more accurate representation of the
> current level of support for the plugin.
>
> That said I do agree that there is value in keeping neo4j-gremlin
> functioning if the maintenance burden is not too high. For that reason, I
> will withdraw my suggestion to eventually remove neo4j-gremlin from the
> repo. My suggestion is now that we mark it as deprecated but keep it in the
> repo including all the testing. We should maintain the current status quo
> of maintenance where on occasion, moderate effort will be made to ensure
> combability with new features. I think we could maintain neo4j-gremlin in
> this state for the foreseeable future, until such a time that a new feature
> in TinkerPop requires an unreasonable amount of effort to work with
> neo4j-gremlin. In such a situation we can reach out to the community to see
> if anyone is interested in taking on the work of updating neo4j-gremlin,
> and if not at that time it would need to be removed.
>
> Let me know your thoughts on this suggestion.
>
> Thanks,
>
> Cole
>
> From: Joshua Shinavier <j...@fortytwo.net>
> Date: Thursday, July 20, 2023 at 4:21 PM
> To: dev@tinkerpop.apache.org <dev@tinkerpop.apache.org>
> Subject: Re: [DISCUSS] Future of Neo4J-Gremlin
> Deprecating Neo4j support in Gremlin would definitely mark the end of an
> era. I would be inclined to retain the support so long as it does not
> represent a significant development burden, but this is only the
> perspective of a *user* of legacy applications built with Neo4j-Gremlin.
> There may be others who use Neo4j primarily as a back-end for TinkerPop,
> not the other way around, and who are content with Neo4j 3.4 indefinitely,
> or until legacy Neo4j does become unsupportable. If there aren't too many
> of these dinosaurs, however, then the support will not be missed.
>
> Josh
>
>
>
> On Thu, Jul 20, 2023 at 9:35 AM Cole Greer <cole.gr...@improving.com
> .invalid>
> wrote:
>
> > Hi everyone,
> >
> > Just a quick update on this, I reached out to Michael Hunger (original
> > author of neo4j-tinkerpop-api-impl) and he confirmed that Neo4j has
> shifted
> > their focus away from gremlin support and they have no plans at this time
> > to make further contributions to the project. Due to a lack of interest
> > from both our community and Neo4j, I propose we deprecate neo4j-gremlin
> as
> > of TinkerPop 3.7.0 with the intention of removing the module from the
> repo
> > at a later date.
> >
> > Regards,
> >
> > Cole Greer
> >
> > From: Cole Greer <cole.gr...@improving.com.INVALID>
> > Date: Friday, July 14, 2023 at 2:38 PM
> > To: Dev Tinkerpop <dev@tinkerpop.apache.org>
> > Subject: [DISCUSS] Future of Neo4J-Gremlin
> > Hi everyone,
> >
> > With the addition of transaction support in TinkerGraph in 3.7, I think
> > now is a good time to reassess the Neo4J-Gremlin module. To the best of
> my
> > knowledge, Neo4J-Gremlin historically served 2 primary purposes. First it
> > acted as a de facto reference implementation of gremlin transactions, and
> > second it provided a convenient package for users to integrate Neo4J into
> > the TinkerPop ecosystem (use of gremlin-console, server…). I don’t see a
> > future for Neo4J-Gremlin in its current state in either of these roles.
> > TinkerTransactionGraph will be filling the reference implementation role
> > from now on, and the module has fallen so far out of support that it I
> > don’t see it offering much value for users either.
> >
> > Neo4J support is dependent on neo4j-tinkerpop-api-impl to interface with
> > Neo4J. This library has not been updated in over 5 years now and is stuck
> > on Neo4J 3.4 which dropped out of support in 2020. As it stands, the
> > neo4j-gremlin plugin cannot operate on any modern version of Neo4J and
> thus
> > in my opinion, is no longer a viable product for users.
> >
> > Without a concrete plan for a significant investment in upgrading
> > neo4j-tinkerpop-api-impl, I believe we should move to drop support for
> > Neo4J-Gremlin.
> >
> > I would like to ask any users or stakeholders of Neo4J-Gremlin to reply
> > with their thoughts on the future of the module. I would like to know if
> > the plugin still provides any value for anyone beyond what I already
> > captured. If anyone has objections to the deprecation of the module, I
> ask
> > that they be raised in this thread. Further I would love to hear if
> anyone
> > is interested in driving efforts to modernize and support Neo4J-Gremlin.
> >
> > I plan to leave this discussion open for a while to solicit feedback from
> > as many stakeholders as possible. If there is no objections raised, I
> will
> > assume a lazy consensus in favor of the deprecation and removal of
> > Neo4J-Gremlin from TinkerPop.
> >
> > Regards,
> >
> > Cole
> >
>

Reply via email to