Semantic Synchrony: An invitation to coders
Semantic Synchrony serves a knowledge graph. Graphs can be selectively shared as a set of Git repositories; if so, their full git history is available within the front-end. The graph can be viewed as trees, traversed stepwise, and searched for keywords using boolean logic, using the Apache Lucene query language.
More front-ends are possible; the server communicates using simple JSON. smsn-mode, the Emacs font-end, resembles an ordinary text editor. It requires no familiarity with Emacs, and only 25 commands to use.
Our shared graph can also be directly accessed via Gremlin Console. Gremlin is a metalanguage for graph programming, part of Apache Tinkerpop. (If they change the details of Neo4j or Titan, and you write something in Gremlin, your code is safe.)
The server code is Java. The front-end code is Emacs Lisp. Those two communicate via JSON. We want to incorporate Eta, a flavor of Haskell that compiles to the JVM.
The graph query language is Gremlin.
Markdown is becoming critical to the data model, as is described next.
Data model in flux
The model is expanding from a graph with unlabeled edges to one with optional edge labels. Labeled edges can be created as Markdown headings, and nodes can serve double-duty as edge-labels.
The concept of a source of data is expanding. It used to have to be a graph, but now it includes git repositories, and more forms are on the way.
It's not as much code as it appears
We are only two developers right now. You could have a huge impact.