You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Background
One very useful feature in Roam Research is that you can embed blocks from one page in another page, or in another block. You can for example do something like:
Assumptions:
Socrates is a man
All men are mortal
Rules:
If P(X) for all X having Q(X), and Q(a), then P(a)
Deductions:
Socrates is mortal
Applying ((If P(X) for all X having Q(X), and Q(a), then P(a))) to ((Socrates is a man)) and ((All men are mortal)), we get ((Socrates is mortal))
For blocks, Roam also tracks where they are referenced.
Implementation idea
I think to implement this, it would be good to switch from storing the Slate pages directly as JSON (in a custom property) to creating a custom schema and storing them as entities.
Background
One very useful feature in Roam Research is that you can embed blocks from one page in another page, or in another block. You can for example do something like:
For blocks, Roam also tracks where they are referenced.
Implementation idea
I think to implement this, it would be good to switch from storing the Slate pages directly as JSON (in a custom property) to creating a custom schema and storing them as entities.
So, for example, from this Turtle:
To this Turtle (based on https://ontola.io/blog/ordered-data-in-rdf/):
With this representation, you could have a note embed another note's block by just adding a triple linking to it.
The text was updated successfully, but these errors were encountered: