Skip to Content

2022.05.04

Thinking About Octothorpes

A proposal for connecting content across communities without closed platforms.

This is a growing project

Nim sent me a bunch of ideas around how we can use the ideas we’ve been exploring around digital gardens and RDF to start creating simple, meaningful connections across cozyweb spaces — spaces like these two weird websites full of weird ideas. The question is how we can have indices of ideas and thoughts and two-way connections between moments. Nim pitched me an idea to bring the hashtag to digital gardening using RDF. #blessed.

Quick note: what follows is simply what lives in my head as a result of our conversation.

Systemic Overview

The Root

A root URL lives at https://octothorp.es which acts a central hub for the project, explaining what it is and why. This root URL anchors the rest of the project.

The Ontology

The project has it’s own ontology that lives at https://vocab.octothorp.es. This defines the terms used in project, and allows for ontological growth and extensions in a coherent manner. Additionally, a JSON-LD context lives at https://vocab.octothorp.es/context.json.

This is a fairly modest ontology, without too many terms. The key one is simply octothorps, and it’s inverse octothorpedBy.

As a practical example, we can express the core idea of the system as:

<https://nikolas.ws/thinking-about-octothorpes> <https://vocab.octothorpes/octothorps> <https://garden.nimdaghlian.com>

The Community Store

A community can create its own indexical record of octothorps at https://<community>.octothorp.es. For example, Nim and I might be writing records to https://goodboiz.octothorp.es.

Contributing to the Store

Nim and I each contribute our octothorps to the community index by POSTing a relationship to https://goodboiz.octothorp.es. This POST request adds the relationship to that communities store.

Reading from the Store

This site runs as a static site with a compile-time build step. It gets rebuilt whenever I commit to its repository. During this build step, I can query https://goodboiz.octothorp.es to GET whatever URLs have octothorped my URLs. This means that this page can collect a page that Nim published.

Subscribing to a Store

https://goodboiz.octothorp.es has a special endpoint at /feed that can serve either RSS, JSON-LD, or TTL. This feed collects all the records added to the store, in chronological order.

Octothorps as Nouns

In addition to being able to octothorp an arbitrary URL, https://goodboiz.octothorp.es has a collection of it’s own URLs to collect shared community subject or concepts that are not discreet resources produced by that community. For example, the joke at the top of this article could be expressed as https://goodboiz.octothorp.es/blessed. Any other resource in the community that is also #blessed could be discovered through querying which resources https://goodboiz.octothorp.es/blessed is octothorpedBy.

Managing Octothorps as Things

A given octothorp (ie, https://goodboiz.octothorp.es/blessed) can have additional records recording it’s own information. These are basic Simple Knowledge Organization System records such as prefLabel, definition, and related.

Authentication & Access

Querying a community store is an open and available process with no access controls. Writing to a community store requires authorization via Public Key encryption. An agent responsible for managing the store adds the public keys of other agents they wish to have write access, which then use those keys to sign their POST requests. The community server validates that the POST is authentic, and adds the record to the store.

Architectual Overview

This could be build with

  • a helper script for writing & consuming triples from a codebase.
  • a triple store server.
  • a serverless function that interfaces between internet and server.
  • a small website that fronts that server.

First Steps

The first steps to this system could just be publishing your own sites set of octothorpes with refied with there inverses to be polite:

nikolas.ws/octothorpes

This is a growing project. Let me know if you think this sounds interesting and/or insane.

Elsewhere

rdf
octothorpes

© 2026