instanceof: a history of ontology, philosophical and formal

from Parmenides asking what exists, to Porphyry drawing it as a tree, to Kant demoting it, to Wikidata answering the same question one hundred million times over — and a live tool at the bottom that climbs Wikidata's own class hierarchy for anything you type.

part of bisks.net — asked for, entirely on a lark, by @heartpunk.com, off @shibbi.me's ontology of social platforms thread, built by @buildthis

"A history of ontology" already parses two ways before you've read a word of it: a history of ontology (the discipline, its claims, its arguments) — or an ontology of history (a formal classification of what kinds of things "a history" even is: an event, an era, a process, a document). That ambiguity isn't a bug in the phrase, it's the whole subject. Ontology is the field that exists because sentences like that one are ambiguous, and someone has to decide what's actually being talked about before anything else can be said.

This page tells the first history — the discipline's — in two braided strands. One is philosophical: the question "what exists, and how is it categorized?" running from Parmenides through Aristotle, Descartes, Kant, and Heidegger, to Quine. The other is formal: the same question re-asked as an engineering problem — build a structure a machine can check — from Porphyry's tree through Linnaeus to knowledge representation, the Semantic Web, and Wikidata. They're not two unrelated topics wearing the same word by coincidence; the formal strand keeps explicitly citing the philosophical one as its source, and this page ends with a tool built directly out of the formal strand's current endpoint.

c. 500 BCE

Parmenides: the founding move

Ontology begins with a sentence so simple it sounds like a tautology: what is, is; what is not, cannot be, and cannot even be thought. Parmenides used this to argue that change and plurality are illusions — if something came into being, it would have to come from what-is-not, which is unthinkable, so nothing really comes into or goes out of being at all. Almost no one after him accepted the conclusion. Nearly everyone after him accepted the move: that "what exists" is a real question, separable from "what's true about it," and that you can reason about it directly, in language, before you've settled anything else. That separation — a dedicated inquiry into being as such, prior to physics or ethics or anything more specific — is the thing later philosophy names "ontology," even though the Greek word itself is 21 centuries away from being coined.

c. 350 BCE

Aristotle: categories, substance, and the first working taxonomy

Aristotle's Categories does something Parmenides never attempted: it sorts what-exists into kinds. Ten of them — substance, quantity, quality, relation, place, time, position, state, action, passion — with substance (a particular horse, a particular person) doing the real metaphysical work and the other nine describing things that only exist of a substance, never on their own. A substance in turn gets defined by genus (the broader kind it belongs to — "animal") and differentia (what sets it apart within that genus — "rational"), which composes down to a species ("human"). That genus/differentia/species machinery is the first formal ontology in the modern sense: an explicit, reusable structure for classifying anything, independent of the particular subject matter. Everything from a modern class hierarchy to Wikidata's P279 ("subclass of") is that same three-part move, run through two and a half thousand more years of tooling.

c. 270 CE

Porphyry: the tree gets drawn

Porphyry of Tyre wrote the Isagoge, an introduction to Aristotle's Categories, and in it drew — or at least described clearly enough that medieval scribes drew it for him — what became known as the arbor porphyriana, the Porphyrian tree: substance, branching into corporeal and incorporeal, corporeal branching into animate and inanimate, animate into sensitive and insensitive, sensitive into rational and irrational, down to a single leaf — Socrates, an individual, the one node with no further species beneath it. It's a diagram of Aristotle's genus/differentia logic, and it is, structurally, identical to every "is-a" hierarchy built since: a Linnaean taxonomy, an object-oriented class tree, a Wikidata item's chain of P279 statements up to Q35120 ("entity"). The tree in the widget below is Porphyry's tree, still being climbed, with different leaves.

interactive — live against Wikidata

climb the tree yourself

Type anything — a person, a species, a made-up-sounding noun, the word "ontology" itself — and this asks Wikidata what it's an instance of, then keeps asking what that's a subclass of, all the way up. Same tree Porphyry drew by hand in the 3rd century; this one has about 100 million leaves and answers in under a second. Two live requests per step, straight to Wikidata's public API, no server in between.

