DT3 as a N:N Database for knowledge work?


I am working on a topic to which I read several books. And those authors have of course similar thoughts.
My intention is to note a thought and with it the reference to a or multiple books. The centerpiece is a statement of an author (e.g. the world is not flat). Then I will come across other authors with the same or similar thought. Around this thought, I want to reference the authors and adjacent thoughts. Building a network of knowledge. Surfing from one idea of one author to other ideas of the same or other authors. Understanding the connections.

I am pretty sure that DT3 is capable of this, but I would like to understand how.

Thanks in advance.

You seem to be describing something that isn’t inherently built into DEVONthink. DEVONthink isn’t creating graphs, with nodes and edges, etc.

My intention is to note a thought and with it the reference to a or multiple books.

Please clarify what format you’re intenfing to “note a thought” with.

As much as I am a fan of DT3, what you are describing seems picture perfect for Roam Research

Or perhaps Obsidian

DT3 is a great place to store all of your books/documents - perhaps with links to them stored in the above software at relevant points.

But the actual knowledge graph is the forte of those two applications.

1 Like

Thanks a lot @rkaplan! Great applications. I am now giving them a try.

1 Like

What you’re apparently referring to is a relational database with a n:n relation (or rather a n:m, given that the number of authors and thoughts need not be the same).
DT is not a relational database. It is rather an unstructured one, not using tables or so. So there’s no way (I know of) to do what you want. Except maybe using links and backlinks and all that – but I don’t know anything about this.

Could this be a job for tags?

Maybe your groups could be based on books. You could tag authors who contend the earth isn’t flat with “not-flat” along with bios of physicists and notes of observations. That would give you what amounts to an alternate group hierarchy.

When you explore your groups, you might see a tag that suggests something of interest. The reveal tag command will let you divert into the tag hierarchy. Once in tags, the reveal command will hop you over to the group where a note is stored.

I find that I throw away outlines like they were kleenex, but I don’t like to throw out ideas. Sometimes I use DT as if it were the notes panel in another app.

For example, MindNode has a notes panel. Anything I put there is, of course, lost if I throw away the mind map.

Better, sometimes, to write a description of something in a new Devonthink note. In the DT note, I hit control-option-command-c, which copies the item link.

Flip over to MindNode and create a node for the thought in DT, just writing a descriptive title for the node. Command-K pops up the MindNode link dialog, where command-V pastes in the Devonthink link.

So, how to remember those shortcuts? I don’t bother. A glance in the DT menu reveals the shortcut for copy item link. I’m good to go for that writing session.

1 Like

I was thinking tags myself :slight_smile:

Thanks for the clarification question:

Let’s say there is a smart thought in one of the books. For this thought “Don’t eat yellow snow” I have an author and a book as a reference. Here I came across this thought for the first time.
Then when read another book, another author might have written “be careful about snow that is not white, it might be contaminated”. I would like to bring those two thoughts together.
“Snow might not be eatable” - link to “Don’t eat yellow snow” and a second link to “be careful…”

It is to really make notes from the books to work with them and then reference to other thoughts.
Focus is on extracting information in notes.

Thank you. This is an interesting concept. I need to give it a thought.

Just found something that very much goes that way: https://zettelkasten.de/ (content in English). It is a concept from Luhmann.

I’ve had only a brief glance at the Zettel idea. Zettelers are passionate about organizing data. They have well-evolved ways to go about it. DT’s tagging, as best I see, will do everything needed to form a Zettelkasten system. 'Course, that statement may reveal how little I understand Zettelkasten.

Tags didn’t seem important to me at first. Now, I use them for many purposes. Date stamps, status indicators, alternate group hierarchy, or just an ad hoc subset I want to consider in a window by itself.

Consider a server farm. It might make sense to group the servers by data center and rack. Then you might want a separate hierarchy of support teams at the top level, servers one level down, and applications below that. Another hierarchy under data centers could be classified by what cluster each machine is in.

Need to shut down a server for repair? Find the server. Reveal the tag for it’s parent cluster and you see the failover machines. Reveal the tag for the support team and see if any of their other apps will be affected.

Beautiful, now you realize you need to keep track of support vendors. Tag the servers, and now when you call a vendor for repair, you can look at what else they support by going to a server and revealing the tag for the support vendor.

Which is a long way of saying I find tags useful.


Regarding yellow snow, you could associate the notes with links, or you could add a tag called “huskies” to all the water quality notes. The advantage of the tag is when you revealed the tag you would see all members in one virtual group.

If you have many such tags with only a few members, you might want to have a parent tag called “miscellaneous”. That way you could browse your tags without being inundated. Those miscellaneous tags would still be there on the notes.

On a side note, I am inspired by the lofty sources you tap. The earth really isn’t flat (I looked! amazing!) and yellow snow is of questionable provenance. I took your word on that last point.

Thank you @Amontillado for your thoughts. I more and more sense that tags could be true option.

And I sailed the seas and witnessed it also with my own eyes: the world seems not to be flat :joy:. We fully agree on that.

1 Like

I sort of use concept maps with links to the various documents or annotations as my way of taking notes: the way that you can gather annotations in Devonthink has been a bit of an ah-hah for me.

Really do try Obsidian. Google it, watch some videos, etc.

And of course you can integrate it with DT.

Just use Hook.


You may want to use annotation feature for your purposes. Just make an annotation to the file you read (better to use templates with a set of appropriate placeholders). In this annotation you may insert unlimited number of links to any other files and places (in or outside DT) with comments, in line with text or specifically structured. Thus, you will form the connections of this file (file of any kind) to N other files. Each of these N files may have the same connections with N other files, forming what you call N:N.

Devonthink has tools for analysing those connections. It doesn’t have a visual graph for it (don’t know what it adds to possible result), but you do have a simple way to see all incoming and outgoing links of selected file and roam the database using them. More to say, you can get these links with AppleScript and tailor them any workflow you want.

I use DevonThink and Obsidian.

I store all my resources in DT (web clippings, PDFs…). I put all my notes and highlights in Obsidian. You can index your Obsidian vault in DT if you want another layer of figuring out connections. DT is good at finding words that are frequently used together.

In OB, you can make a link back to DT. I also put information about the book in the YAML of the document. You can create one large note with highlights. You can either use block embeds to link notes or use the refractor plugin to breakdown a longer note into smaller ones to link later.

I personally love the Dataview plugin as a way to automatically pull in information. You could put Title:: Yellow Snow at the top of every note you made from the Yellow Snow book. Then on each note you could identify the main topic Topic:: Huskey or Topic:: Snow Production… These topics could be tags if you want to ensure the same spelling and consistency. Then using Dataview you could either pull up links to all the notes in the Yellow Snow book and sort them by topic or you could pull up all the topics and sort them by book title.

1 Like