This “Six Degrees of Wikipedia Search” was the final Windows Programming C# assignment. It was designed to demonstrate UWP programming in C# using XAML for the UI and JSON as a data source.
“Six Degrees of Wikipedia” is a theory that everything in Wikipedia links to everything else in 6 hops or less. This application was designed to find the connections between two topics and then display the number of hops and the path it took to link the topics.
The data on Wikipedia and its intermingling links can be represented using a graph data structure. The most difficult part of this assignment was building the graph crawler. While our team succeeded in building a graph crawler, searches for topics that were more than 3 hops away from each other would take up to 15 minutes to complete. This project included a presentation component which required a live demonstration. Seeing as how a 15 minute or longer wait between search and results would ruin a presentation, we searched for an alternative method that would still meet the assignment’s requirements.
We developed a backup method of fetching the results. A PHP script was developed that would make submissions to http://degreesofwikipedia.com, scrape the data from the HTML results page, convert the data into a JSON format and serve the JSON. Given the short time frame that we had to complete the assignment, we ended up using this backup method for the final product.