DEV Community

Octa
Octa

Posted on

1

Ontologies - part 2 : definitions & vocabulary

Why are we even doing this?

As I'm reading further along about ontologies one thing is clear to me. The point of this entire thing is to take the real world - something you innately know and understand - and try to extract from your brain categories and relationships between them that a computer can understand. Once you've got that, said computer can answer queries, create a knowledge base and be trained to play around with the data at astonishing speed.

Definition

These definitions so far seem the best to me:
An ontology is a formal explicit description of concepts in a domain of discourse.
An ontology together with a set of individual instances of classes constitutes a knowledge base.

Ontologies consist of classes (eventually subclasses) or concepts. Classs have properties (features and attributes of the class, sometimes calles slots as well) and there can be restrictions on those slots or properties (those restrictions can also be called facets).

Vocabulary & OOP

Like with all new domains you need to be familiar with a few words before you can understand something like the definition above.
Object oriented programming in this case is both something that can help and that can hurt. Ontologies are composed of classes and subclasses, and have instances. Sounds familiar, right?

You can safely use your understanding of what an instance is in OOP to help you understand instance in an ontology. For classes however, it's a bit different. In OOP you tend to use classes along with methods, and creating a class will entail you coding the methods, thinking whether or not they're in the right place or need to be split off, instantiating classes so you have access to their methods etc. In ontologies a class is much more descriptive. When you create the ontology you describe the properties of the class and think much more in terms of structure than in terms of what the class does. An ontology is a mapping, not a program. It can be part of a program however, but that's for a later post.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more