Machine Readable Tagging API
Partially done as data items
See data items
Overview
Currently the wiki is being used to store human readable information on tagging, and while this would work fine with a limited subset of tags, it doesn't make it easy for people to locate tags they may not have used, or very infrequently used in the past which will ultimately end up with several tags for the same thing, eg amenity=lawyer and shop=lawyer
Neither the wiki nor external search engines can effectively index this information in it's current form as there is a lot of other information mixed in, for example if you search on the wiki for lawyer you end up with a lot of non-relevant information to tagging such as legal advice on database licensing.
The only similar service is tag watch, which uses current tags to help locating errors more easily, but this fails to give you context the tags are used with and allow tags to be easily cross referenced to each other, for example the lanes=* tag is often used in conjunction with the highway=* tag.
Thoughts on Feature set
- add/update tags, values and descriptions of both.
- allow tags, values and descriptions to be easily translated.
- allow people to vote on tags and values which will alter the order of tags returned in searches
- store the number of times tags are used, allowing this information to effect the order search results are presented
- allow people to add synonyms for tags/values
- the use of a wiki formatting function so text can be marked up/formatted
- have the search to do fuzzy searching of tags, values, descriptions and synonyms.
- ability to have example images, or reference URLs associated with tags and values which could optionally be displayed by editors/web site
- the ability to add context to tags by linking tags that are commonly used in conjunction with each other, eg lanes=* should be linked to highway=*
- document an API so editors can hook into it to read data and write data back into the database
- By having this functionality built into editors it would allow people to document new tags as part of the work flow
- Editors would also be able to suggest tags, using fuzzy searches, searching the description of tags and search for synonyms
- some kind of caching mechanism so editors only need to download updates