This is a very complex question, it seems you need a design guide, not a quick neo4j question. Depending on how you use distribution activation, itโs better not to change the server, but I canโt say because your use case is probably involved. Keep in mind that you can always use neo4j as a graph repository, and then put higher-level concepts, such as activating the extension in the application code, rather than on the server.
The question suggests that I think you want to put it on the server. So what are the options? In general, you could write a server plug-in and extend the RESTful API (which would not help you with py2neo). On the other hand, I donโt think that you can now configure your own custom cypher function, so you cannot change the cypher language first, then use the py2neo bindings to use the new cypher functionality. The recommendation given elsewhere suggests that you can consider an unmanaged extension to implement extension activation. If you did, again, I donโt see how py2neo will help you.
In the short term, I think you should think about NOT modifying neo4j itself, but instead include activating the extension in the python code that possibly uses py2neo. Long-term, if neo4j offers a way to do custom cypher (UDF) functions, which I understand is in the development roadmap (maybe?), Then this might be a better option, but I would not recommend it without many more requirements and details.
source share