Guided Tagging by an interpreter of XML-formated rules

Posted by -karlos- on 26 January 2013 in English (English)

"How do I tag this" Is the most asked question of OSM users, isn't it? Newbees may easily learn how to draw points and lines in a OSM-Tutorial-Game. But how do editors help with tagging? You have to memorize it or search in the OSM-Wiki. Potlarch, Josm and also a lot of Apps have some menus and dialogs to guild tagging. I assume, they are separably hard coded and maintained by each developer, more or less influenced by user feedback.

My suggestion:

Let's create a database for Guided Tagging rules

The knowledge about tagging, written down in a well defined format, interpretable by software.

The format may be XML and defined by a XML-scheme. The content will, define all the ways, tags may be selected and checked by an interpreter code. Step by step, the scheme and the interpreter may handle more features:

  • Select-Menus and -Trees
  • Dialogs with Switches, Selections, Radio-Buttons and so on
  • Rules to consider between Tags (excludes, includes, context, ...)
  • Sub-Dialog-Trees (i.e. Tagging scheme for wheel chair access)
  • A default-list "Often used" ("Recently used" done by the interpreter code)
  • An alphanumeric Index for text search!
  • Tag names in English and multilingual
  • Tooltips and small help texts (i.e. What means Path Grade 1 to 5?)
  • Links to Tag-Symbols
  • Links to the tag description in the OSM-Wiki
  • menus for often used task (i.e. mapping buildings) The editor may allow to add user-defined menus

The XML-database may be edited online like wiki pages by registered members. It can be checked by the XML-scheme automatically (There could be an WYSIWYG-Editor later) The changes should be approved by a team of experienced members.

The XML-scheme and the interpreter code have to be maintained synchronously by a team of developers. The developer of the important editors should be part of this team.

Any OSM-Editor or App may use the Guided Tagging. The XML-File may be kept updated and used offline in the editing device. The code changes only with extensions of the XML-scheme, while the tagging rules may evolve day by day. Of course, next to the Guided Tagging should always be a basic tagging by name and value.

Who does it? Anyone? Me? Well, I do write code at work every day. And I know who to ask about handling XML. The first step may be a small prototype with limited functionality. The first use may be as part of the upcoming editor "iD", so the first code may be written in Javascript and use of the "3D" framework. The Javascript, or the algorithms there in, may be transcoded to other languages (Java, Action-Script, Apple-C, ...) And I need help. My time is limited (and my English is dangerous)

  • Do you like the Idea?
  • Would you like to take part of the realization?
  • Quite important: Do the developer of existing Editors like it? And How can I ask them? I don't have any contact to the OSM developers.

Comment from AndrewBuck on 27 January 2013 at 16:13

I am actually currently working on something like this right now. It is called OSM Logic, and it is an OWL ontology which is designed to give semantic meaning to the various concepts in the OSM realm, as well as to create a machine readable database of tags and how they relate to one another.

For example, the tag section of the ontology lists individual tags and then uses relations to show when one tag implies another tag, or that one tag is equivalent to another tag, and when there are equivalent tags which one is preferred and which are deprecated, etc. I had considered the possibility of adding things like names in various languages, and short descriptions of the tags to this as well (the OWL language actually provides some support for this itself).

The ontology is still being developed and is still in what I would call a "pre alpha" type of phase, so I have not posted it online yet (but I am getting close to releasing it now to alpha stage). When I do release it I will write a diary entry describing it in detail and how I envision it being used.

The ontology itself is much bigger than just what you described here, but the tagging subsection is almost an exact match for what you described, although you do list a few things I had not specifically planned but maybe they could be added as well.


Comment from davidearl on 27 January 2013 at 19:44

Have you seen TagCentral, my proposal from SOTM2010?

Also, Ilya Zverev is working on something sufficiently similar, it may be called TagCentral. I don't know where this is now, I heard from him in December (2012)

Comment from z-dude on 28 January 2013 at 05:48

I always liked the pictures which were in the documentation pages.

in the potlatch editor, we organize things by groups. I can see a help page made from xml which would show the main categories icons and pictures, and then each category would have a palette to choose from with a quick stub describing what the item is, and a link to the documentation page.

Comment from lxbarth on 28 January 2013 at 14:25

Hey karlos -

Check out the Taginfo projectt or pop into #ideditor and suggest your idea to tmcw, jfire, richardf et al.

If you'd like to see how taginfo is currently being used, check out iD's code:

Related reading:

Comment from tmcw on 28 January 2013 at 16:26

Hey all,

From the iD side:

We currently have a brainstorming ticket about presets. It'll be one of the main objectives after we tag an alpha1 release.

Some prior art here: JOSM & Potlatch both have formats for exactly this: JOSM and Potlatch implementations.

We're also making strong use of Taginfo, which through its API can provide recommendations about related tags. This also provides an API for wiki-sourced documentation of tag combinations, including thumbnail images.

When we do implement presets, it's likely to be in a simple JSON format: XML parsing in Javascript is not very efficient or simple.


Comment from -karlos- on 2 February 2013 at 21:11

Thank you for all your responses, it's good to be in contact with the big editors and all the other activities. We all share a common idea. To continue the discussion it please read my next block post.

@AndrewBuck: I had to read wikipedia about OWL. Thats quite scientific. I assume the medium OWL DL. I try to use your concept as a basis to the common schema, also used in the other projects.

Login to leave a comment