# Part IV. Defining ontologies

An ontology defines the entities that a Tracker endpoint can store, as well as their properties and the relationships between different entities.

Tracker internally uses the following ontologies as its base, all ontologies defined by the user of the endpoint are recommended to be build around this base:

`XML Schema (XSD).` Defining basic types.

`Resource Description Framework (RDF).` Defining classes, properties and inheritance

`Nepomuk Resource Language (NRL).` Defining resource uniqueness and cardinality

`Dublin Core (DC).` Defining common superproperties for documents

`Nepomuk Annotation Ontology (NAO).` Implementing tagging and annotations

Ontologies are RDF files with the .ontology extension, Tracker parses all ontology files from the given directory. The individual ontology files may ontologies may not be self-consistent (i.e. use missing definitions), but all the ontology files as a whole must be.

Tracker loads the ontology files in alphanumeric order, it is advisable that those have a numbered prefix in order to load those at a consistent order despite future additions.