For people curious about the Roam API and confused by the syntax, or interested in why Conor went with Datomic/Datascript and not a traditional database, this older talk by Roam developer @mark_bastian is a great overview.

He gives great examples using Spiderman of how even modeling something fairly trivial in SQL is much more complex than in Datomic. But the real kicker is when you're trying to interrogate the data to find recursive relationships.
Right now the Roam data model (at least that's exposed to developers) is just about pages, blocks, and children with tags. Already you can see how finding the page containing a block with a certain tag etc is useful.https://t.co/jWJnuKu1RG
But imagine when attribute relationships are fully represented

You should be able to model the entire Spiderman story in Roam.
Page title: Peter Parker
Child of:: [[Richard Parker]] [[Mary Parker]]
Aliases:: [[Spidey]]

etc, and do these kind of queries.
"Show me quotes about operational efficiency in books by authors who used to be in the military"
"Show me companies in Boise, Idaho, founded by women, whose evaluation is lower than 10X ARR"
Of course, this data can also be used as input to timelines, graphs, etc:

"Show me a graph of my sleep quality versus days in which I ate foods that had gluten in them or not" (where [[bread]] has a page with ingredients::).
One thing I'm curious about is how the Datalog system differs from Wikidata and SparQL, the modeling seems to be kind of similar - you have triplets of entities, like :Oslo :is-a-capital-if :Norway (where all three entities have an id), and you can do graph queries.
So you can ask "Largest city with female mayors", but you can also visualize data in all kinds of ways, like dimensions of elements, children of Genghis Khan, or lighthouses in Norway https://t.co/XvxmEVO9vB
What would it look like to integrate Wikidata with Roam in the future, being able to easily pull in and reference data about entities (cities, authors, scientific concepts)... And build our own Wikidata through inter-Roaming... As well as citations (https://t.co/aP7RSyaGl0) ...

More from Tech

I think about this a lot, both in IT and civil infrastructure. It looks so trivial to “fix” from the outside. In fact, it is incredibly draining to do the entirely crushing work of real policy changes internally. It’s harder than drafting a blank page of how the world should be.


I’m at a sort of career crisis point. In my job before, three people could contain the entire complexity of a nation-wide company’s IT infrastructure in their head.

Once you move above that mark, it becomes exponentially, far and away beyond anything I dreamed, more difficult.

And I look at candidates and know-everything’s who think it’s all so easy. Or, people who think we could burn it down with no losses and start over.

God I wish I lived in that world of triviality. In moments, I find myself regretting leaving that place of self-directed autonomy.

For ten years I knew I could build something and see results that same day. Now I’m adjusting to building something in my mind in one day, and it taking a year to do the due-diligence and edge cases and documentation and familiarization and roll-out.

That’s the hard work. It’s not technical. It’s not becoming a rockstar to peers.
These people look at me and just see another self-important idiot in Security who thinks they understand the system others live. Who thinks “bad” designs were made for no reason.
Who wasn’t there.

You May Also Like