HyperKnowledge

We want to establish a Web of Knowledge. This allows to see how any idea is connected with other ideas in debates, through evidence, citations, influence, consequences, etc.

There have been, and still are many attempts to create such a Web of Knowledge, and rather than be one more such attempt on our own, we want to help unify the forces of knowledge workers, both individuals and organizations, into an interoperable mesh of knowledge where everyone can contribute. We also want to make it practical to develop knowledge applications that consume and expose knowledge on this mesh.

The protocol supports interoperability of knowledge at personal and organisational levels and federation of knowledge sources so that knowledge can be synthesised to augment our ability to learn, understand, to be understood, solve problems and achieve goals.

Many of the details are in flux. Please contact us to discuss this with us.

We can distinguish three layers:

Hyperdocument layer

HyperDocuments are composite structures, and a composite’s subdocuments may either be composites again or document fragments. Document fragments have a mimetype and optionally an inherent viewspec. The containing document may override the subdocument’s viewspec. In the case where the subdocument is itself a composite, the parent may even override the traversal strategy of the subdocument (to identify the subdocument’s fragments), so it would seem to override the content.

Some document fragments refer to concepts, either with RDFaLite spans, because a WebAnnotation anchored in that document fragment refers to that concept, or because the document fragment is supposed to stand in for that concept. Inspirations: Augment, Acorn

Hyperknowledge layer

The hyperknowledge graph consists of entities which express concepts (aka topics) through data structures (known as subject proxies in the topic map literature), and can be associated to documents. Those data structures are basically key-attribute values, with many caveats. Some entities express (n-ary) associations between other entities, where each member of the association plays a role. Natural language statements often correspond to (possibly many) such associations.

Anything that can be thought can be referenced as the subject of a statement; in particular, associations, feature values, etc. can be member of associations. In other words, the entities form a generalized hypergraph. Inspirations: OWL, Topic maps, Conceptual graphs

Distributed hypergraph

This hypergraph is distributed. There is never a single owner of a concept; anyone may make statements about features of concepts, or how they are related. We are proposing an ecosystemic approach to knowledge, where many processes produce and consume knowledge, and maintain distinct knowledge bases, which we call knowledge realms.

More precisely, each knowledge process consumes and produces immutable Knowledge Events, representing assertion or retraction of statements about concepts. Social and technical rules direct which of those events are accepted within a given knowledge realm maintained by a given knowledge process. In many cases, events streams coming from another domain will have to be merged explicitly into a given domain, much like git change streams are merged from a branch to trunk. The rules of how events are merged into a domain’s event stream will be specific to the domain. It is possible to know a domain’s state by reading its event stream, and affect it by posting change event proposals to its inbox. Inspirations: Event sourcing, IPLD, JSON-LD.