cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Does Java SE is enough for building a simple API with neo4j?

Hello

I am doing my thesis for the university. I know Java SE(Standard Edition) and Python. I consider to use Java SE but i am not quit sure if it can complete the task (API).
My DataBase will be movies
I want the API to have 1 UI that contains : 1 search button (find "this" movie or actor or director), 1 sort by (age, alphabetically , rating etc.) . And under these buttons to have the results with graphics (not as a table but as a graph)

So i am asking if java SE can do it or not.
if not then : if Python can do it
if not then : I can start to learn Java EE or Spring ,which of both is better for neo4j?

Thank you

1 ACCEPTED SOLUTION

Java EE/Spring is NOT required to integrate with Neo4J. Neo4J can be utilized from Java SE quite easily using the Neo4J Java Driver.

So, the question is what are the needs for your API/Application rather than Neo4J integration? There is a simple HTTP server inside all OpenJDK derivatives: https://docs.oracle.com/en/java/javase/11/docs/api/jdk.httpserver/module-summary.html
(This would NOT be recommended for production systems)

You could use other HttpServer libs including jetty or embedded tomcat.
Or just pull in the Jersey lib into JavaSE
You could go the spring boot route which utilizes either embedded tomcat or embedded jetty.

Yes, you could use Python just fine as well. There is a Python Neo4J driver, but similar to the Java ecosystem, you'll be left with what to do in your own API/application for HTTP Server support. The Python http.server is built-in, but similar to the HTTPServer in OpenJDK derivatives, not recommend for Production use. So then you'll be deciding between Flash, Bottle, etc.

They are similar decisions that depend on your needs/comfort level from Java to Python, but none of the above really matter for the Neo4J integration.

View solution in original post

1 REPLY 1

Java EE/Spring is NOT required to integrate with Neo4J. Neo4J can be utilized from Java SE quite easily using the Neo4J Java Driver.

So, the question is what are the needs for your API/Application rather than Neo4J integration? There is a simple HTTP server inside all OpenJDK derivatives: https://docs.oracle.com/en/java/javase/11/docs/api/jdk.httpserver/module-summary.html
(This would NOT be recommended for production systems)

You could use other HttpServer libs including jetty or embedded tomcat.
Or just pull in the Jersey lib into JavaSE
You could go the spring boot route which utilizes either embedded tomcat or embedded jetty.

Yes, you could use Python just fine as well. There is a Python Neo4J driver, but similar to the Java ecosystem, you'll be left with what to do in your own API/application for HTTP Server support. The Python http.server is built-in, but similar to the HTTPServer in OpenJDK derivatives, not recommend for Production use. So then you'll be deciding between Flash, Bottle, etc.

They are similar decisions that depend on your needs/comfort level from Java to Python, but none of the above really matter for the Neo4J integration.