I know nothing about category theory, but would just reiterate what’s developed into a mantra of mine:
Abstract theory that helps structure the UX in such a way that it is more transparent and clear to the end user = good.
This relates to the point that I and @cobblepot have made, and Ahrens has also made, about ensuring the software is presenting very low friction to generating content.
A user, then, must not be required to know anything about category theory to exploit it in the software, if it’s designed right.
Of course, you’re right, user doesn’t need to know about what the theory is and the theory may not do a lot good to the UX (maybe it will in some day).
My point is just trying to help address the idea of mine on link-tag and showing the possibility that category theory may guide us to build up a note taking system in a more consistent way.
I think it’s more accurate to say that according to @sfast at zk.de, Falgezettel doesn’t really make sense. If you search my name on that site, you’ll see I’m quite familiar with it.
The issue of how/whether/why to integrate hierarchies within and between notes is really, really, complicated!
I don’t know what I think about this, or how it relates to this discussion, now, but this seems a post worth reading? It’s more nuanced than the title suggests.
Very interesting. I like the idea of inherited IDs. It seems to be an interesting hypothesis since I understood that the idea was also thinking about org-mode IDs especially for link management.
There wasn’t! All of my time has been spent trying to run research experiments and analysis without assistance during this pandemic I have barely touched org-roam in months! Some of my work is about to be finished though, so I might be able to pick this back up and create a PR in the coming weeks.
I just followed the link here from another post, and I am very interested in specifying link relations myself. I am curious to know what the most direct way to add in just the essential elements, which from my perspective are
a) a new relation field in the links table
b) the parsing of link text to separate title::relation
c) the placing of relation into generated graphs
The simplest way to achieve all this in v2 is to create link types for each kind of relationship you want, and have them all behave the same way as ID links. e.g. hypothesis-of:uuid, refuted-by:uuid. Org-roam will cache all links, and set the type attribute accordingly, from which you can make custom widgets.
Hi @alan and others, many thanks for pushing link tags (aka “typed links”) for Org-roam!
I am not an Org-roam user but I came here in the hope to discuss link type syntax (and to ideally find a format that would work across different note-taking applications). In other places (see e.g. here), I’ve argued for a link format like this:
[[optional link type(s)::LINKID]]
Personally, I like that this link format can be read in a natural way. For example, when adding this link from within NoteA:
[[confirms::NoteB]]
this would be conceived as:
(NoteA)-[:confirms]->(NoteB)
In order to try out typed links myself, I’ve also implemented typed links for my own app. Personally, I find it really helpful to assign link types, visualise them in the graph, and to filter notes by link type.
However, having read thru this thread, I realise that it’s probably too late to discuss any link type syntax since it seems you’ve already settled for a different format (quoted above). Is this correct? Thanks!
I have been experimenting with adding metadata for different metaphysical relations between concepts, mostly for “x is y”. I do it by adding to the end of the note for e.g. “Dog”:
* Relational metadata
** is
- [[Animal]]
This info can then be extracted from the db from the table links, column properties. I have used this to test some ontological hypotheses to find errors in my reasoning, with the help of prolog.
I’ve noticed this to be quite restricting however; Sometimes I want richer connections than “A is B”, “A contains B”, et.c… Sometimes I want “Given assumptions A, B, C, D, we can deduce E”, to be able to programatically find assumptions and conclusions of a proof. Sometimes I want note X to connect Y with Z as a thought experiment, and conditionally include it when testing metaphysical hypotheses.
It might be possible to model this in the same way, however, this seems much like a hack. It would be interesting to be able to attach arbitrary data structures of links to notes.
One facet of links that I would like to record is the date that the link was created. Chiefly to enable a list of ‘new connections’. In some sense this would be less of a tag and more of a key-value pair associated to the link.