Yes. Org-roam manual (excerpt below) makes it explict that it is designed with the Zettelkasten method in mind. One unit of thought per note is encouraged, organised in a flat structure (as opposed to a hierarchical structure) with links to other related notes. And yet, this is by no means forced. You can use it in the way you see fit.
Org-roam is the slip-box, digitalized in Org-mode. Every zettel (card) is a plain-text, Org-mode file. In the same way one would maintain a paper slip-box, Org-roam makes it easy to create new zettels, pre-filling boilerplate content using a powerful templating system.
I do not understand the mathematical precise definition of DAG (directed acyclic graph), but Org-roam data is probably not acyclic. You can do this to make a closed loop (do I understand it correctly?):
- Note A links to Note B
- Note B links to Note A
Org-roam uses SQLite, which is probably not a “real” graph database (I do not know if a choice of database management system is relevant for the definition you have in mind; apologies if I am talking nonsense).
You can see the database schema by inspecting the variable org-roam-db--table-schemata
.
In addition, there have been some related discussion threads that you might find interesting: