Best tool to draw knowledge graphs

Hi guys, I'm looking for a tool where I can draw and model knowledge graphs to place in documents and reports. Something similar to Astah for UML. Do you know any tool with which I can do that?

Thanks in advance!

Arrows is the go-to tool for graph db modelling - Arrow Tool

1 Like

Thank you for your answer, Terry, seems to be a really simple tool and meets the requirement. Do you know if it is possible to open a previous saved model?

I've used the Export Markup button to both copy out and in XML, seems to work in both directions.

Thanks for suggestions. I recently started using the "arrow" tool for graph data modeling, its super cool and more importantly its free. While watching a webinar recently I came across a variation of the same "arrows" utility i.e What I like about this is, to represent the data domains using colors (attaching the image file for reference). However somehow it did not allow me to download/use. Wondering anyone had luck using/exploring it??

Looks like the utility I mentioned above is only for internal purpose and not available in public domain.

First of all thanks for sharing this link! it's the first time I know this new arrows tool. I think the visualization is great and we can choose from 4 different themes. The only thing is we cannot import by markdown or CQL and have to start from zero. But looks like it's available to the public now and the download icon works for me


I came across this resource that might be of interest to exploring other Graph tools. I haven't looked at all of them but these appear to have some interaction with Neo4j - Graphleon, Hackolade, Graphware-Hume, NodeEra, and Arrow. Some also have free/student versions. Look at this page for further suggestions: Graph Data Modeling Hall of Fame

I would highly recommend Hackolade. Been using for 3 years for Neo4j , Cassandra and MongoDB.

Great tool.


Looks good unfortunately limited to 14 day free trial and 75 euro a year subscription otherwise. At least for a beginner a free option would be better.

@mp.chean, check with their sales. I got some discounts. its holiday season also ..

1 Like could be open source or deploy on offline line ?

Another hand up for
It's a lot better than hammering in cypher code for manually entering data. I choose to store my data in the local browser storage (firefox.) I also backup the graph by exporting to .json files. I can import those into an empty arrows map and reconstitute the graph that I saved out.
--My second Knowledge Map of the Molten Salt Reactor Industry has gotten so large that I've broken it into multiple arrows maps (by saving and importing .json files.) I enter them into the Neo4j browser by exporting cypher code blocks from each arrows graph. I cut and past one after another into the Neo4j browser entry window. Then I have a LOT of dragging nodes into a sensible graph.

How do you delete a Node with this tool? It's not obvious to me how to do that.


How do you delete a Node with this tool?

'this tool'? if then if you select / click the node and hit your [delete] key on your keyboard the node should delete

Thanks. Somehow it didn't work for me at first. (Yes, the Arrow tool.)

Yup. And be careful that you've only selected what you want to delete. There's no undo in arrows (that I've found.)

Is there a way to import the exported JSON back into Arrows?

I'd like to be able to keep the knowledge graph under version control. (Also, if there is an accidental deletion, it would be nice to be able to go back to a previous version.)

Yes. I've exported to JSON for backup. I also import from JSON into scratch files to separate out several arrows maps from one overcrowded arrows map making them easier to work with. I only wish arrows was more robust (not just running in a browser window.) It gets glitch-ey, doesn't work as smoothly as a dedicated app could (all of a sudden I have the wrong thing selected and nodes zooming way off the map.) It would be nice if it was the optional smooth running GUI manual data input into Neo4j Desktop.

How did you do an import of JSON. I didn't see anything in the Arrows app that allowed for it.

(I'm probably missing something obvious...)