Zettelkasten vs. org-mode

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: