The bmannconsulting.com website
1Bluesky is the biggest user of the AT Protocol, and their definition of a shortform, microblog Lexicon limits each post to 300 characters[^chars].
2
3The [WhiteWind](https://whtwnd.com/) blog was one of the first third-party lexicons to exist on AT Protocol, defining a longform Lexicon storing Markdown posts. There is continued interest in a variety of longform lexicons, and my personal interest is in notes that can form a knowledge graph.
4
5My practice of writing linked notes rather than more article-like content goes back to 2020 for my own website. There has been a rise in awareness and usage of grandly named approaches like tools for thought, second brains and so on, that can be more simply be called notes. Everybody takes notes in one way or another!
6
7We can name [[Notion]] as an extremely commercially successful version of fancy notes, and a long tale of fan favourites that are more local, indie, and/or open source like [[TiddlyWiki]], [[Roam]], [[Obsidian]], and [[LogSeq]].
8
9The challenge with these systems is that ultimately they are all single-user systems. I have my pile of notes, which I do funky things to [turn into a website](https://bmannconsulting.com). Obsidian has Obsidian Publish, where they do funky things to turn your notes into a website.
10
11And from there, we can link to notes like any other web page.
12
13But what if we skipped the part where we turned things into "web" pages, and created a network of linked notes forming a knowledge graph, directly? And that graph included the user accounts of note creators, as well as note likers and blockers and other social and other metadata.
14
15## Knowledge Graph Notes on ATProto
16
17The first step of putting Knowledge Graph Notes on ATProto would be to define a longform format that can be used, which is called a Lexicon in ATProto.
18
19Ideally, this would be a very minimal format that works for many uses cases. Here are some initial notes on field definitions:
20
21```
22title
23- optional - can use at:// to address, or convention of first h1 in body?
24
25link
26- optional
27- common use case is to say “this note is ‘about’ this link”
28
29aliases
30- optional
31- array of plain text alternate titles
32
33body
34- plain text? markdown flavoured? or support / extend bsky’s rich text facets for links and @-mentions? (how ugly would this be in plaintext?)
35- wikilinks - [[Link to Note]], works in Obsidian, LogSeq, other systems
36 - the logic is something like “look for other notes owned by this user with this name and link to it”
37 - linking to other notes? have to figure out a syntax, eg. [[@bmann.ca/Open Source]]
38- additional features
39 - e.g. transclusion of at:// -> put a Recipe Exchange, or Smoke Signal “in” a note
40 - might also render common things like YouTube links / support OEmbed
41- character limit?
42
43tags
44- optional
45- array of tags, align with bsky tag definition
46- people have strong feelings about tags! eg no spaces vs spaces, no tags only mentions of other notes, folksonomy vs tag management, etc.
47```
48
49### Knowledge Graph App View
50
51Storing publicly published notes where you've published them to your own [[PDS]] is a nice start, but it's not very interesting without search and browse.
52
53And, for a graph, visualization!
54
55For ATProto, the app view is what can do these aggregation tasks and interfaces.
56
57
58
59This image is a screenshot of my Obsidian notes, highlighting the ATProtocol node and what all is linked to it, and you can see 100s of other notes in the background.
60
61Being able to browse an individual's notes, see notes linked across to other user or topical graphs, and generally to explore data in new ones would be
62
63I also admit that I think that "cool visualization of your data" and "publish data in this format and you'll show up in this interface" are motivators that will make people want to experiment with this format.
64
65### Obsidian Plug-In
66Obsidian is a widely adopted tool for making knowledge graph notes. It also has a wide array of community plugins (including one that can [post to Bluesky](https://bsky.app/profile/bmann.ca/post/3lrnpl25kpc2j)).
67
68Obsidian has its [commercial Publish service](https://obsidian.md/publish), as well as many other workflows in order to publish to the web.
69
70Being able to directly publish to the KGNotes ATProtocol format means that each user's notes could be directly connected to the graph of everyone else's public notes.
71## Interested Projects & Next Steps
72
73I previously kicked off discussion by reaching out directly to a number of people & projects interested in integrating with ATProto and wanting something vaguely longform notes shaped.
74
75
76
77
78
79
80
81
82
83
84[^chars]: yes yes, not exactly characters, rather [graphemes because of Bluesky rich text and facets](https://docs.bsky.app/docs/advanced-guides/post-richtext)
85