descriptionGiven a wikipedia article, build a graph of article links
repository URLhttps://github.com/dueringa/WikiWalker.git
ownerandreas@duering-andreas.de
last changeThu, 19 Apr 2018 18:40:03 +0000 (19 20:40 +0200)
last refreshFri, 17 May 2024 16:03:30 +0000 (17 18:03 +0200)
content tags
add:
README.md

WikiWalker

Given a Wikipedia article, build a graph of article links

Input can be any Wikipedia URL. The results can be stored in a JSON cache file. This cache file can be used in successive runs, whereas on each start the cache file is read, combined with the Wikipedia data, and stored again.

Building

CMake is used as build system. You need curl and (boost::program_options or getopt).

Note for Debian / Ubuntu(?) users

Debian ships an old version of UnitTest++, which also uses a custom pkg-config file Unfortunately, this is completely incompatible with e.g. Gentoo, and the current version on GitHub, see also here.

Building under Windows

Why would you want to do that?

You'll need

By default, cmake wants to use dynamic boost libs, but by default, boost bootstrap builds static libs only. So you need to set Boost_USE_STATIC_LIBS=ON in addition to BOOST_ROOT in cmake.

Alternatively, have a look at vcpkg, a tool to build and install libraries under Windows, and make them findable by cmake.

Generating graphs with Graphviz

Since graphs can get very wide, it's recommended to unflatten the graph first:

unflatten -l5 file.dot | dot ...

Also, have a look at Gephi.

Where 5 is the "depth" the links get distributed to.

Formatting

The root directory contains a .clang-format, which can be used to reformat the source code with clang-format. Alernatively, use the cmake target clang-format-source.

shortlog
2018-04-19 Andreas DüringSupport conversion of linksheremaster
2018-04-17 Andreas DüringUpdate TODO
2018-04-17 Andreas DüringAdd comment to analyzed callfeature/backwardsLinks
2018-04-17 Andreas DüringAdd conversion for backwards links
2018-04-17 Andreas Düringif branch for links json data
2018-04-17 Andreas Düringadd tests for backwards links / linkshere
2018-04-15 Andreas DüringFix - allow port be specified in URLv0.3.0
2018-04-15 Andreas DüringPass title by const reference
2018-04-15 Andreas Düringremoved access to static method by instance (clang...
2018-04-15 Andreas DüringAdd dummy source files so clang-tidy works easily
2018-04-15 Andreas DüringFix API design, allow all Wikimedia instances and fix...
2018-04-15 Andreas DüringRemove code redundancy by changing API / behaviorfeature/fixDesign-6
2018-04-15 Andreas DüringFix error in fixing error in fix converter
2018-04-15 Andreas DüringAdd TODO item
2018-04-15 Andreas DüringFix error in converter
2018-04-14 Andreas DüringAdd function to fetch backward links
...
tags
6 years ago v0.3.0 Release of version 0.3.0
6 years ago v0.2.0 Version 0.2.0
6 years ago v0.1.2 Version 0.1.2
6 years ago v0.1.1 Tag version v0.1.1.
6 years ago v0.1 Tag / Release version 0.1
heads
6 years ago master
6 years ago feature/backwardsLinks
6 years ago feature/fixDesign-6
6 years ago feature/curlCertBundle
6 years ago feature/fixDesign-5
6 years ago feature/ignoreSslVerification
6 years ago feature/serializerWithVersion
6 years ago feature/serializer
6 years ago feature/addSourceProperty
6 years ago feature/addLibrary
6 years ago feature/fixDesign
7 years ago feature/objectLibrary
7 years ago feature/goDeeper
7 years ago sandbox
7 years ago extremelyUglyCyclicDependency