# Exercise 1 - Build an Ontology for Danish Public Transport

Source: [Exercise 1 - Build an Ontology for Danish Public Transport.html](Exercise%201%20-%20Build%20an%20Ontology%20for%20Danish%20Public%20Transport.html)

## What you can learn

This exercise teaches how to design an ontology for a concrete public transport domain, using the Danish journey planning system as the modelling context.

You can learn how to:

- Identify domain classes such as transport services, locations, fare zones, operators, passenger types, and accessibility features.
- Organize classes into a useful hierarchy, including intermediate classes such as rail, road, and water services.
- Define object properties between classes, such as services stopping at locations, services being operated by companies, and locations belonging to fare zones.
- Decide relation cardinalities such as one-to-one, one-to-many, many-to-one, and many-to-many.
- Write domain constraints that capture modelling rules, data quality expectations, and class disjointness.
- Compare your own ontology design against a suggested solution.

## Interactive Activities

- Fill in relation names, domains, ranges, descriptions, and cardinalities.
- Add custom constraints for the transport domain.
- Check your answers against expected modelling choices.
- Reveal a complete solution for relations and constraints.

## Best Used For

Use this after learning RDF, RDFS, OWL, or ontology engineering basics. It turns abstract modelling concepts into a practical design task.

## Key Takeaway

Ontology modelling is not only about listing classes. A good vocabulary also needs meaningful relations, cardinality choices, constraints, and clear domain assumptions.
