Visualization of output of GDS libraries

I am using cypher and GDS libraries for data analysis (Neo4j Desktop Browser) but can't seem to be able to visualize the graphs coming out of GDS. My understanding is that GDS libraries return in-memory graphs, which can't be shown in the Browser.

My Question:

  • how do people view in-memory graphs?
  • am I fundamentally using the wrong workflow and should be doing something else?
    thanks
    S.

I'd like to clarify some more. The workflow I am planning is:

1- do some cypher and GDS library queries on the database
2- view the results and visualization of the graph
3- iterate

I'm trying to figure how to visualize the graph in step 2. It seems that in memory graphs generated by GDS are not viewable in the Desktop Browser.

Could folks (or Neo4j customer support) provide some guidance on what the right thing to do here is?

thanks again,
S.

Hello @saman ,
I could think of the following for step 2:

Are you using any client or are you directly using Neo4j Desktop to interact with Neo4j?

Thanks @florentin_dorre

I'm using Neo4j Desktop directly. I was considering the browser from yWorks, but it seems that support for 3rd party clients has been discontinued by Neo4j.

Thanks, so for the step 2 you suggested would I create a new database each time I run a query/GDS function and want to view the results ?

Hey @saman

Also have a look onto NeoDash. With NeoDash you can build a report / dashboard by clicking together a couple of tiles. Each tile is powered by a cypher query and that query can also involve GDS executions (e.g. Algorithms in Stream Mode).

(NeoDash is also supported in Neo4j Desktop)

thanks @kevin.gomez . My use case is basic iterative data science/data discovery. NeoDash seems to be oriented to the dashboard use case, which is about getting the queries right and then not modifying them until there's a need to do so.

So in @florentin_dorre 's suggestion above, do I need to create a new database every time I run a GDS function and want to view the results?

If someone from the community or Neo4j staff could sort me out, it would be much appreciated. I think I'm trying to do something quite basic - i.e. run a gds function and view the resulting graph.

I'm following the suggestion given by @florentin_dorre to write the graph from the gds function to a new database in order to be able to use Bloom to view the results. I'm getting the error an error that the database I'm trying to export to already exists (even though it's a new database name and doesn't show up in "SHOW DATABASES").

I saw here that the community edition (which I am running) only supports one standard database (Database administration - Operations Manual)

Is that why it's failing? If so, then how do I get my results into Bloom with Community edition if I can't export to a database. Needless to say, I'm not prepared to commit to Enterprise edition until I know that Neo4j meets my needs.

As background, this is my error:

Neo.ClientError.Procedure.ProcedureCallFailed

Failed to invoke procedure gds.graph.export: Caused by: java.lang.IllegalArgumentException: The database [bob] already exists. The graph export procedure can only create new databases.

Meanwhile, "Show databases" only shows the "System" database and the "Neo4j" database.

Sorry @saman I missed the notification.
The error message does sound unexpected.
Could you still try DROP DATABASE bob to figure out where the issue lies?

You could also still try out the stream approach if you are using Neo4j Browser

Other option if you want to use Neo4j Bloom:

If you are still exploring, you can also write-back to the DB and then visualize the result (see docs.