Technical Details - osmlab/name-suggestion-index GitHub Wiki
Some of the more obscure technical details of the Name Suggestion Index, all gathered in one place.
Releases and updates
New versions of the index are generally released weekly; however, there is no set schedule, and the time between releases can vary due to the real-life time constraints of project maintainers and publishers.
Changes made to the index data do not immediately go live elsewhere. Some data consumers (such as NSI.guide) receive the latest changes when the project's distributable files are rebuilt with npm run dist
, while other consumers (such as OpenStreetMap's iD editor) do not receive the latest changes until the next release is published.
Additional details: #6592, #9963, #10205
Matching
The NSI provides canonical presets for brands, operators, flags, and transit networks. However, consumers of the NSI (e.g., OSM editors) generally can only automatically provide one preset per OpenStreetMap object. For flags and transit networks, this is generally a non-issue, but there can be and are cases where an OSM object has both a brand
value and an operator
value that matches presets. In these cases, the brand preset takes priority, and (at least in iD) the potential operator preset is not offered.
Additional details: #9716, #9785
NSI and the NSI Collector project
The NSI Collector project is a related but separate project that checks OpenStreetMap and gathers the names of the most common brands, operators, flags, and transit networks globally. These are then merged into the NSI index, at which point maintainers and contributors can work together to take further action with the newly added entries. This may be improving the quality of the entries, or it may be determining that the entry shouldn't be in the NSI for one reason or another.
In the former case, if the name
of the imported entry is changed, a matchNames
Array with the original name of the entry needs to be added to the entry. (See Item Property Reference for instructions.)
In the latter case, maintainers and contributors should take care to either:
- modify the exclude Object in the relevant category file to exclude the entry's name (for generic entities)
- add the entry's name to the
matchNames
Array of another, previously existing entry (for entities that are duplicates)
In each of these three cases, the listed steps are necessary because the build script will re-add the entry otherwise.
Additional details: #9779
Transit stations and stop positions
Presets for transit stations and stop positions are not available at this time because the NSI is not currently coded to handle the tagging schema used by these objects in OpenStreetMap.
Additional details: #4765
Availability of entries in downstream projects
Presets/tag suggestions for entries in the NSI are only available in downstream projects (e.g., OpenStreetMap's iD editor) if the entry has a Wikidata tag (*:wikidata
). Entries without Wikidata tags will still be available for viewing on NSI.guide, but they are not exported in releases.
Additional details: #9002
Syncing tags for a specific operator across multiple category files
There is currently no method for automatically syncing the tags for an operator across two or more category files. The operator has to be manually added to all relevant category files, and it is then the responsibility of individual contributors and maintainers to manually sync tags for an operator whenever they are changed in one file.
Additional details: #6143