HATEOAS and Ontological Space
Hypertext As The Engine of Application State, or HATEOAS, dreams of generic clients navigating a constellation of server applications. One of the core missteps of the RDF project from the beginning is thinking that this is a good idea.
Kiran Potts’ excellent article Rethinking REST ia an excellent introduction to the ideas that have been eating my brain for the past couple of years. I think that Hypermedia APIs have an incredible potential to help write robust, dynamic, and flexible applications. These ideas have been driving my work for a while, and I think they are important and good.
However, I do think that where Potts talks about Hydra, and the Generic Hydra Client, we start to see the fundamental flaw that I beleive drove RDF off course for so long. I think that this flaw helps explain why RDF is not a popular – or even liked – framework for the Web.
I think that one of the biggest missteps of the RDF project in general – which includes Hydra and HATEOAS – is a commitment to the idea of a singular ontology that can unify applications and enable generic clients. While it’s true that common ontological roots can enable some really cool shit like inference and reasoning across data, and disparate worlds can be harmonized through contextual transformation, one of the basic strengths of the system is that the barrier to custom ontological spaces is super low.
This is where Christopher Alexander’s key insight comes into play – his book A Pattern Language for example is A pattern language, not The pattern language. In The Nature of Order Alexander talks about a project he did in Japan where the first step was working with the community to define their pattern language and then he used that to design the site. Arturo Escobar talks about this too, how the global south (particularly South America) has a fragmented ontological space where hegemonic westernisms get refracted and shattered.
What Escobar sees as the opportunity here is to escape the imposed ontology and create space for a flourishing of local-specific, community oriented ontological spaces, just as Alexander works from a community-driven and hyper-local conceptualizatiom of how the world is and how it should be.
This idea of “relational modes of being” I think maps well into RDFs architecture where the data is relationships all the way down.