I have a neo4j database on the server side, and I’m building a service where users can explore the data in my database.
I envision the users be able to select a node, then interactively expand its neighbors on the direction that is interesting to them.
I like the Explore tool that comes with neo4j Desktop 2.x, and I am exploring how I can use this tool for my use-case. Specifically:
Is embedding Explore on client side is supported, where the tool is shown on the user’s browser, and configured to query my database.
If the above is possible, is there a native solution for user AuthNZ. I can think of a service and API gateway with built-in user authnz (e.g., oauth2.0/oidc). But I wonder how that architecture can work with a neo4j database and the Explore tool.
Is there a native way for API or query throttle/size limit per user. For instance, n nodes and e relationships per hour.
If these are outside of scope for Explore (neo4j Bloom), I wonder what are the alternatives the community suggest for such use-cases.
Hi, in case you like the SemSpect exploration tool (https://semspect.de/). It's possible to embed it as an iFrame and also supports authentication via other services. We do also support feature restrictions in case of OEM usage.
Bloom does not have a fully embeddable API however. Authentication would only work via database username/password (or LDAP / SSO if configured). Also, there is no native way through Bloom to throttle/size limit user queries.
To create more custom tools similar to the Explore/Bloom experience, you can use the Neo4j Visualization Library (NVL), which is the graph visualization library that powers Bloom and is free to use: Neo4j Visualization Library - Neo4j Visualization Library