получить список омонимов с устраненной неоднозначностью из wikipedia/wikidata/linked data

Если я буду искать "George Bush" вручную в Википедии, я получу эту страницу, на которой перечислены омонимы с краткими описаниями.

Я хотел бы передать свой поиск API и получить следующую информацию:

  • Джордж Буш-старший
  • Джордж Буш
  • Джордж Буш (библеист)
  • Джордж Буш (футболист)
  • Джордж Буш (гонщик)
  • Джордж П. Буш
  • Джордж Вашингтон Буш

Я не против получить больше, пока я могу однозначно разобрать его.

Моя цель состоит в том, чтобы пользователи веб-сайта могли помечать общедоступных лиц, но я хочу ограничить их выбор и избежать двусмысленностей, поэтому этот список может немного отличаться, подойдет любая другая приличная база данных с API.

Я не понял, как это сделать с википедией или викиданными, мне просто удалось выполнить запросы к определенному идентификатору / странице, как только я это узнал, что здесь не так.


person Moody_Mudskipper    schedule 23.09.2018    source источник
comment
См. opendata.stackexchange.com/a/12497/16193.   -  person Stanislav Kralin    schedule 24.09.2018
comment
Спасибо, я не знаю SPARQL, поэтому для меня это китайский язык, я буду читать об этом и надеюсь, что это приблизит меня к моему решению, но пока я не вижу, как это связано с тем, что я хочу, и как я заставлю его работать.   -  person Moody_Mudskipper    schedule 24.09.2018
comment
По сути, вам нужно что-то вроде это. Однако не все результаты являются людьми. Затем появляется вопрос, на который я ссылаюсь.   -  person Stanislav Kralin    schedule 24.09.2018


Ответы (1)


Есть несколько способов сделать это, в зависимости от того, какие данные вы хотите.

Например: https://en.wikipedia.org/w/api.php?action=query&titles=George%20Bush&prop=links — сообщит вам, есть ли «значение» для имени этого человека.

Это вернет:

               {
                    "ns": 0,
                    "title": "Bush family"
                },
                {
                    "ns": 0,
                    "title": "George Brush (disambiguation)"
                },
                {
                    "ns": 0,
                    "title": "George Bush (biblical scholar)"
                },
                {
                    "ns": 0,
                    "title": "George Bush (footballer)"
                },
                {
                    "ns": 0,
                    "title": "George Bush (racing driver)"
                },
                {
                    "ns": 0,
                    "title": "George H. W. Bush"
                },
                {
                    "ns": 0,
                    "title": "George P. Bush"
                },
                {
                    "ns": 0,
                    "title": "George W. Bush"
                },
                {
                    "ns": 0,
                    "title": "George Washington Bush"

Вы можете получить больше данных сразу, используя - https://en.wikipedia.org/w/api.php?action=query&utf8=&list=search&srsearch=George%20Bush

Это даст вам:

    "search": [
        {
            "ns": 0,
            "title": "George W. Bush",
            "pageid": 3414021,
            "size": 299185,
            "wordcount": 27007,
            "snippet": "<span class=\"searchmatch\">George</span> Walker <span class=\"searchmatch\">Bush</span> (born July 6, 1946) is an American politician who served as the 43rd President of the United States from 2001 to 2009. He had previously",
            "timestamp": "2018-09-26T21:48:08Z"
        },
        {
            "ns": 0,
            "title": "George H. W. Bush",
            "pageid": 11955,
            "size": 210189,
            "wordcount": 20867,
            "snippet": "<span class=\"searchmatch\">George</span> Herbert Walker <span class=\"searchmatch\">Bush</span> (born June 12, 1924) is an American politician who served as the 41st President of the United States from 1989 to 1993. Prior",
            "timestamp": "2018-10-01T06:41:50Z"
        },
person Terence Eden    schedule 01.10.2018
comment
Спасибо, я думаю, что смогу заставить это работать, хотя это не идеально, я тестировал Джона Леннона, Джона Смита, Александра Дюма, и, похоже, мне придется объединить оба вызова и изолировать те, которые начинаются с имени и содержат фамилию, но тогда я все еще застрял бы с такими вещами, как дискография Джона Леннона, и я бы никуда не ушел, если бы начал только с фамилии, такой как Хитченс. - person Moody_Mudskipper; 01.10.2018
comment
Кстати, расширение Викибазы позволяет использовать некоторые специальные ключевые слова в Викиданных, например. грамм. haswbstatement:P31=Q5< /а> - person Stanislav Kralin; 11.10.2018