We have taken data available in Wikidata and DBpedia on 'Military Conflicts' to create this interactive visualisation in nodegoat:

Wikidata

From the outside, it can be a challenge to keep up with all the developments within the ever expanding universe of wiki*/*pedia. So it's good to be reminded now and then of all the structured data that has become available thanks to their efforts:

This looks pretty neat, especially since Wikidata currently has over 947 million triples in their data store. Since battles usually have a place and a date, it would be nice to import this data into a data design in nodegoat and visualise these battles through time and space (diachronic geospatiality ftw).

So we checked the Wikidata sparql-endpoint to see what we can work with. Currently, there are 8049 instances of battles . If we select all the battles that have a location and a date, we are left with 410 battles. This query does not take into account that the location may be stored on a deeper level (as these battles may have a ‘place’ that has a location) and that the date may be stored as a ‘start time’ and ‘end time’. To take this into account, we use the following query:

PREFIX wd: < http://www.wikidata.org/entity/> PREFIX wdt: < http://www.wikidata.org/prop/direct/> PREFIX rdfs: < http://www.w3.org/2000/01/rdf-schema#> SELECT ?subject ?label ?coordinates (CONCAT(STR(DAY(?date)),"-",STR(MONTH(?date)),"-",STR(YEAR(?date))) as ?displaydate) (CONCAT(STR(DAY(?start)),"-",STR(MONTH(?start)),"-",STR(YEAR(?start))) as ?displaystart) (CONCAT(STR(DAY(?end)),"-",STR(MONTH(?end)),"-",STR(YEAR(?end))) as ?displayend) WHERE { ?subject wdt:P31 wd:Q178561 . OPTIONAL { ?subject rdfs:label ?label FILTER (lang(?label) = "en") . } OPTIONAL { ?subject wdt:P580 ?start . } OPTIONAL { ?subject wdt:P582 ?end . } OPTIONAL { ?subject wdt:P625 ?coordinates . } OPTIONAL { ?subject wdt:P585 ?date . } OPTIONAL { ?subject wdt:P276 ?location . ?location wdt:P625 ?coordinates . } OPTIONAL { ?subject wdt:P361 ?war . ?war wdt:P580 ?start . ?war wdt:P582 ?end . } }

Here we use OPTIONAL to be able to include all available objects (even if they miss a property). Eventually we gathered 2657 battles that have both a location and a date. After a bit of cleaning (you can do this in Open Refine, or even in LibreOffice Calc or Excel), we've imported this set into nodegoat:

You can use the timeline to scroll through time. We’ve added a colour scheme to differentiate between periods in time. Click here to view this in a new window. Clicking a dot opens a dialogue with a link to the object in Wikidata.

DBPedia

Last Friday, we noticed the buzz around the #dbpediadenhaag event and the discussions about the data DBPedia has harvested from Wikipedia. So we queried the DBpedia sparql-endpoint to see what battles they have in store. We found 12674 instances of MilitaryConflict. Of these, 4022 have date and location properties.

SELECT DISTINCT ?battle (SAMPLE(?dates) as ?date) ?location WHERE { ?battle rdf:type dbo:MilitaryConflict . ?battle dbo:date ?dates . ?battle georss:point ?location . }

If we look a level deeper for dates and locations we get 10116 battles that have a place and a date reference. The dates are messier than the dates available through Wikidata (as these have been harvested), so a bit more clean up is required here to get a workable list. Once we’ve imported this into nodegoat, we get this result. We can also combine both sets (with a total of 12703 records). And highlight the provenance of each dot.

Most of the differences are a result of the messy dates in DBpedia. For example, compare dbp:date in this DBpedia record with the date in the infobox (which DPpedia harvests) of the original Wikipedia article. Other differences are due to the fact that we picked one location per battle and rounding of the latitude and longitude values.

Furthermore, we found that very little statements in Wikidata had a proper reference and most of them referenced only to ‘French Wikipedia’/‘English Wikipedia’ etc (which was already noted by this report). See this article on the overlaps/differences between Wikidata and DBpedia.

Connecting the Dots

Once we had this up and running we checked what kind of objects relate to the events we found. There seems to be quite some data on the American Civil War in Wikidata, so we made a query to list the people who were present at the battles we identified earlier. This data allowed us to connect battles based on people who moved from one battle to another.

We also included the births and deaths of these people to be able to produce this visualisation:

Click here to view this in a new window. The 1957 death is William Lundy, see him singled out here.

Data

CSV-files generated and used: