Frequently Asked Questions


What is an ontology in computer science?

In computer science, an ontology is a formal, explicit specification of a shared conceptualization — a structured description of the concepts in a domain, their properties, and the relationships between them. Ontologies are used to represent knowledge in a way that both humans and machines can process and reason about. The What is Ontology chapter unpacks this definition in detail.

What is the difference between an ontology and a relational database?

A relational database stores data instances according to a fixed schema. An ontology defines the meaning of concepts and their relationships — the vocabulary and rules of a domain — and supports logical inference. Ontologies are generally more expressive and flexible than database schemas; they can represent class hierarchies, equivalences, property restrictions, and enable automated reasoning that a database cannot perform.

What is the Semantic Web?

The Semantic Web is an extension of the World Wide Web where data is given explicit meaning (semantics) that machines can interpret. It uses technologies like RDF to represent data as subject–predicate–object triples, OWL to define ontologies, and SPARQL to query data. The goal is to enable software agents to find, integrate, and reason over information across the web automatically. See the Semantic Web section for the full picture.

What is RDF and why is it important?

RDF (Resource Description Framework) is the foundational data model of the Semantic Web. It represents information as triples: subject–predicate–object (for example, "Prague — is capital of — Czechia"). Any resource can be identified by a URI, which makes RDF data globally linkable and interoperable across different systems and data sources. See the RDF chapter for details.

What is the difference between OWL and RDFS?

RDFS (RDF Schema) adds basic vocabulary for defining classes, properties, and their hierarchies to RDF. OWL (Web Ontology Language) goes much further: it supports class equivalence, property restrictions, cardinality constraints, negation, and disjointness — expressive features grounded in description logics that allow automated reasoning and consistency checking. See the OWL chapter.

What is SPARQL used for?

SPARQL is the standard query language for RDF data, analogous to SQL for relational databases. It allows you to retrieve, filter, and transform data stored in RDF graphs. SPARQL queries can be run against local RDF files or remote SPARQL endpoints such as DBpedia or Wikidata. See the SPARQL chapter for examples.

Do I need to know formal logic to understand this tutorial?

A basic comfort with logical thinking helps, but deep knowledge of formal logic is not required to follow most of the tutorial. The sections on description logics and OWL semantics are more formal — you can read them at the level of intuition and revisit the formal details as needed.

What software tools can I use to work with ontologies?

Protégé is the most widely used free ontology editor; it supports OWL and SPARQL with a visual interface. Apache Jena is a popular Java framework for programmatic work with RDF and SPARQL. HermiT and Pellet would be OWL reasoners that can check ontology consistency and compute inferences.

Can I use or reproduce the content of this tutorial?

The text and images in this tutorial are published under the Creative Commons Attribution–ShareAlike 4.0 licence (CC BY-SA 4.0). You are free to share and adapt them, provided you give appropriate credit and distribute any adaptations under the same licence.

The interactive JavaScript demonstrations may only be used as part of this website; any other use requires prior written permission. Contact: marek@obitko.com.

·