Contents
Learn About Ontologies
An interactive guide to understanding and building ontologies
What are Ontologies?
An ontology is a formal way to represent knowledge about a specific domain. Think of it as a map that shows:
- What exists in your domain (concepts/entities)
- How things relate to each other (relationships)
- What properties things have (attributes)
Domain: A Library
Concepts
- Book
- Author
- Reader
- Library
Relationships
- Author → writes → Book
- Reader → borrows → Book
- Book → stored-in → Library
Properties
- Book: title, ISBN, year
- Author: name, nationality
- Reader: memberID, name
Core Concepts
Example Walkthrough: Coffee Shop
Let's build an ontology for a coffee shop domain, step by step.
First, we identify the main "things" in a coffee shop:
How do these concepts relate to each other?
- Customer places Order
- Barista prepares Order
- Order contains Menu Item
- Coffee is-a Menu Item
- Menu Item uses Ingredient
What attributes describe each concept?
Coffee
- name: "Latte", "Espresso"
- price: $4.50
- size: "Small", "Medium", "Large"
- temperature: "Hot", "Iced"
Order
- orderNumber: #1234
- timestamp: 2025-10-25 10:30 AM
- status: "Pending", "Preparing", "Ready"
- totalPrice: $12.00
Try It Yourself
Choose a Domain
Select a topic to model, or create your own:
Real-World Use Cases
Ontologies are used across many industries to solve complex problems:
Problem: Medical knowledge is vast and interconnected
Solution: Medical ontologies like SNOMED CT organize diseases, symptoms, treatments, and medications
Impact: Enables accurate diagnosis, drug interaction checking, and interoperability between hospital systems
Problem: Search engines struggle to understand context and meaning
Solution: Ontologies help structure web content so machines can understand relationships (Google Knowledge Graph)
Impact: Better search results, smart assistants, and linked data across websites
Problem: AI systems need structured knowledge to reason and make decisions
Solution: Ontologies provide a knowledge base for AI to understand domains and relationships
Impact: Smarter chatbots, recommendation systems, and autonomous decision-making
Problem: Different departments use different terms for the same things
Solution: Corporate ontologies create a shared vocabulary and understanding across teams
Impact: Improved communication, data integration, and business intelligence
Best Practices
- Start Simple: Begin with core concepts and expand graduallyThe tool helps: Create your first ontology with just a name - add concepts one at a time using the visual graph editor.
- Use Clear Naming: Choose descriptive, unambiguous names (prefer "FullTimeEmployee" over "FTE")The tool helps: Concept and relationship names are prominently displayed in the graph - unclear names will be immediately obvious.
- Follow Conventions: Use CamelCase for concepts, lowercase for relationshipsThe tool helps: The interface encourages proper naming by example - templates use standard conventions you can follow.
- Define Properties Carefully: Each property should have a clear datatype and purposeThe tool helps: Add custom properties to any concept with name, value, and datatype fields for structured documentation.
- Document Everything: Add descriptions explaining concepts, especially domain-specific termsThe tool helps: Every concept and relationship has dedicated definition and description fields - hover tooltips show these in the graph view.
- Reuse Existing Ontologies: Don't reinvent the wheel - use standards like BFO, Dublin Core, FOAF when applicableThe tool helps: When creating a new ontology, choose from starter templates including BFO (Basic Formal Ontology) and PROV-O. You can also import existing ontologies from .ttl files.
- Think About Hierarchy: Use "is-a" relationships to create taxonomies (Dog is-a Animal is-a LivingThing)The tool helps: The graph visualization clearly shows hierarchical relationships - use the "is-a" relationship type to build taxonomies.
- Don't Over-Engineer: Avoid creating concepts for every possible variation - find the right level of abstraction
- Don't Mix Levels: Keep concepts at similar abstraction levels (don't mix "Vehicle" with "RedFordTruck")
- Don't Create Circular Relationships: Avoid A→B→C→A loops unless you have a specific reason
- Don't Use Abbreviations: Unless they're widely understood in your domain (DNA, URL are OK; internal jargon is not)
- Don't Ignore Validation: Regularly check your ontology for inconsistencies and redundancies
The Golden Rule
Make it useful, not perfect. An ontology should serve a purpose - solving a real problem, answering specific questions, or organizing knowledge effectively. Start with what you need, iterate based on use.
Quick Reference
- Entity
- Objects, things, items
- Process
- Actions, activities, events
- Quality
- Properties, attributes, characteristics
- Role
- Functions, positions, responsibilities
- Event
- Occurrences, happenings, incidents
- is-a
- Taxonomy/hierarchy (Dog is-a Animal)
- part-of
- Composition (Wheel part-of Car)
- has-part
- Decomposition (Car has-part Wheel)
- related-to
- General association
- Custom
- Domain-specific relationships (teaches, manages, produces)
- ?
- Show all shortcuts
- Alt/⌥ + C
- Add new Concept
- Alt/⌥ + R
- Add new Relationship
- Alt/⌥ + G
- Switch to Graph view
- Alt/⌥ + L
- Switch to List view
- Esc
- Close dialogs
Glossary of Terms
- Ontology
- A formal representation of knowledge showing concepts, relationships, and properties within a domain.
- Concept (Class/Entity)
- A category or type of thing in your domain (e.g., Person, Book, Organization).
- Relationship (Property)
- A connection between two concepts showing how they relate (e.g., "writes", "part-of", "is-a").
- Instance
- A specific example of a concept (e.g., "John Smith" is an instance of Person).
- Taxonomy
- A hierarchical classification using "is-a" relationships (e.g., Dog is-a Mammal is-a Animal).
- Attribute (Property)
- A characteristic or feature of a concept (e.g., name, color, age).
- Domain
- The specific subject area or field of knowledge your ontology represents.
- URI (Uniform Resource Identifier)
- A unique identifier for concepts and relationships, often a web address.
- Namespace
- A prefix used to group related concepts (e.g., foaf:Person, dc:creator).
- RDF (Resource Description Framework)
- A standard format for representing ontologies and linked data.
- TTL (Turtle)
- A human-readable text format for RDF data (.ttl files).
- Inference
- Deriving new knowledge from existing facts using logical rules.
Common Ontology Patterns
Ready to Build Your Own Ontology?
Now that you understand the fundamentals, start creating your own knowledge models!