Modeling tools

As we saw in Chapter 4, Modeling Data for Neo4j, modeling for Graph databases is just as important as ever. Even though there is no external schema overlooking our data model by default, there is still a clear and important need to model. The way to define the structure of the data that we are planning to store in Neo4j needs to be documented in a clear and understandable fashion. In this section of our book, we will outline two frequently used tools that we can suggest for the development of our graph models:

  • The homegrown open source toolset developed by Alistair Jones and GraphAlchemist, appropriately called Arrows
  • The commercially developed and supported toolset of OmniGraffle

Let's provide a bit more detail on each of these tools.

Arrows

Originally started by Neo Technology's, Alistair Jones (www.apcjones.com) as a side project for graph documentation and visualization, the Arrows toolset today enables very easy and useable documentation of graph database models. The tool is available online at www.apcjones.com/arrows and provides very basic but advanced graph drawing capabilities.

Arrows

The original Arrows tool at work

The nicest thing about the Arrows model is that it enables exact mapping of the property graph model of Neo4j onto the drawing canvas. Its automatic scaling and alignment features are also extremely useful.

The Arrows toolset, which is an open source project publicly available on https://github.com/apcj/arrows, was subsequently adopted and forked by the team at www.graphalchemist.com and enriched with a new data format (based on JSON instead of XML) and coloring possibilities.

Arrows

The forked graphjson tool at work

You can find the documentation on www.graphjson.org, the code on https://github.com/GraphAlchemist/GraphJSON, and a working example on www.graphjson.io for you to play with.

Now, we can turn our attention to a better-rounded modeling tool that has been around for years, and provides lots of mature capabilities: OmniGraffle.

OmniGraffle

OmniGraffle (http://www.omnigroup.com/omnigraffle/) is a diagramming application made by The Omni Group (http://www.omnigroup.com/). OmniGraffle is built only for Mac OS X and iPad. It may be used to create diagrams, flow charts, org charts, illustrations, and graph database models. It features a drag-and-drop WYSIWYG interface. Stencils—groups of shapes to drag-and-drop—are available as extensions for OmniGraffle, and users can create their own stencils, for example, to get easy access to property graph editing requirements. In many of these respects, OmniGraffle is similar to Microsoft Visio.

OmniGraffle

The OmniGraffle modeling tool at work

Having used OmniGraffle for a number of models, I believe that it provides excellent capabilities to draw larger and more complex models. The multilayer capabilities and rich drawing palettes allow you to integrate the model into broader documents that can be used for other purposes as well. The only major negative aspect at this point seems to be its limited support for the Windows platform.

With that, we have covered the important tooling additions that we wanted to provide to our book and are ready to wrap up.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.223.107.85