Welcome! Please see the About page for a little more info on how this works.

0 votes
in On-Prem by
edited by

Hi I made a quick search in this channel to find tools for visualizing Datomic schema. The most promising tool I found was Hodur Datomic Schema. This is nice because you can create entity types and connect them through attributes. I would like to share with you an example I made. Here is a simple Datomic Schema in Hodur Descriptive Domain Modeling Engine EDN format and here is my clojure gist to run and output the result. There is a better Hodur schema visualization using GoJS library but I have not figured out yet how to make the http web server to work with the Hodur visualizer clojurescript it seems users have issues with it.

OK that said, I am aware that in Clojure you are trying to break away from entity types, object types in general and work with attribute oriented modeling. But the way you are modeling schema you cannot escape from namespace prefixes and these imply entity types. In any case it is standard practice in any significant large IT project that users want to see and work easily on a white-board with some kind of graph data model that represents an abstract data model. That was the scope of Hodur I guess. In the RDBMs world and more recently in Graph DBMS there are great tools to visualize both the schema and data. So how do you visualize the data modeling process and it's evolution in large projects using Datomic ?

I had a quick look at schema-cartographer.

  • It creates schema-cartographer dependent edn files when you download schema transactions and schema files from their Web APP UI (see schema.edn) and (schema-txs.edn)
  • You have to work everything on the UI. But I think you cannot download and run this independently on your premises.
  • There is this Create a schema file for an existing annotated ON PREM database from a REPL but again you have to load the resulting output file in the UI that resides at https://schema-cartographer.com
  • It is not flexible enough and it will result in poor visualization when you have a big schema and/or you want to view part of the schema
  • The schema-cartographer UI says GoJS 2.0 evaluation (c) 1998-2019 Northwoods Software Not for distribution or production use gojs.net

So what tool Cognitect people use to visualize Datomic schema. Is that the tool ?

1 Answer

0 votes

Cross Posting From Clojurians Slack

Link to thread

"For anyone reading this thread the best available tool for processing native datomic schemata at the time of reading is schema-cartographer and it is free including the UI web app tool (thanks again @jarrodctaylor).

I have played both with the UI and the serialization of schema into edn files. It takes some time to become adapted to the schema language/format and absorb the differences from the Entity-Relationship diagram and modeling but it definitely worth it.

Newcomers into Datomic DBMS should pay attention that schema-cartographer utilizes Datomic Client-peer server connection, i.e. it requires datomic.client.api but it is not hard to read the code and change it to work with in-memory database and other kinds of connectivity. "

Welcome to the Datomic Knowledgebase, where you can make features requests, ask questions and receive answers from other members of the community.