Zettelkasten Forum


[REQUEST] MediaWiki Link Support

I don't think this was ever made into an official request, so I wanted to make sure it was not missed.

@orderinthecourts said:
I was thinking of suggesting a new feature to The Archive to allow titled wikilinks in the form of [[201912032209|The Monad]] as per the MediaWiki specs

https://forum.zettelkasten.de/discussion/comment/3760/#Comment_3760

I think this is a great idea, in large part because it will allow for better semantic linking.

In many contexts, links like this ([[201912032209]] The Monad) present numerous ambiguities. MediaWiki-style link support will help alleviate this issue.

Comments

  • edited December 2019

    I ambiguity the single problem you want to solve?

    Can you present a more comprehensive use case?

  • I can't speak for @micahredding but I'd like the wikilink label to be programmatically parseable. Then I could generate graphs that show not only that two notes are related, but how they are related (the "how" being described by the wikilink label).

    Currently, you can only "label" a wikilink by adding text to the left or the right of the wikilink (e.g. The Monad [[201912032209]]). The label can only be extracted if it's the only other text on the line. This would work for structure notes in which case each line consists only of a label and a link.

    But if the wikilink were embedded in a paragraph, this would be much harder. For example (internet snippet):

    When the Higher Manas principle is first awakened and activated in “animal man” – as occurred for this Earth’s humanity in the latter part of the Third Root Race, the Lemurian Epoch, millions of years ago – the Monad [[201912032209]] can be considered to have become individualised, in a sense, and to have gained its own Ego, its own “I”.

    It's not easy to extract the wikilink label from its enclosing sentence. For example, does the label really begin at "the", or does it begin with "millions of years ago", or even "When the Higher Manas"? If only the label were delimited by syntax, this would not be a problem: [[201912032209|the Monad]]

  • @sfast said:
    I ambiguity the single problem you want to solve?

    Two problems to solve:

    1. Semantic linking.
    2. Future-proofing. MediaWiki is a known standard for semantic linking.

    Can you present a more comprehensive use case?

    I frequently run into cases of ambiguity around linking. Contrived example:

    Peterson frequently makes claims about [[201812061420]] Human Behavior being driven by Mental Models, which are expressed in Sense Memories.
    

    Does the link refer to the claim, or to the concept of Human Behavior?

    Peterson frequently makes claims about Human Behavior [[201812061420]] being driven by Mental Models, which are expressed in Sense Memories.
    

    Does the link refer to a general statement about Peterson, or to the concept of Human Behavior?

    MediaWiki-style links would allow this ambiguity to be cleanly resolved.

    Peterson frequently makes claims about [[201812061420|Human Behavior]] being driven by Mental Models, which are expressed in Sense Memories.
    
  • Back in 2009 when I started with NV, I tried to figure out a way to stay as Markdown-compliant as possible. MediaWiki Links are no such thing. By adopting the [[...]] convention I broke with this in practice. Here's a short rundown:

    • Markdown supports inline ([anchor](http://link.url)) and reference-style ([anchor][link-id] + [link-id]: http://link.url) links.
    • You can put almost anything into the reference Ids in practice.
    • In 2009 I adopted the [anchor][§20191221083530] practice: It was close to the #citekey references introduced in MultiMarkdown. I never defined the link ID manually: any script could do that as a pre-processor step before transforming the result to e.g. a HTML Markdown rendering: generate an associative array of Ids to file paths and append it to the note text: [§20191221083530]: file://path/to/archive/20191221083530_note.txt
    • I found that the anchor text wasn't that useful in practice for "see also" link lists, but I needed to provide an anchor text to make the Markdown link work.
    • [[ID]] wiki links omit the separate anchor text. The thing in the brackets is both the anchor text and the link definition.

    Now what you request sounds like a regular Markdown link. You also seem to not want to lose the ID-based clickability of links. I suggest you combine both where we ended (wiki links) with where things started for me (MD compliance) instead of leaning further into a non-Markdown convention.

    You'd have to see what other wiki-link aware apps do (and please share your findings! :)) but this will do the trick with a strong bias towards Markdown compliance, with clickable ID in The Archive:

    Some text here, then an [anchor text][[201912210730]] 
    that is clickable in The Archive!
    
    [[201912210730]]: file://path/to/note "Append this automatically before conversion"
    

    Heads up: Markdown-to-HTML converters like Marked 2 don't like brackets inside brackets. Any preprocessor would have to escape them so the converter gets content that reads [anchor text][\[201912210730\]] and [\[201912210730\]]: file://path/to/note -- that's a bit more work than my §-sign based prefix, sadly, but at least it is a way out of the conundrum, whereas MediaWiki links are not salvageable at all unless you transform [[201812061420|Human Behavior]] to [Human Behavior][201812061420] in a preprocessor.

    Author at Zettelkasten.de • https://christiantietze.de/

  • I do not think that would make any practical difference. Semantic linking is not a problem for humans but for machines.

    In the course, there is a section called "link context". Basically: A link should be placed after the meaningful unit that you are linking to. After a sentence and the link expands on the sentence etc.

  • @sfast said:
    Semantic linking is not a problem for humans but for machines.

    I do not think this is correct. I'm often confused, looking at old notes, about what specifically I'm linking to, and whether the correct units of meaning have been connected.

    In practice, this means that I'll either have to adopt what @ctietze suggests:

    Peterson frequently makes claims about [Human Behavior][[201812061420]] being driven by Mental Models, which are expressed in Sense Memories.
    

    ...or use something semantically equivalent, like:

    Peterson frequently makes claims about — Human Behavior [[201812061420]] — being driven by Mental Models, which are expressed in Sense Memories.
    

    ...or, what I often find myself doing, adopting ad-hoc outline formats:

    Peterson frequently makes claims that:
    - Human Behavior [[201812061420]] 
    - is driven by Mental Models
    - which are expressed in Sense Memories.
    

    All of these options are probably deficient in some way. But at least in terms of optimizing the reusability and accessibility of information, something like this seems to be crucial.

  • I do not think this is correct. I'm often confused, looking at old notes, about what specifically I'm linking to, and whether the correct units of meaning have been connected.

    I don't mean that you cannot confuse yourself. I wanted to express that with a bit of convention we humans are way more capable to understand the context.

    I interpreted your request that you wanted a feature to solve a problem of pattern recognition and pattern creation. I'll clarify in the following examples on how I approach the problem:

    Link to Jordan Peterson:

    Peterson [[201812061420]] frequently makes claims about Human Behavior being driven by Mental Models, which are expressed in Sense Memories.

    Link to Jordan Peterson makes frequently claims

    Peterson frequently makes claims about Human Behavior [[201812061420]] being driven by Mental Models, which are expressed in Sense Memories.

    Link to Jordan Peterson makes claims about human behavior being driven by mental models

    Peterson frequently makes claims about Human Behavior being driven by Mental Models,[[201812061420]] which are expressed in Sense Memories.

    Links to sense memories

    Peterson frequently makes claims about Human Behavior being driven by Mental Models, which are expressed in Sense Memories [[201812061420]].

    You see: The link context is always the previous unit of meaning.

    But any solution you pick does not depend on The Archiv supporting a feature. It depends on you recognising and creating a pattern of a link context. Sometimes, it is easy to create like "See [[ID]] for more on Jordan Peterson making wild claims" or "Details on his claim: [[ID]]"

Sign In or Register to comment.