internetarchive / internetarchive/openlibrary

Streamline the suggestions for subjects - people - places - times

Open
#7,114 1 comment 0 reactions 0 assignees View on GitHub
Lead: @cdrini Lead: @mheiman Priority: 3 Type: Feature Request
Dominant language
Python
Stars
6.7k
Forks
2k
Avg merge
2d 19h
Merged PRs (30d)
138

Description

While the new suggestion list feature for subjects - people - places - times is great, the sheer amount of duplicate entries and different systems can make it extremely difficult to choose one, and also prevents an internationalization.

Take Zürich for example, get the following suggestions when entering it as place:

- Zurich
- Zurich (Switzerland)
- Zürich, Zurich (Canton)
- Zurich (Switzerland : Canton)
- Zürich (Canton)
- Zürich (Switzerland)
- Zurich Oberland
- Lake of Zurich
- Zurich Oberland (Switzerland)
- Zurich Region
- Zürich (Switzerland : Canton)
- "Zurich, Lake of (Switzerland)"
- "Region Zurich, Lake of"
- "Zurich, Lake of, Region (Switzerland)"
- Zürich (Kanton)
- "Zürich, Lake of (Switzerland)"
- Zurich Region (Switzerland)
- Zürich <2008>
- "Kilchberg (Zurich, Switzerland)"
- "Wiedikon (Zurich, Switzerland)"
- Lake Zurich
- "Region Zürich, Lake of"
- Kilchberg (Zurich),
- Bank of Zurich

### Describe the problem that you'd like solved

Despite the sheer amount of suggestions, not all of them are even easily distinguished: If I just choose "Zurich", is it the city, the canton, the lake? And if it is the city, which one? The one in Switzerland, the one in the Netherlands, the one in Canada, one of the US-Zurichs?

See https://en.wikipedia.org/wiki/Zurich_(disambiguation) for different Zürichs.

### Proposal & Constraints

Ideally, each of these places should be clearly identified with one system, and then be linked to several i18n translations. (The same is true for other subjects.)

An example:
- Zürich, Zurich (Canton)
- Zurich (Switzerland : Canton)
- Zürich (Canton)
- Zürich (Switzerland : Canton)
- Zürich (Kanton)

should be turned into:
EN: Zürich (Canton: Switzerland)
FR: Zurich (Canton: Suisse)
DE: Zürich (Kanton: Schweiz)
IT: Zurigo (Canton: Svizzera)

(Not necessarily this exact format, I needed to choose one for demonstration purposes. Only the language which is currently "active" should be shown, so if I use it with language preference German, the DE entry.)

### Additional context

#4483
#4677
#6050

### Stakeholders

@seabelis
@mheiman

Contributor guide

Open the contributing guide

Research direction

Review related issues #4483, #4677, and #6050 first; this issue provides no file, test, or entry point. Define how duplicate places are merged and how labels are selected for the active language, then validate the result against the Zürich examples.

Written by the indexing model from the issue text.

Assessment

Domain
localization, search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.