تطبيق ويب لتصور الاتصالات بين صفحات ويكيبيديا. جربه في wikipedia.luk.ke.

ابدأ بإدخال موضوع في مربع النص ، على سبيل المثال القطط . سيتم إنشاء "عقدة" واحدة ، CAT المسمى ، والتي تظهر كدائرة على الرسم البياني. انقر فوق هذه العقدة لتوسيعها.
يقوم توسيع العقدة بإنشاء عقدة جديدة لكل مقالة ويكيبيديا مرتبطة في الفقرة الأولى من المقالة التي نقرت عليها . سيتم توصيل هذه العقد الجديدة بالعقدة التي تم توسيعها منها. على سبيل المثال ، سيقوم توسيع CAT بإنشاء ثمانية عقد ، بما في ذلك الفراء والثدييات والآلام اللحرية والتدجين ، سيتم توصيل كل منها بـ CAT . يمكن أيضًا توسيع هذه العقد الجديدة بنفس الطريقة. من خلال الاستمرار في توسيع العقد ، يمكنك بناء شبكة معقدة من الموضوعات ذات الصلة.
يمكنك أيضًا إدخال مقالات متعددة "للمقارنة" عن طريق الضغط على فاصلة أو علامة تبويب أو إدخال بعد كل مقالات تدخلها.
عند النقر لتوسيع عقدة ، يتم تقديم طلب إلى واجهة برمجة تطبيقات ويكيبيديا لتنزيل المحتوى الكامل لمقال ويكيبيديا المقابل لتلك العقدة. تستخدم خريطة ويكيبيديا هذه البيانات للعثور على الروابط في الفقرة الأولى من المقالة.
يستخدم wikipedia_parse.js API DOMParser لتحليل HTML صفحات ويكيبيديا (تم استرجاعه من المكالمات إلى واجهة برمجة تطبيقات ويكيبيديا). يبحث المحللون عن علامة <p> المقابلة للفقرة الأولى من المقالة ، ثم يستخرج جميع روابط العلامة <a> داخل هذه الفقرة. ثم يقوم بتصفية الروابط لتشمل فقط تلك التي ترتبط بمقالات ويكيبيديا الأخرى.
يمكنك أن ترى هذا في العمل بنفسك في وحدة التحكم في متصفحك. إذا كنت قد فتحت خريطة ويكيبيديا ، فافتح أدوات مطور المستعرض الخاصة بك ونوعها await getSubPages('Cat') . بعد ثانية ، يجب أن ترى صفيفًا بأسماء المقالات الأخرى ذات الصلة.
يستخدم الواجهة الأمامية vis.js لعرض الرسم البياني. في كل مرة يتم فيها النقر فوق العقدة ، يقوم التطبيق بعمل XMLHttpRequest إلى خادم Node.js. تتم إضافة الروابط الناتجة كعقد جديدة ، ملونة وفقًا لمسافة العقدة المركزية (كما هو موضح أعلاه).
لاستخدام التطبيق محليا ، ببساطة
git clone https://github.com/controversial/wikipedia-map/ وفتح index.html في متصفح الويب. لا يوجد تجميع أو خادم ضروري لتشغيل الواجهة الأمامية.
يقوم توسيع العقدة بإنشاء عقد لكل مقالة مرتبطة في الفقرة الأولى من المقالة للعقدة التي توسعها. لقد اخترت استخدام الروابط فقط من الفقرة الأولى من مقال لسببين:
العقد أخف في اللون عندما تكون بعيدة عن العقدة المركزية. إذا استغرق الأمر 5 خطوات للوصول إلى اليونانية القديمة من البطريق ، فسيكون لونه أخف من عقدة مثل الطيور ، والتي استغرقت خطوتين فقط للوصول إليها. وبالتالي ، يشير لون العقدة إلى مدى ارتباط مقال بالموضوع المركزي.
يحوم الماوس فوق العقدة سوف يسلط الضوء على المسار إلى العقدة المركزية:
هذا ليس بالضرورة أقصر مسار. إنه المسار الذي اتخذته للوصول إلى العقدة.
.gitignore -ify دليل المكتبات ، لا يوجد سبب لوجوده هنا عندما لم أكتب هذه الأشياء هذا المشروع مدعوم من ويكيبيديا ، التي تجعل ثروة المعلومات من هذا المشروع ممكنة.
يتم تشغيل عرض الرسم البياني بواسطة vis.js