I would like to further elaborate on this idea. We all use many online channels in day-to-day communications. Inevitably while typing somewhere - e.g. in a Discourse discussion like this - we will generate “knowledge” that is more more valuable in a broader context. We would like to collect it somewhere, and maybe even duplicate / archive to different locations.
If I typed something useful here, you might respond “Please add that to the FAQ Solid App”, and I might either take the time for this manual action, or just forget.
So I am thinking of turning things around. Make knowledge aggregation from any channel easier.
In this case the FAQ has a simple “Q&A” semantic vocabulary, but it could also be a “Best-practice”, or a “Rule”, or “Guidance”, etc. In other words some snippet of Linked Data.
Question: How can we make knowledge aggregation easier?
Answer: By aggegrating it automatically from the channel you are currently explaining the knowledge. At this time, while your mind focused on it, you are most likely to describe it properly, especially when you are aware it will be reused elsewhere.
Since the channel here is Discourse forum, there’d be a plugin that parses this quote text snippet from my comment and sends it to a pre-configured aggregation server. This can be any type of application, in this case maybe the “Solid FAQ Center”, a website where it enters a review queue.
There’s a publish/subscribe model, and there can be many aggregators (a federation model) as well as many supported channels (Gitter, Github, MatterMost, etc.). For instance, the W3C may have a Linked Data Glossary wiki that is fed from incoming data that listens to a “Solid” channel. I hereby send it a new term via the imaginary Discourse plugin:
Glossary: POD
Personal Online Datastore. Pods are like secure personal web servers for data. When data is stored in someone’s Pod, they control which people and applications can access it. A pod lets people store their data securely in a decentralized location.
Federation
I’ve had this idea for some time. It would fit Solid perfectly. It is also similar in concept to the Murmurations protocol. Now Murmurations has the issue that the index server is centralized. So I imagine that to be federated instead, using ActivityPub and the whole semantic knowledge network becomes both a Solid as well as a Fediverse application. Federation is useful as it removes single points of failure, and at any time there are servers available that allow you to subscribe to channels of interest.
WDYT?
It seems most feasible to me. A MVP would be:
- A single channel plugin e.g. for Gitter with schema + template + config features
- A PubSub server that handles Linked Data snippets, stores in pods
- A consumer that subscribes to the server, presents data, e.g. a FAQ website
- [Optional] Federation, sync between PubSub servers
You can find related discussion and more elaboration by me on this Fediverse sub-thread: