[OSM-dev] GSoC: formalising knowledge in OSM

Radomír Černoch radomir.cernoch at gmail.com
Wed Mar 25 09:36:14 GMT 2009


Dear Openstreetmap community,

My name is Radomir Cernoch and as a long-time OSM user, I have recently
started creating maps. I must say I was quite surprised, how difficult
it is to start producing maps in a proper way and good quality -- the
possibilities and complexness of OSM is quite high.

Since I am a student (doing AI, knowledge engineering specialism) I
thought about the currently running GSoC 2009, in which OSM takes
part. My idea, which I am proposing, is to build a taxonomy of map
elements formalised in an ontology, which could formally define and
classify them. I believe that such project could build a
well-structured knowledge base aiding beginners to understand
nitty-gritties of mapping, yet still useable for skilled users.

Its main long-term benefit would then be providing a single place to
store all knowledge about map elements, which could be used across
whole OSM project (JOSM, maplint, rendering and web front-end). This
can unify the data duplicated between eg. JOSM menus and wiki
documentation.

I am not sure how familiar are you with knowledge engineering, so I
thought I would propose some areas, where such technology could be
useful and let you ask about anything you might want to. Currently I
can think of exploiting this idea in following areas:

- Creating an automatic and coherent documentation for wiki. An
ontology includes a clearly defined taxonomy and annotations, which
can be easily converted into a well arranged web page.
- Integration into JOSM could provide a more user-friendly GUI:
Currenty the "presets" menu allow you to assign predefined key-value
pairs to a node or path, but there is no way how to edit existing
key-value pairs of existing element (apart from editing them by hand).
An ontology could provide a clean way to determine which real-world
element corresponds to current node and provide appropriate options.
- Handle region specific delicacies. Eg. In Czech Republic we have a
very specific tourist signs. In the proposed system such knowledge
could be easily incorporated, but become filtered out for different
countries.

Then there are some other areas, where it could be benefitial (but I
have not gone into these ideas very deep):
- Assisting in building an search engine for structured queries. Eg.
google maps provides a great search engine for unstructured queries
like "Bus station in Prague". The advantage of OSM can be to pose
precise questions like "bus station in Prague which has wheel-chair
access". With an ontology, translation of such questions into SQL
should be easy.
- Ontologies are a big topic in semantic web and they could
potentially help OSM in this field.
- As the ontology represents general, high-level ideas, it should not
suffer from API changes.

As far as the GSoC is concerned, I was thinking about including the
following bits: Firstly create the initial ontology to support at
least all official map elements. Possibly, there could be an API to
it, which would encapsulate common operations and reasoning to provide
an easy integration into standard programming languages. Lastly an
export to wiki (or even import?) utility would be created in order to
expose and promote this technology to users and developers.

I am happy to hear any comments and criticism from you (especially
from people who offered to supervise GSoC students this year).

Yours sincerely,
Radomir Cernoch




More information about the dev mailing list