Tool for making pretty data models?
February 28, 2014 7:42 AM Subscribe
I'm looking for a simple way to textually describe data models, and can then produce something visual (an SVG, a PNG, etc.) An analogy would be how "Markdown" is a markup language that allows you to write something in plaintext, that can be converted to HTML.
I've searched high and low - and while there are tons of projects relating to visualizing databases, visual schema designers, or generic graph diagramming engines, I haven't been able to find a simple data model markup language - but I know it must be out there!
I don't need much. I want to describe objects in text, and then have a visual output of boxes with lines connecting. (with one-to-one, one-to-many, many-to-many relations).
Customer
- customer_id INT
- name STRING
- address Address
Address
- street
- city City
- postal
City
- city_id INT
- name STRING
Help me before I start writing this myself!
I've searched high and low - and while there are tons of projects relating to visualizing databases, visual schema designers, or generic graph diagramming engines, I haven't been able to find a simple data model markup language - but I know it must be out there!
I don't need much. I want to describe objects in text, and then have a visual output of boxes with lines connecting. (with one-to-one, one-to-many, many-to-many relations).
Customer
- customer_id INT
- name STRING
- address Address
Address
- street
- city City
- postal
City
- city_id INT
- name STRING
Help me before I start writing this myself!
Here is an article that explains how to render a UML relationship model of the type you're describing, which uses GraphViz for the underlying representation.
posted by Blazecock Pileon at 8:18 AM on February 28, 2014
posted by Blazecock Pileon at 8:18 AM on February 28, 2014
My students use R (r-language.org) to model their data and then some use Illustrator to make it prettier, but R alone sounds like it might fit your needs.
posted by ImproviseOrDie at 3:12 AM on March 1, 2014
posted by ImproviseOrDie at 3:12 AM on March 1, 2014
Response by poster: Quick followup:
@Blazecock Pileon: Helpful article. I compiled Graphviz, and managed to get some output, but the syntax was a bit bizarre and ultimately the result PNG was a bit "meh".
I looked at R, and while I'm sure it's possible to generate some nice pictures, it seemed like a huge learning curve, and more for crunching serious datasets than just drawing some boxes and arrows.
I ended up finding a lot of nifty javascript libraries that do. For example: vis.js lets you make nifty, animated, jiggly network graphs right in the browser.
posted by kamelhoecker at 6:01 PM on March 11, 2014
@Blazecock Pileon: Helpful article. I compiled Graphviz, and managed to get some output, but the syntax was a bit bizarre and ultimately the result PNG was a bit "meh".
I looked at R, and while I'm sure it's possible to generate some nice pictures, it seemed like a huge learning curve, and more for crunching serious datasets than just drawing some boxes and arrows.
I ended up finding a lot of nifty javascript libraries that do. For example: vis.js lets you make nifty, animated, jiggly network graphs right in the browser.
posted by kamelhoecker at 6:01 PM on March 11, 2014
This thread is closed to new comments.
posted by spaceman_spiff at 7:53 AM on February 28, 2014 [2 favorites]