Specifying Link Types in a Zettelkasten

This idea is being increasingly discussed. People are on board with the idea of linking notes, but this prompts the next question “what kind of link?”

Add support for link types

Some possible candidate solutions

I think this is something worth pursuing.
@msteffens

2 Likes

Thanks @Alex for the compilation of discussions around link types (aka “typed links” aka “semantic links” aka “qualified links”).

As stated in one of the above linked threads, I’m convinced that link types have a huge potential to further advance what knowledge management software can do. Being able to add semantic markup like this will also help machines to better understand our notes and, in turn, help us again filtering, analysing and making sense of them.

What’s true for bibliographic citations also applies to links between notes: We should not only be able to cite/link to some other paper/note, but also state why we’re doing so.

I’ve recently argued for an inline link format like this:

[[optional link type(s)::LINKID]]

or, if link titles / alias names are supported:

[[optional link type(s)::LINKID|optional link title]]

See:


I’ve also implemented this format in my own app and it seems to work quite well (when it’s fully done, I’ll post some screen capture).

2 Likes

As stated in one of the above linked threads, I’m convinced that link types have a huge potential to further advance what knowledge management software can do. Being able to add semantic markup like this will also help machines to better understand our notes and, in turn, help us again filtering, analysing and making sense of them.

Fully agree. Indeed, for certain areas of my knowledge work, I’ve wondered whether a formal relational or graph database would be best suited to doing the analyses and sense-making I hope for. And I think they would and the capabilities exist right now. But the barrier I think for me and most others would be how cumbersome data entry would be comparable to the flexibility of unstructured, natural language notes.

The exciting possibility, however, is the potential to take advantage of the capabilities of a database while interfacing with such a system through simple notes like in a ZK.

I think we’re closer than not. I’m intrigued by tools like https://grakn.ai/, which I could see working very well for my research purposes. If somehow I could work through notes but feed the notes to something like grakn, it would make querying and inferences more powerful. I especially like the possibility of making new inferences (knowledge not explicitly programmed into the database but derived from the things that are).

Hoping that 2021 sees these things come to fruition. There is so much activity in the space of knowledge management right now. Definitely expecting a lot of advances this year.

1 Like

Yes, I agree that integrating one’s notes archive with a dedicated tool for analysing one’s data will be a powerful combination.

For this reason, I’m also convinced that parsing the note’s body text into a data model of knowledge elements & relations, and exposing this data model in form of an API will be key.

As an example from my own app, here’s a screenshot of its API showing some of its scripting classes & properties. Expanded are the (partly writable) properties of the currently selected note, incl. its related items (cited & citing notes, plus assigned keywords, label, file, publication, etc):

1 Like

Nice work @msteffens! We’re on the same page. If for nothing else, you’re building the tool that you’ve always wanted to for yourself. I’m jealous of your ability to do that :slight_smile: Keep up the excellent work.

1 Like

FWIW, I’ve implemented link types for Keypoints. Here’s an example with some simple mock-up notes:

As also discussed above, link type(s) get inserted in front of the note ID, either via auto-completion or by drag+drop. Link types can have a color, and they’ll appear as colored edge labels in the graph visualization.

Clicking a link type in a note or graph will select it in the “Link Type” filter view (the left-most view in the screenshot above). As a result, the main notes list will only show notes that were linked using that link type, and the graph will bolden the arrows/edges matching the currently selected link type(s).

Instead of using link types to describe the nature of a link (as in the example above), I’ve also found it kinda useful to (mis)use this feature to add link tags instead. These would describe what a link (and thus the linked note) is about. Here’s an example for an overview (aka structure/hub/MOC) note:

@msteffens Thanks for sharing the latest feature of keypoints. Nice work! This looks very powerful. Can’t wait to try it out.

1 Like