Replies: 4 comments 1 reply
-
Interesting topic - thanks! I don't have answers, but it's still easy to respond. OOP in programming: while it's true that OOP is a dominant methodology and students are often taught to follow its principles rigidly, the reality is different. The main goals of OOP are code reuse and extensibility, but it's just one of many ways to achieve those goals. Some languages, like functional ones, provide other means and don't need OOP at all. On the other hand, even OOP languages have many concepts that don't map one-to-one to OOP or even contradict it. One simple example: a Help Browser might internally use a web‑browser component to render help pages (an “is‑a” relation in design) but remove or disable all extra browser features, resulting in broken inheritance strictly speaking. In short, OOP has its place, but it's far from being a universal concept. Frames in AI: I've seen frames in books from the 70s, but I'd assume they are mostly irrelevant and forgotten in mainstream research nowadays. Hierarchy is a very useful modeling device in many contexts; it's often the first tool we reach for. If your task admits a clean hierarchy, you're in luck, but it quickly hits its limits. Even organizing files on a FS: where do you put a music file — MyFiles > mp3 or Music > Rock? Semantic graphs: today there are broadly two branches of AI — machine learning and symbolic/logic inference (see ASP, etc.). These systems are often very successful and present knowledge as sets of predicates. Long story short, semantic graphs as objects and relations between them are indeed a powerful device to model the bulk of knowledge. Again, there are alternative representations and extensions that aren't, if at all, easily presentable as semantic graphs. In your example you used predefined relations like How'd you store a weather prediction or a GPS location known only to within say ±20 meters? - just to give you one example of semantic graph limitations. In general, semantic graphs are not the best choice for incomplete, contradictory, unreliable, or imprecise data - in other words, for most real-life scenarios. Imagine for a sec a blurry or distorted semantic graph to accommodate such data. Regarding meaning: If we define knowledge in terms of the logic-inference AI branch, why not define the other missing part - meaning or understanding - in terms of the opposite branch, machine learning: as values of thousand‑element vectors or tensors, called embeddings, that we train NNs to calculate. When an NN calculates the "embedding" of a given image or text, we say it understands what is depicted in that image or what the text is all about. To summarize, while these concepts are uncertain and ambiguous in general, it's easy to follow practical and utility considerations by focusing on your task at hand. For note taking there are several methodologies like PARA (which is mostly hierarchical) or Zettelkasten (which is mostly graph‑based). A good note‑taking app supports at least one established methodology. So. instead of meaning of meaning you just ask how to better support this or that methodology. On the other hand, a good app for you personally mirrors the way YOU capture knowledge and work with information, which is different for each person. |
Beta Was this translation helpful? Give feedback.
-
It feels like you argue with some other ppl mostly, not me. It also feels heavily LLM‑generated/edited. I mostly recognize the ideas you talk about - the schools of thought and movements in different fields and the ages they originate from. I know they are/were huge and fueled a lot of debates in scientific circles. But I neither agree nor disagree with them, nor am I interested in arguing. Everything you said makes sense to some degree, but I don't believe any of these approaches can be praised as a universal formalism. From a practical POV, it's enough to be familiar with them in order to apply whatever device proves useful to solve the task at hand. The only thing of substance I found in your response is a scalability property. But again, the way you talk about it feels off. Storing data in MD or a database, for example, has nothing to do with scalability per se. DBs are scalable because of indexes or caching they provide. But if an app builds caches or indexes "manually," it can be as scalable a solution as storing data in a DB. Ofc scalability is important, but sometimes not the most important property. Python is not a scalable language at all; it's easy to write small scripts, but it is hard to write professional software because of its untyped nature, but billions of ppl learn it at any given moment, perhaps only to use it for a few months and move on. The other thing I found amusing is WordNet. 15 or so yrs ago, when I worked with it, it was an everyday staple in the scientific community. Now I learned the project is discontinued, implying that the whole era in scientific thought WordNet refers to is quietly being phased out, if not gone already. Lastly, you throw vague Wittgenstein‑ish ideas as if you're not familiar with the whole post‑structuralist school and what they say about his work. You are most likely more versed in this field than I am, but just in case you aren't, you might want to look into post‑structuralist works, they had a lot of relevant and ground-breaking ideas as well. Cheers. |
Beta Was this translation helpful? Give feedback.
-
Lets leave it at that, Thank you for a counter view! |
Beta Was this translation helpful? Give feedback.
-
Thinking a bit. I think I found a simple word encompassing everything I said: Its just Ontology. Here is a good video: Here is the current most standard software for ontologies: Since I am only interested in note taking I will try to use it next to trilium to compare their capabilities. thus: ontology engineering becomes just note taking. This is a standard what an ontology should be able to do: Sooo maybe this discussion can be closed, as I only see now two possible camps with lots of opinion variants: Either being practical or thinking about it more abstractly. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
TL;DR
TL;DR: Notes = concepts. Titles are not meaning but pointers. Inheritance in programming and psychology’s semantic networks both suggest how Trilium could align with knowledge structures. Below, I share some thoughts, and hope to reveal a bigger pattern in knowledge organization.
Isn't note taking inherintly object oriented?
Let’s talk about the structure of semantics (Meaning) in the context of note taking. I assume a setup where each note refers to a concept, while the title of the note is just a name for that concept or maybe a help to remember that concept again. I just want to give some food for thought on how our semantic knowledge might be built up.
That is: we assume that "Title" refers to a meaning, but isn't the meaning itself.
Semiotic Triangle

