* imagine a graph of things you wanna organize ("model"), say world religions, or the plant and animal kingdom * you can tell the system that anything that's a plant can never be an animal. or viruses can't be bacteria * or lions and zebras are both mammals * you can define what mammals are, vertebra, heart, brain, etc.
The interesting part is ontology _validation_ or querying.
Is it internally consistent? Maybe you specified viruses and bacteria and said they are never the same thing, but the way you modeled it, they are identical! Hmm, you'll have to update your definition of bacteria, or viruses, or both.
Next, you try to put fungi in the system, but there's an error because fungi do not belong to the plant or animal kingdom: they are their own thing.
So this is a fairly simplistic use case, but scale this up to hundreds if not thousands of entities and you can start to see the value.
Imagine sticking the human genome in there, and which drugs act on which chromosomes, etc.
It's a niche, for sure, if you need something like reasoning it's the way to go.
When you narrow down the domain to something where a consensus on representation can be reached, then sure, reasoning is a plausible use case... except for the fact that it scales very poorly, and making it work on a set of data large enough to be interesting requires a disproportionate amount of computing power.
An Ontology doesn't mean it has to decide on single correct model - in fact, I'd say such ontology is particularly poor and a technology that limits to that is too limited to be used in ontology field.
However, I don't think the core issue is consensus itself, but instead that the prevalent form of consensus in the ontology authoring space is consensus by committee rather than consensus by usage (as is usual in the open source software space).
That's why I've in the past been involved in creating Plow[0], a package manager for ontologies, with the aim of bringing the same "grassroots" nature and network effects that you find in other open source ecosystem to ontology engineering.
[0]: https://plow.pm/
you can embed this into ontology itself, e.g. create classes/entities: InPeterView, InMaryView etc.
Of course sometimes there is a need to reconcile both world views, and there have been swaths of literature being written about ontology alignment. Optimally the parties would also share the things that they agree on and co-maintain them in separate ontology documents, though in practice this doesn't happen nowadays due to lack in ontology engineering tooling.
there are multiple efforts to build some core standard ontologies (e.g. schema.org) which then can be used as common vocabulary.
The only "core" ontologies that have really found adoption over the decades are the ones that everyone is forced to use as they are baked into the standards (RDF/RDFS), and Dublin Core for metadata (where only 5 of the ~100 terms are commonly used).
You can have an ontology that is used only by you. Maybe a 1000 people need to agree, and they would probably be on your payroll. It could be something trivial and already kind of decided, like movies metadata, etc. It's there just to power your internal systems, not for humanity to agree upon.
For popular use, it really comes down to the tooling. If I take this knowledge that I already have and write an ontology for it, what do I have to gain? Sadly, with the current state of tooling, you gain nothing.
You'd load up an ontology as an .xml, use the UI to browse the nodes and a hierarchy you already have, decide how to handle the new thing you want to achive and add a new leaf somewhere or rejiggle the tree somehow, and at the end you save the changed .xml.
The properties of a near-infinite number of classes need to be edited and managed somehow. Doing it in an IDE where every class is discrete is a pain in the ass. It's easier in a database- or filesystem-like interface. Hence, ontology editors.
Ontology and ontology-editors allow you to make such assumptions about concept-relationships explicit. You can then review and correct those assumptions now that they are explicitly written down. If your company has multiple applications it helps that they all use the same ontology, or if they don't to know where they differ.
How well that works in practice I don't know but I think I get the idea. Of course ontologies are not much in the zeitgeist now that AI will solve all the problems. But surely, AI could create great ontologies with ease. Can we ask it?
of course, once that's boostraped, then potentially they could make derivative and novel ontologies.