Replies: 1 comment
-
|
I didn't have experience extending Gremlin with custom steps (i.e. If you don't need to extend Gremlin language with your custom steps, but simply apply you business logic during traversal, I would suggest to look into some of these solutions:
Again, I didn't have experience implementing custom steps (that doesn't exist in Gremlin), but only changing behavior of existing steps or modifying the Gremlin query by applying different rules, so not sure if that is helpful for your use-case. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I’m currently working on a project that has been using Neo4j, and we’re exploring migrating to JanusGraph (which uses tinkerpop). The main challenge we’re facing relates to how we currently use Neo4j: we’ve developed several stored procedures, including a custom traversal procedure (a recursive function that decides which path to traverse based on edge properties).
From what I’ve gathered so far, it seems that a similar feature could be implemented in Tinkerpop by extending the DSL and deploying it as a JAR into the extensions directory. However, I’m not completely sure if this is the best approach.
Our key requirements are performance-related — this traversal processes a large number of nodes and edges, and it should return complete paths. Therefore, it’s important for us to execute it server-side rather than client-side.
I created a proof of concept for the extension, but I’ve encountered issues during deployment. I placed the JAR file in the /opt/janusgraph/ext directory and added it to plugins.txt. However, when running the Gremlin console, I get the following error:
Could you please help clarify the following points?
Is extending the DSL the recommended approach for implementing a custom traversal?
If so, is the deployment method I described (placing the JAR in /opt/janusgraph/ext and declaring it in plugins.txt) correct?
How can I debug the above error? Could it be related to an incomplete plugin JAR? If possible, could you share an example of a working extension that I could use as a reference?
Thank you in advance for your help and any insights you can provide.
Best regards,
Michael
Beta Was this translation helpful? Give feedback.
All reactions