Protégé: A free, open-source ontology editor for building intelligent systems
protege.stanford.edu
protege.stanford.edu
Protege is a nice toy if you are making first contact with ontologies (and OWL), but beyond that I don't think there is anyone out there that enjoys using it. It's been effectively an abandoned for 5+ years, and webprotege (which many hoped would be its more modern successor) is similarly as dead. And no that's not because it is "finished software", it is riddled with bugs. Most ontologists I know rather hand-edit their ontologies in plaintext Turtle than let Protoge near them and mangle them.
In some ways it's quite an apt embodiment of the current state of ontology engineering and the semantic data space...
Most ontologists I know rather hand-edit their ontologies
Meaning: there are no good alternative ontology editors, I presumeOne of the issues that a lot of editors of intermediate ontology projects face, is that they have to overcome the limitations of the commonly used frameworks (like SKOS and OWL), and create new primitives for their domain. However to really leverage those constructs you'd have to have a good editor integration, otherwise you are left to express the same constructs out of atomic triples again and again. At that point it often becomes easier to just work in Turtle and copy-paste those constructs.
But it was waaay better than protege back in 2014.
[1] https://protege.stanford.edu/publications/ontology_developme...
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.
* 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.
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.
Perhaps the recent interest in LLMs + Graphs is enough to increase interest in ontology development for semantic web and linked data applications?