Neo4j as a GUI for database maintenance?

I am looking for a way to build a UI for maintaining a bespoke NoSQL database (which is implemented in Apache Spark on AWS, via Databricks). Our data domain model lends itself to a graph-based approach, so I would like to present data to our internal users via an interactive graph-analytic interface like Bloom. The challenge is that the users need to be able to trigger actions based on the outcome of their searches, and I don't see this functionality in any of the products I've looked at.

A use case would be illustrative: suppose the user needs to look up a subscriber and alter their contact phone number. The search stage would be straight-forward: it would land at a node that represented the "subscriber". One of the directed edges from the "subscriber" node would point to the "contacts" node, which would have zero or more child nodes; each child node would capture either a phone number, an e-mail address, a website, a fax number (yes, I know!), etc. and would have up to 5 attributes ("contactType", "contactValue", "contactPriority", etc.) .

Now comes the tricky bit... I want the user to be able to right-click on a piece of data or a node, and be given the option to enter some text into a pop-up form and submit it as a data-change event. (I actually need to cater for updates, inserts, and deletes, but the user experience will be similar.)

The data-event would not actually alter the database in real-time. Rather, it would trigger a procedure that packages a data change request and submits it to the Spark engine. Or, it could just write the data-change request to a file that gets processed daily. The hard part is how to turn the right-click event into an action: can Neo4j / Bloom support event routines? Can it write to a database other than the one that underlies the current graph (i.e. the repository of data-change requests)?

I think you're going to need a full stack app to accomplish what you want. Neo4j is awesome and it's query editor is awesome, but in the end it's still just a database just like Oracle or MS-SQL. For that front-end user interaction, you'll want to build out a full app. The app could still take some visual cues from Neo4j Desktop by using nodes and relationships, but it'll still be a standalone app. The GRAND Stack is a popular tech stack in the community.

Thanks, Mike.

I thought about driving Neo4j from Python, but I would still need a framework to create the front end, which I now realise will be the hardest part.

Hi Allen,

Did you end up building a gui? I am in a similar situation and was wondering about your solution.

Thanks so much.

Ari