Веб -приложение для визуализации соединений между страницами Википедии. Попробуйте это на Wikipedia.luk.ke.

Начните с ввода темы в текстовое поле, например, кошки . Будет генерируется один «узел», помеченный кот , который появляется в виде круга на графике. Нажмите на этот узел, чтобы расширить его.
Расширение узла создает новый узел для каждой статьи в Википедии, связанной в первом абзаце статьи, которую вы нажали . Эти новые узлы будут подключены к узлу, из которого они были расширены. Например, расширение CAT создаст восемь узлов, включая мех , млекопитающее , плотоядное животное и одомашнивание , каждый из которых будет подключен к CAT . Эти новые узлы также могут быть расширены таким же образом. Продолжая расширять узлы, вы можете создать сложную сеть связанных тем.
Вы также можете ввести несколько статей, чтобы «сравнить», нажав запятую, вкладку или ввести после каждого введенного вами.
Когда вы нажимаете, чтобы развернуть узел, в Wikipedia API представлен запрос на загрузку полного содержания статьи Википедии, соответствующей этому узлу. Wikipedia Map использует эти данные, чтобы найти ссылки в первом абзаце статьи.
wikipedia_parse.js использует API DOMParser для анализа Wikipedia Pages 'HTML (извлечен из вызовов в API Википедии). Парсер ищет тег <p> , соответствующий первым абзацам статьи, затем извлекает все ссылки <a> тега в этом абзаце. Затем он фильтрует ссылки, чтобы включить только те, которые ссылаются на другие статьи в Википедии.
Вы можете увидеть это в действии сами в консоли вашего браузера. Если у вас открыта карта Википедии, откройте инструменты разработчика вашего браузера и тип await getSubPages('Cat') . Через секунду вы должны увидеть массив с именами других связанных статей.
Фронт-энд использует vis.js для отображения графика. Каждый раз, когда нажимается узел, приложение делает XMLHttpRequest на сервере node.js. Полученные ссылки добавляются в виде новых узлов, окрашенных в соответствии с их расстоянием от центрального узла (как описано выше).
Использовать приложение локально, просто
git clone https://github.com/controversial/wikipedia-map/ и открыть index.html в веб -браузере. Компиляция или сервер не требуется для запуска фронтального.
Расширение узла создает узлы для каждой статьи, связанной в первом абзаце статьи для узела, который вы расширяете. Я решил использовать ссылки только из первого абзаца статьи по 2 причинам:
Узлы светлее по цвету, когда они находятся дальше от центрального узла. Если потребуется 5 шагов, чтобы добраться до древнегреческого из Пингвина , это будет более светлый цвет, чем узел, такой как птицы , который занял всего 2 шага. Таким образом, цвет узела указывает, насколько близко статья связана с центральной темой.
Парание мыши над узлом выделит путь обратно к центральному узлу:
Это не обязательно самый короткий путь назад; Это путь, по которому вы пошли, чтобы достичь узла.
.gitignore -ify Справочник библиотек, нет причин, чтобы он был здесь, когда я не писал этого материала Этот проект работает от Википедии, чья богатство информации делает возможным этот проект.
Презентация графика оснащена vis.js