The following post is the first of probably several brain dumps in relation to the management of content and knowledge on the web. Some of the following points will be generally applicable —and probably already widely known— while others are more specific to the topic maps paradigm, a member of the semantic technologies family, which I heavily make use of:

  • I am building several open source topic maps-based tools and libraries to help manage web content in combination with a knowledge base:
    • TopicDB, a semantic graph store.
    • Contextualise, a tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources.
    • StoryDB, a formalization of complex narrative events with an accompanying persistence store.
    • Storyteller, a three.js-based application that allows a user to interactively navigate between a collection of narrative events with accompanying 3D environments, participants and points-of-interest.
  • Content on the web is extremely varied and includes text, video, images, 2D and 3D interactive and/or animated content and nowadays augmented reality (AR) and virtual reality (VR) content, as well; a.k.a. the immersive web (WebXR). Being able to combine all of these different types of content into a cohesive experience while at the same time having a content management system that effectively enables the creation and maintenance of these kinds of experiences is not trivial. I firmly believe that a topic maps-based content management system can provide an edge in these kinds of scenarios.
  • When designing content —from an information architectural point of view— it is critical to have a content model. I’m advocating for a content model that is based on the topic maps paradigm which provides powerful building blocks for designing and modeling content experiences. The topic maps building blocks are:
    • Topics: in its most generic sense, any “thing” whatsoever.
    • Associations: semantically meaningful connections between topics.
    • Occurrences: the connection between the actual information resources and topics.
    • Metadata: data about data (in key-value format): in this case, data about topics, associations and occurrences including things like creation and modification timestamps, author and attribution-related information, licensing-related information and so forth.
    • Scopes: the ability to provide different perspectives in relation to the underlying content and the accompanying navigational structures.
  • The topic maps data model can be considered to be the lowest level model on top of which it is possible to build higher-level content models similar to what has been done with StoryDB for storytelling purposes:
    • This approach of using the topic maps model to model another model —that is, meta-modeling— exemplifies the expressive power and flexibility of topic maps.
    • StoryDB includes models for the narrative itself in addition to (hierarchical) events and the accompanying participants, things and places together with causal and spatial relationships between the events.
    • Because the higher-level content model is built on top of the lower level topic maps data model there will always be, at least, a low-level editor available to manage it: Contextualise, a fully-fledged topic maps editor.
  • Content can be classified not only by type but also by how it is generated and delivered to the client application. For example, statically generated content vs. dynamically generated content (the latter of which will probably be cached, but ultimately still dynamically generated content).
  • The generation of either static vs. dynamic content should not be confused with static vs. interactive content; that is, content that a user can actively interact with. What’s more, it is entirely possible —perhaps even desirable— to generate (highly) interactive static content.
  • An effective content management system has a content model that is entirely decoupled from the presentation side of things; that is, a headless CMS. What’s more, an effective content management system must be able to generate a multitude of dynamic and static content experiences with the potential for a high degree of interactivity. An example of a statically generated but still highly interactive content experience is available here: The Space Colony (a combined StoryDB and Storyteller experience).

To be continued…