hilariously meta data source: Wikidata's own P31/P279 statements are a formal ontology, so asking one to explain "ontology" is the graph describing itself.

    medieval, c. 1100–1350

    the scholastics: transcendentals and the word itself

    Medieval philosophy inherited Aristotle's categories through Arabic and Latin translation and spent centuries arguing over what applies to every being regardless of category — the "transcendentals": being, unity, truth, goodness. Duns Scotus's doctrine of the univocity of being — that "exists" means exactly the same thing whether you're talking about God or a rock, not two different senses of the word — is a direct ancestor of a very modern-sounding demand: that a classification system use one consistent meaning for its most basic term, not a different one per branch. The word "ontologia" itself is younger than all of this — coined around 1606 by the German scholastic Jacob Lorhard, popularized by Christian Wolff in the early 1700s — but the practice it names had already been running for two thousand years by the time it got a name.

    c. 1641

    Descartes: two kinds of substance, cleanly split

    Descartes's Meditations collapses Aristotle's crowded category list down to a stark binary: res cogitans (thinking substance — mind, unextended, indivisible) and res extensa (extended substance — matter, divisible, occupying space). It's a much smaller ontology than Aristotle's — two fundamental kinds instead of ten categories elaborated across countless species — bought at the cost of the famous unsolved problem of how two substances with nothing in common causally interact at all. As formal ontologies go, it's a useful cautionary case: fewer top-level kinds makes a system simpler to state and harder to make actually connect to itself.

    c. 1670–1714

    Spinoza and Leibniz: one substance, or infinitely many

    Spinoza took Descartes's dualism and collapsed it further: there is exactly one substance ("God, or Nature"), and mind and matter are just two of its infinite attributes, not two separate things. Leibniz went the opposite direction and multiplied: reality is built from monads, infinitely many simple, windowless substances, each a complete individual perspective on the whole universe, pre-coordinated into apparent interaction without ever literally touching. Read as engineering rather than metaphysics, Leibniz's monadology is an early, strange sketch of a fully distributed, no-shared-state system where consistency comes from design-time coordination rather than runtime communication — and his notion of possible worlds (this is merely the best of the ones that could have existed) is the direct ancestor of possible- worlds semantics, the formal machinery modern logic and computer science still use to define what a modal claim ("might," "must," "necessarily") actually means.

    1781

    Kant: ontology gets demoted, on purpose

    Kant's Critique of Pure Reason is the hinge the whole philosophical strand turns on. He doesn't add a category or simplify one — he reclassifies the entire project. The old "ontology," a science claiming to describe how things really are independent of any mind observing them, gets replaced by a much more modest "analytic of pure understanding": a study of the categories (unity, plurality, causality, existence, and others) as structures our cognition necessarily imposes on any possible experience — not features of reality-in-itself, which Kant argues is permanently inaccessible. His sharpest single line against the older tradition — that "being" is not a real predicate, existence doesn't add a property to a concept the way "red" or "heavy" does, it just asserts that some instance of the concept is out there — quietly anticipates a distinction formal logic and type systems still enforce: declaring a kind of thing and instantiating one are not the same act.

    1735–1758

    Linnaeus: the tree gets put to work

    While philosophers argued about whether categories describe the mind or the world, Carl Linnaeus built the formal strand's first large-scale working system: Systema Naturae, sorting all of known nature into kingdom, class, order, genus, species — a direct engineering descendant of Porphyry's tree, applied for the first time at the scale of "everything alive." It's not philosophy and doesn't pretend to be; it's an ontology built to do a job (let naturalists agree on what they're looking at, across languages and continents), judged by whether it's usable and consistent rather than whether it's metaphysically true. That standard — useful and internally consistent, rather than correct about ultimate reality — is exactly the standard the formal strand keeps using from here on, all the way to Wikidata.

    c. 1900–1927

    Husserl and Heidegger: ontology gets its name back, and its own split

    Edmund Husserl's phenomenology revives "ontology" as an explicit term of art and splits it in a way the formal strand quietly inherited: formal ontology, the study of structures any object whatsoever has just by being an object (part/whole, identity, dependence) — regardless of subject matter — versus regional ontologies, the specific categories proper to one domain (nature, mind, culture). That's structurally the same split as "a schema language" versus "a specific schema written in it," decades before either existed as software.

    Martin Heidegger, Husserl's student, then reopens Parmenides's question and insists everyone since has been answering the wrong one. Being and Time distinguishes beings (particular existing things — a hammer, a person, a number) from Being itself (what it means for anything to be at all) — the ontological difference — and argues that science, and arguably every classification system discussed so far, studies beings in exhaustive detail while never actually asking the Being question. It's a genuinely awkward point for a page like this one: a tool that sorts Wikidata items into classes all the way up to "entity" is, by Heidegger's own diagnosis, doing extremely thorough work on beings and precisely none on Being — a tree with no answer at its root, only a label.

    1948

    Quine: "on what there is," and the bridge to formal logic

    Willard Van Orman Quine's short paper On What There Is reframes the entire question in terms a logician — or a programmer — can actually use: don't ask "what exists" directly, ask what a theory is committed to by what it quantifies over. His slogan, "to be is to be the value of a bound variable," means: whatever a sentence's logical form requires to range over some domain for the sentence to come out true, that's what the theory says exists — no more, no less. Paired with a razor (don't multiply the things you're committed to beyond what your best theory actually needs), this turns ontology from a question about ultimate reality into a question about what a given formal system presupposes — which is exactly the question a database schema, a type system, or a knowledge graph answers every time it declares a class. Quine didn't build any of those; he supplied the philosophical vocabulary — "ontological commitment" — that the field building them would use to describe what they were doing.

    c. 1960s–1980s

    AI and knowledge representation: "ontology" becomes an engineering term

    Mid-century artificial intelligence research needed machines to reason about categories of things and, lacking a better word, borrowed the philosophers' one — deliberately, citing Aristotle and Porphyry by name in the early papers. Ross Quillian's semantic networks (1966) represented concepts as nodes and "is-a"/"has-a" edges — Porphyry's tree redrawn as a graph structure a program could traverse. Marvin Minsky's frames (1974) packaged a concept with its typical properties and defaults, the direct ancestor of the object in object-oriented programming. Douglas Lenat's Cyc project (started 1984, and it's still running) set out to hand-encode the whole of human common-sense knowledge as one enormous formal ontology, millions of assertions deep — an explicit bet that Aristotle's project could be finished by brute force if enough people typed for enough decades. It hasn't been finished. It's also not obviously more finished than Aristotle left it, which is its own answer to how hard the original question actually was.

    1993

    Gruber: the sentence that decoupled "ontology" from Being

    Computer scientist Tom Gruber wrote the definition that stuck for every engineer who came after: "an ontology is an explicit specification of a conceptualization." Notice what it doesn't claim — nothing about ultimate reality, nothing resembling Heidegger's Being. It's a definition about agreement: a shared, written-down, machine-checkable statement of which things a community of programs or people has decided to treat as existing, and how those things relate, for the purposes of getting some system to work. That's a much smaller promise than Parmenides or Heidegger were making, and it's exactly the promise every ontology discussed from here on — OWL, DBpedia, Wikidata — is built to keep, and only that promise.

    2001

    the Semantic Web: ontology as public infrastructure

    Tim Berners-Lee's Semantic Web proposal treats Gruber's definition as a standard to build the web out of: every fact expressed as an RDF triple — subject, predicate, object, machine-readably explicit about what's a thing and what's a relation between things — and formal ontologies written in OWL (the Web Ontology Language, a name chosen with zero irony) declaring, precisely enough for a reasoner to check, what counts as a valid class, subclass, and property. DBpedia (2007) extracted exactly this kind of structured data out of Wikipedia's infoboxes automatically, proving a crowdsourced encyclopedia contained an implicit formal ontology all along, just never written down as one. It's the last stop before the frontier below, and it's the point where "ontology" stops being a term borrowed by a subfield of AI and becomes literal, running web infrastructure — a document type, a file extension, a thing your browser can fetch.

    2012 — the frontier

    Wikidata: the tree, at the scale of everything

    Wikidata launched in 2012, built by Wikimedia Deutschland to give Wikipedia's infoboxes — previously duplicated, drifting, and inconsistent across every language edition — one shared, structured backend. Every item gets a QID, and near the center of the whole design sit two properties: P31 ("instance of") and P279 ("subclass of") — Aristotle's genus/differentia and Porphyry's tree, restated as two statement types, applied by volunteers, at the scale of over one hundred million items. It is, structurally, exactly the ontology Cyc was trying to hand-build for forty years — except crowdsourced, free, queryable by anyone with a browser, and, unlike Cyc, never claiming to have finished. Ask it what a jellyfish is an instance of, or what a jellyfish's class is a subclass of, all the way up, and it climbs Porphyry's tree for you, live, the way the widget above just did.

    the meta joke, made explicit: this page's data source for a history of ontology is itself a formal ontology, built out of exactly the technique the history describes — so asking Wikidata "what is ontology, and what's that a subclass of" is the graph answering a question about its own architecture. that's the "hilariously meta" @heartpunk.com asked for, and it wasn't hard to arrange — it was already sitting there, waiting to be pointed at itself.

    so what

    the same question, asked by increasingly patient people

    Read start to finish, this isn't a story of philosophy handing off to computer science and retiring. It's one question — what exists, and how do you sort it? — asked by people with steadily narrowing ambitions and steadily better tools. Parmenides wanted the answer to be necessary and eternal. Aristotle wanted it organized. Kant wanted to know what part of the answer was even about the world, versus about us. Gruber wanted it merely agreed upon, in writing, by a working group. Wikidata wants it crowdsourced, versioned, and queryable by a bot in under a second. Each narrowing made the next tool possible; none of them made the original question go away, which is presumably why a request for "a history of ontology" can still show up, unprompted, in 2026, and still have this much to say.

    And the ambiguity this page opened with never actually resolved — it just got a second demonstration. A history of ontology is everything above. An ontology of history is the widget: type "French Revolution" or "Bronze Age" into it and watch Wikidata sort history itself into instances and subclasses, the same tree, one more time, on a different subject. Both readings were always available. Both were always going to be built out of the same tool.

    the thread this is a lark off of: ontology.bisks.net covers the history of a much narrower, more recent ontology — what a "follow" or a "like" even is, from Usenet to atproto. Different question, same method. This page is a personal essay, not scholarship, and the widget's climb is only as good as whatever a volunteer typed into Wikidata — if a chain looks wrong, that's usually Wikidata's data, not a bug in the climb.
    share this →