Further reading material: The Meaning of Meaning 1
Some Structure of Meaning
If we have the following structure:

It follows, that:

However, the note Arms will not be the same as in the case Human, but will be implemented slightly differently.
What I noticed is that it is extremely similar to three concepts:
In Programming
Inheritance:

2
In Psychology
Standard literature: Principles of Semantic Networks 3
The same concept can also be found in cognitive psychology:

7
In cognitive psychology, semantic networks use feature inheritance (Merkmalvererbung): properties of a super-concept are passed down to its sub-concepts through relations such as is-a (class membership, e.g., a sparrow is a bird) and has-prop (property assignment, e.g., a bird has wings). In this way, knowledge structures capture both category hierarchies and shared attributes — just like in our note structure.
In AI
Frames is technically an AI concept 6
Conclusion
There are a lot of concepts across domains circling the same question: what is the structure of meaning?
This makes me wonder if knowledge is inherently hierarchical and networked (with is-a and has-prop relations), and whether certain features from programming could help us improve how we think about notes as semantic capturing devices.
Why is it Relevant for Trilium?
Understanding the bigger picture of how Meaning is structured could help align future features in Trilium with established scientific principles of knowledge architecture.
In addition, every individual workflow ultimately captures meaning — and anything meaningless, by definition, cannot be captured (Wittgenstein, Tractatus Logico-Philosophicus, Proposition 7 89). If we architect Trilium according to the architecture of meaning itself, then any workflow that captures meaning will naturally align and work.
Appendix
Further interesting Concepts to read about:
In Linguistics
https://www-users.york.ac.uk/~ez506/downloads/L140%20Handout%20-%20homonyms.pdf
https://translationjournal.net/journal/42synonymy.htm?utm_source=chatgpt.com
In Computer Science
https://wordnet.princeton.edu/
https://www.ibm.com/think/topics/knowledge-graph#:~:text=A%20knowledge%20graph%2C%20also%20known,illustrates%20the%20relationship%20between%20them.
Biology
https://www.igntu.ac.in/eContent/IGNTU-eContent-310821034528-B.Sc-EnvironmentalSciences-4-ManojkumarRai-SystematicsandBiogeography-1-3.pdf
Chemestry
https://iupac.org/what-we-do/nomenclature/
In Philosophy
https://philpapers.org/archive/SMIO-6
https://en.wikipedia.org/wiki/Meronymy_and_holonymy
Resulting Questions
Footnotes
https://pure.mpg.de/rest/items/item_2366948/component/file_2366947/content ↩
https://dev.to/m__mdy__m/exploring-inheritance-in-object-oriented-programming-k0e ↩
https://doi.org/10.1016/C2013-0-08297-7 ↩
https://www.khanacademy.org/test-prep/mcat/processing-the-environment/memory/v/semantic-networks-and-spreading-activation ↩
https://en.wikipedia.org/wiki/KL-ONE ↩
https://en.wikipedia.org/wiki/Frame_%28artificial_intelligence%29 ↩ ↩2
https://www.mdpi.com/1099-4300/12/5/1264 ↩
https://www.gutenberg.org/files/5740/5740-pdf.pdf ↩
Wittgenstein says: Whereof one cannot speak, thereof one must be silent. ("Wovon man nicht sprechen kann, darüber muss man schweigen"). ↩
Beta Was this translation helpful? Give feedback.
All reactions