Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
04-15-2020 09:00 AM
I am an applications developer, primarily web and Windows desktop (not Windows Store Apps). So while I find neo4j fascinating and have several projects that could use a graph database, before dedicating a large block of time mastering it, I need to know that I can use it with my applications.
Here are some comments/questions:
Samples
I have spent several hours going through a handful of samples on GitHub trying to answer my own questions above.
I have found:
Question 4: does anyone have any suggestions of samples that compile (work) and demonstrate the features I need described above?
Thanks,
Dennis Cullen
04-15-2020 05:54 PM
Welcome to graph databases. Here's my opinion to the questions you have. To establish a foundation Neo4j is a database like any other db and you'd still apply the same application paradigm as you would with MySQL or any other DB. I think an important thing to highlight that Neo4j Desktop is a separate from Neo4j database. To draw a parallel from other common tech stacks: Neo4j is to MySQL and Neo4j Desktop is to phpMyAdmin. The desktop app is for you the developer. It's your query IDE. Once you go to production, you're working with a database server with an API layer and a UI layer like any other tech stack.
Your application should handle writing and executing the database query. Just as your application to execute SQL your application should execute the Cypher. Your application should abstract from the user what DB technology is running behind the scene. You could be running SQL or mongoDB or graph, the application and user shouldn't care. (There is the Neo4j Bloom application but I don't think what that tool offers is what you're asking for here)
Your application would run just the database server. Either community edition or Enterprise edition depending on what you want/need to comply with licensing. If you're building a web app, your webserver would have the DB and your website invokes your APIs which have the connections to the database.
Visualization is just JavaScript within your app. I believe Neo4j Desktoputilizes the D3.js library if you wish to emulate from their visualization choices, but I'm not aware of any ability to integrate the Neo4j Desktop app to be embedded within other apps. Relating back to question 1, if your application was backed by a SQL DB, your UI could still chose to visualize the data as a graph. And the inverse could be true, maybe your application has a lot of forms and appears to be tabular but behind the scene your storing it in a graph.
Hopefully this has provided some good insight. Neo4j had a beautiful query IDE with their desktop app but in end it's still just a DB. Solving issues of getting the data in through ETL or wiring up applications with the appropriate language driver to insert and select data, and building a UI on top of the data still has to coded just like any other tech stack.
All the sessions of the conference are now available online