SmSn's features in 250 words - synchrony/smsn GitHub Wiki
Semantic Synchrony ("SmSn") is a toolkit for personal knowledge graphs. The front end runs as a major mode in Emacs. The back end is a standalone Java server with file-based storage. Semantic Synchrony aims to be as uncomplicated as a wiki or text editor for taking notes, sharing notes, and collaboratively editing notes with the help of version control software such as Git. In the process, it creates a true graph of notes, much like the network of concepts in a human brain. SQLite and Apache Lucene are used for indexing and search, while notes are stored as plain text files that can be version-controlled.
Notes in the graph contain text. Semantic Synchrony requires adherence to no fixed schema; ontology is emergent, with the user inventing categories as needed. Notes can contain markdown text. Hyperlinks in markdown can point to other notes in the graph, or to anything else with a URL. Note references in markdown allow for reusable user-defined relationship labels.
Notes carry optional "priority", "weight" (importance) and "sharability" properties, which affect how they are displayed, and under what conditions. The graph can be traversed stepwise along edges, or through text search using the Apache Lucene query language. Shorter notes, and notes with higher priority and weight, rank higher in search results.
Knowledge graphs can be selectively merged. The data-universal and data-public repositories were created that way; they contain the public and universal, but not the personal or private, notes from the contributing users. The git history of the graph is itself a (read-only) part of the graph.
Semantic Synchrony imports from VCS format (one plain-text file per note). It exports to VCS, RDF and LaTeX. The first author rendered his PhD thesis in LaTeX from part of his graph.