The purpose of the ontology of tags is to stay as close as possible to the structure of the OSM files in order to facilitate database querying. This means that we do not try to correct any possible conceptual mistakes in the taxonomy of OSM tags, but rather have it reflected faithfully in the structure of the ontology.
In OSMonto, tags are decomposed into a hierarchy according to the keys: the key becomes a superconcept of its values. This approach was followed whenever the value was an OSM constant rather then a string/numeral. Since it is possible that a key and a value have the same name whilst the names of the concepts are required to be unique in OWL, we decided to prefix all keys with k_ and all values with v_.
The source for the tags implemented is mainly Taginfo. To reduce noise, only values which occur more than 100 times are included. In addition, tags that are in the OSM wiki but not covered through the search of Taginfo are also implemented.
The OSMonto ontology can be found as an .owl file  and can be viewed with tools like e.g. Protégé.
OSMonto is already used within the DO-ROAM project , an activity-oriented route planning tool for OpenStreetMap. The source code of the project can be obtained freely at . Here, OSMonto serves as a connection between the database and the activities that can be selected by the user, also organized as an ontology.