Browse all items that are instance of Wikidata properties related to events (Q22964785).
Last active
June 11, 2018 23:00
-
-
Save mthh/77874b27e97bacc4d316b73702f5e1b8 to your computer and use it in GitHub Desktop.
Collapsible tree diagram
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
license: mit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "propri\u00e9t\u00e9 Wikidata relative \u00e0 un \u00e9v\u00e9nement", | |
"nodeId": "Q22964785", | |
"children": [ | |
{ | |
"name": "fr\u00e9quence de l'\u00e9v\u00e9nement", | |
"nodeId": "P2257" | |
}, | |
{ | |
"name": "co\u00fbt des dommages", | |
"nodeId": "P2630" | |
}, | |
{ | |
"name": "invit\u00e9 d'honneur", | |
"nodeId": "P967" | |
}, | |
{ | |
"name": "vainqueur", | |
"nodeId": "P1346" | |
}, | |
{ | |
"name": "r\u00e9pliques", | |
"nodeId": "P2320" | |
}, | |
{ | |
"name": "nombre de bless\u00e9s", | |
"nodeId": "P1339" | |
}, | |
{ | |
"name": "facteur contributif", | |
"nodeId": "P1479" | |
}, | |
{ | |
"name": "propri\u00e9t\u00e9 pour un \u00e9v\u00e9nement relatif \u00e0 une personne", | |
"nodeId": "Q18636233", | |
"children": [ | |
{ | |
"name": "date de bapt\u00eame", | |
"nodeId": "P1636" | |
}, | |
{ | |
"name": "propri\u00e9t\u00e9 Wikidata pour la naissance ou le d\u00e9c\u00e8s", | |
"nodeId": "Q18608756", | |
"children": [ | |
{ | |
"name": "lieu de d\u00e9c\u00e8s", | |
"nodeId": "P20" | |
}, | |
{ | |
"name": "date d'enterrement ou de cr\u00e9mation", | |
"nodeId": "P4602" | |
}, | |
{ | |
"name": "nombre de victimes", | |
"nodeId": "P1590" | |
}, | |
{ | |
"name": "actif en/en vie", | |
"nodeId": "P1317" | |
}, | |
{ | |
"name": "tu\u00e9 par", | |
"nodeId": "P157" | |
}, | |
{ | |
"name": "classification militaire des victimes", | |
"nodeId": "P1347" | |
}, | |
{ | |
"name": "cat\u00e9gorie pour les personnes n\u00e9es \u00e0 cet endroit", | |
"nodeId": "P1464" | |
}, | |
{ | |
"name": "circonstances du d\u00e9c\u00e8s", | |
"nodeId": "P1196" | |
}, | |
{ | |
"name": "cat\u00e9gorie pour les personnes mortes \u00e0 cet endroit", | |
"nodeId": "P1465" | |
}, | |
{ | |
"name": "cause de d\u00e9c\u00e8s", | |
"nodeId": "P509" | |
}, | |
{ | |
"name": "date de disparition", | |
"nodeId": "P746" | |
}, | |
{ | |
"name": "lieu de s\u00e9pulture", | |
"nodeId": "P119" | |
}, | |
{ | |
"name": "nombre de morts", | |
"nodeId": "P1120" | |
}, | |
{ | |
"name": "date de naissance", | |
"nodeId": "P569" | |
}, | |
{ | |
"name": "date de d\u00e9c\u00e8s", | |
"nodeId": "P570" | |
}, | |
{ | |
"name": "cat\u00e9gorie pour les personnes enterr\u00e9es \u00e0 cet endroit", | |
"nodeId": "P1791" | |
}, | |
{ | |
"name": "lieu de naissance", | |
"nodeId": "P19" | |
}, | |
{ | |
"name": "image de la tombe", | |
"nodeId": "P1442" | |
}, | |
{ | |
"name": "anniversaire", | |
"nodeId": "P3150" | |
} | |
] | |
}, | |
{ | |
"name": "lieu de d\u00e9tention", | |
"nodeId": "P2632" | |
}, | |
{ | |
"name": "\u00e2ge lors de l'\u00e9v\u00e9nement", | |
"nodeId": "P3629" | |
} | |
] | |
}, | |
{ | |
"name": "motif de fin", | |
"nodeId": "P1534" | |
}, | |
{ | |
"name": "organisateur", | |
"nodeId": "P664" | |
}, | |
{ | |
"name": "cible", | |
"nodeId": "P533" | |
}, | |
{ | |
"name": "nombre de perp\u00e9trateurs", | |
"nodeId": "P3886" | |
}, | |
{ | |
"name": "premi\u00e8re participation", | |
"nodeId": "P2318" | |
}, | |
{ | |
"name": "d\u00e9fenseur", | |
"nodeId": "P1593" | |
}, | |
{ | |
"name": "identifiant Global Terrorism Database", | |
"nodeId": "P4089" | |
}, | |
{ | |
"name": "point de d\u00e9part", | |
"nodeId": "P1427" | |
}, | |
{ | |
"name": "cause imm\u00e9diate", | |
"nodeId": "P1478" | |
}, | |
{ | |
"name": "identifiant Railways Archive de l'\u00e9v\u00e8nement", | |
"nodeId": "P2478" | |
}, | |
{ | |
"name": "nombre de participants", | |
"nodeId": "P1132" | |
}, | |
{ | |
"name": "nombre de morts", | |
"nodeId": "P1120" | |
}, | |
{ | |
"name": "indice d'explosivit\u00e9 volcanique", | |
"nodeId": "P1903" | |
}, | |
{ | |
"name": "propri\u00e9t\u00e9 Wikidata relative \u00e0 une \u00e9lection", | |
"nodeId": "Q22964818", | |
"children": [ | |
{ | |
"name": "candidat \u00e0 l'\u00e9lection", | |
"nodeId": "P3602" | |
}, | |
{ | |
"name": "corps \u00e9lectoral", | |
"nodeId": "P2964" | |
}, | |
{ | |
"name": "\u00e9lu", | |
"nodeId": "P991" | |
}, | |
{ | |
"name": "poste en jeu", | |
"nodeId": "P541" | |
}, | |
{ | |
"name": "votes valides", | |
"nodeId": "P1697" | |
}, | |
{ | |
"name": "identifiant Tagesschau d'une \u00e9lection", | |
"nodeId": "P4247" | |
}, | |
{ | |
"name": "voix re\u00e7ues", | |
"nodeId": "P1111" | |
}, | |
{ | |
"name": "candidat", | |
"nodeId": "P726" | |
}, | |
{ | |
"name": "\u00e2ge de candidature", | |
"nodeId": "P2998" | |
} | |
] | |
}, | |
{ | |
"name": "propri\u00e9t\u00e9 Wikidata relative \u00e0 un \u00e9v\u00e9nement sportif", | |
"nodeId": "Q28106586", | |
"children": [ | |
{ | |
"name": "point/but marqu\u00e9 par", | |
"nodeId": "P1363" | |
}, | |
{ | |
"name": "vainqueur", | |
"nodeId": "P1346" | |
}, | |
{ | |
"name": "minute du match", | |
"nodeId": "P1390" | |
}, | |
{ | |
"name": "arbitre", | |
"nodeId": "P1652" | |
}, | |
{ | |
"name": "identifiant Championnat de Lituanie de basket-ball", | |
"nodeId": "P4612" | |
}, | |
{ | |
"name": "diffus\u00e9 par", | |
"nodeId": "P3301" | |
}, | |
{ | |
"name": "identifiant tournoi de Wimbledon", | |
"nodeId": "P4503" | |
}, | |
{ | |
"name": "\u00e9quipes participantes", | |
"nodeId": "P1923" | |
}, | |
{ | |
"name": "en pole position", | |
"nodeId": "P3764" | |
}, | |
{ | |
"name": "identifiant Association internationale des Jeux mondiaux", | |
"nodeId": "P4588" | |
}, | |
{ | |
"name": "serment pr\u00eat\u00e9 par", | |
"nodeId": "P543" | |
}, | |
{ | |
"name": "temps de course", | |
"nodeId": "P2781" | |
}, | |
{ | |
"name": "type de surface", | |
"nodeId": "P765" | |
}, | |
{ | |
"name": "identifiant Jeux du Canada", | |
"nodeId": "P4555" | |
}, | |
{ | |
"name": "\u00e9v\u00e9nement final", | |
"nodeId": "P3967" | |
}, | |
{ | |
"name": "ligue inf\u00e9rieure", | |
"nodeId": "P2500" | |
}, | |
{ | |
"name": "sponsor", | |
"nodeId": "P859" | |
}, | |
{ | |
"name": "flamme allum\u00e9e par", | |
"nodeId": "P545" | |
}, | |
{ | |
"name": "m\u00e9thode de pointage", | |
"nodeId": "P1443" | |
}, | |
{ | |
"name": "niveau de la ligue sportive", | |
"nodeId": "P3983" | |
}, | |
{ | |
"name": "rel\u00e9gu\u00e9", | |
"nodeId": "P2882" | |
}, | |
{ | |
"name": "syst\u00e8me de point de la ligue", | |
"nodeId": "P3195" | |
}, | |
{ | |
"name": "classement de", | |
"nodeId": "P2502" | |
}, | |
{ | |
"name": "identifiant F\u00e9d\u00e9ration des Jeux du Commonwealth", | |
"nodeId": "P4548" | |
}, | |
{ | |
"name": "ligue sup\u00e9rieure", | |
"nodeId": "P2499" | |
}, | |
{ | |
"name": "qualifie pour", | |
"nodeId": "P3085" | |
}, | |
{ | |
"name": "porte-drapeau", | |
"nodeId": "P3022" | |
}, | |
{ | |
"name": "classement", | |
"nodeId": "P2501" | |
}, | |
{ | |
"name": "promu", | |
"nodeId": "P2881" | |
}, | |
{ | |
"name": "nombre de spectateurs", | |
"nodeId": "P1110" | |
} | |
] | |
}, | |
{ | |
"name": "num\u00e9ro d'\u00e9dition", | |
"nodeId": "P393" | |
}, | |
{ | |
"name": "propri\u00e9t\u00e9 Wikidata pour notice d'autorit\u00e9 de \u00e9v\u00e9nements", | |
"nodeId": "Q24575337", | |
"children": [ | |
{ | |
"name": "identifiant Old Bailey Proceedings", | |
"nodeId": "P3944" | |
}, | |
{ | |
"name": "identifiant USGS de s\u00e9isme", | |
"nodeId": "P3196" | |
}, | |
{ | |
"name": "identifiant Cycling Quotient d'une course masculine", | |
"nodeId": "P2648" | |
}, | |
{ | |
"name": "identifiant Cycling Quotient d'une course f\u00e9minine", | |
"nodeId": "P2708" | |
}, | |
{ | |
"name": "identifiant AGORHA d'un \u00e9v\u00e9nement", | |
"nodeId": "P2345" | |
}, | |
{ | |
"name": "identifiant Site du Cyclisme d'une course", | |
"nodeId": "P2330" | |
}, | |
{ | |
"name": "identifiant Tagesschau d'une \u00e9lection", | |
"nodeId": "P4247" | |
}, | |
{ | |
"name": "identifiant ProCyclingStats d'une course", | |
"nodeId": "P2327" | |
} | |
] | |
}, | |
{ | |
"name": "participant", | |
"nodeId": "P710" | |
}, | |
{ | |
"name": "Q28100241", | |
"nodeId": "Q28100241", | |
"children": [ | |
{ | |
"name": "nombre de disparus", | |
"nodeId": "P1446" | |
}, | |
{ | |
"name": "nombre de victimes", | |
"nodeId": "P1590" | |
}, | |
{ | |
"name": "co\u00fbt des dommages", | |
"nodeId": "P2630" | |
}, | |
{ | |
"name": "cause imm\u00e9diate", | |
"nodeId": "P1478" | |
}, | |
{ | |
"name": "nombre de bless\u00e9s", | |
"nodeId": "P1339" | |
}, | |
{ | |
"name": "a d\u00e9truit", | |
"nodeId": "P3082" | |
}, | |
{ | |
"name": "nombre de survivants", | |
"nodeId": "P1561" | |
}, | |
{ | |
"name": "facteur contributif", | |
"nodeId": "P1479" | |
}, | |
{ | |
"name": "nombre de morts", | |
"nodeId": "P1120" | |
} | |
] | |
}, | |
{ | |
"name": "a d\u00e9truit", | |
"nodeId": "P3082" | |
}, | |
{ | |
"name": "ordre de bataille", | |
"nodeId": "P4220" | |
}, | |
{ | |
"name": "cause imm\u00e9diate de", | |
"nodeId": "P1536" | |
}, | |
{ | |
"name": "destination du parcours", | |
"nodeId": "P1444" | |
}, | |
{ | |
"name": "facteur contributif de", | |
"nodeId": "P1537" | |
}, | |
{ | |
"name": "propri\u00e9t\u00e9 Wikidata pour pr\u00e9ciser l'emplacement d'un \u00e9v\u00e9nement", | |
"nodeId": "Q18635217", | |
"children": [ | |
{ | |
"name": "lieu de d\u00e9c\u00e8s", | |
"nodeId": "P20" | |
}, | |
{ | |
"name": "lieu de fabrication", | |
"nodeId": "P1071" | |
}, | |
{ | |
"name": "P4647", | |
"nodeId": "P4647" | |
}, | |
{ | |
"name": "lieu de travail", | |
"nodeId": "P937" | |
}, | |
{ | |
"name": "lieu de fondation", | |
"nodeId": "P740" | |
}, | |
{ | |
"name": "lieu de publication", | |
"nodeId": "P291" | |
}, | |
{ | |
"name": "lieu de s\u00e9pulture", | |
"nodeId": "P119" | |
}, | |
{ | |
"name": "lieu de d\u00e9tention", | |
"nodeId": "P2632" | |
}, | |
{ | |
"name": "lieu du mariage", | |
"nodeId": "P2842" | |
}, | |
{ | |
"name": "site d'atterrissage", | |
"nodeId": "P1158" | |
}, | |
{ | |
"name": "lieu de d\u00e9couverte astronomique", | |
"nodeId": "P65" | |
}, | |
{ | |
"name": "lieu du tournage", | |
"nodeId": "P915" | |
}, | |
{ | |
"name": "lieu de d\u00e9couverte", | |
"nodeId": "P189" | |
}, | |
{ | |
"name": "lieu de naissance", | |
"nodeId": "P19" | |
} | |
] | |
}, | |
{ | |
"name": "recherch\u00e9 par", | |
"nodeId": "P1840" | |
}, | |
{ | |
"name": "distance de l'\u00e9v\u00e9nement", | |
"nodeId": "P3157" | |
}, | |
{ | |
"name": "via", | |
"nodeId": "P2825" | |
}, | |
{ | |
"name": "nombre de disparus", | |
"nodeId": "P1446" | |
}, | |
{ | |
"name": "d\u00e9fendeur", | |
"nodeId": "P1591" | |
}, | |
{ | |
"name": "\u00e9chelle internationale des \u00e9v\u00e9nements nucl\u00e9aires", | |
"nodeId": "P2127" | |
}, | |
{ | |
"name": "jour f\u00e9ri\u00e9", | |
"nodeId": "P832" | |
}, | |
{ | |
"name": "a endommag\u00e9", | |
"nodeId": "P3081" | |
}, | |
{ | |
"name": "officiellement ouvert par", | |
"nodeId": "P542" | |
}, | |
{ | |
"name": "orateur", | |
"nodeId": "P823" | |
}, | |
{ | |
"name": "lieu", | |
"nodeId": "P276" | |
}, | |
{ | |
"name": "nombre de survivants", | |
"nodeId": "P1561" | |
}, | |
{ | |
"name": "nombre de spectateurs", | |
"nodeId": "P1110" | |
}, | |
{ | |
"name": "\u00e2ge lors de l'\u00e9v\u00e9nement", | |
"nodeId": "P3629" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="UTF-8"> | |
<style> | |
.node circle { | |
fill: #fff; | |
stroke: steelblue; | |
stroke-width: 2px; | |
} | |
.node text { | |
font: 12px sans-serif; | |
} | |
.link { | |
fill: none; | |
stroke: #ccc; | |
stroke-width: 2px; | |
} | |
#info_container { | |
width: 80%; | |
margin: auto; | |
text-align: center; | |
} | |
#info { | |
text-align: center; | |
margin: auto; | |
} | |
</style> | |
<body> | |
<!-- load the d3.js library --> | |
<script src="https://d3js.org/d3.v4.min.js"></script> | |
<script> | |
d3.json('data.json', function (error, treeData) { | |
if (error) throw error; | |
// Set the dimensions and margins of the diagram | |
var margin = {top: 20, right: 30, bottom: 30, left: 250}, | |
width = 1400 - margin.left - margin.right, | |
height = 800 - margin.top - margin.bottom; | |
// append the svg object to the body of the page | |
// appends a 'group' element to 'svg' | |
// moves the 'group' element to the top left margin | |
var svg = d3.select('body').append('svg') | |
.attr('width', width + margin.right + margin.left) | |
.attr('height', height + margin.top + margin.bottom) | |
.append('g') | |
.attr('transform', 'translate(' | |
+ margin.left + ',' + margin.top + ')'); | |
var info_section = d3.select('body') | |
.append('div') | |
.attr('id', 'info_container') | |
.insert('p') | |
.attr('id', 'info'); | |
var i = 0; | |
var duration = 750; | |
var root; | |
// declares a tree layout and assigns the size | |
var treemap = d3.tree().size([height, width]); | |
// Assigns parent, children, height, depth | |
root = d3.hierarchy(treeData, d => d.children); | |
root.x0 = height / 2; | |
root.y0 = 0; | |
// Collapse after the second level | |
root.children.forEach(collapse); | |
update(root); | |
// Collapse the node and all it's children | |
function collapse(d) { | |
if(d.children) { | |
d._children = d.children | |
d._children.forEach(collapse) | |
d.children = null | |
} | |
} | |
function update(source) { | |
// Assigns the x and y position for the nodes | |
var treeData = treemap(root); | |
// Compute the new tree layout. | |
var nodes = treeData.descendants(), | |
links = treeData.descendants().slice(1); | |
// Normalize for fixed-depth. | |
nodes.forEach(function(d){ d.y = d.depth * 260}); | |
// ****************** Nodes section *************************** | |
// Update the nodes... | |
var node = svg.selectAll('g.node') | |
.data(nodes, function(d) {return d.id || (d.id = ++i); }); | |
// Enter any new modes at the parent's previous position. | |
var nodeEnter = node.enter().append('g') | |
.attr('class', 'node') | |
.attr('transform', function(d) { | |
return 'translate(' + source.y0 + ',' + source.x0 + ')'; | |
}) | |
.on('click', click) | |
.on('mouseover', function(d) { | |
info_section.html(`Id: ${d.data.nodeId}`); | |
}); | |
// Add Circle for the nodes | |
nodeEnter.append('circle') | |
.attr('class', 'node') | |
.attr('r', 1e-6) | |
.style('fill', d => d._children ? 'lightsteelblue' : '#fff'); | |
// Add labels for the nodes | |
nodeEnter.append('text') | |
.attr('dy', '.35em') | |
.attr('x', d => d.children || d._children ? -13 : 13) | |
.attr('text-anchor', d => d.children || d._children ? 'middle' : 'start') | |
.style('font-weight', d => d.children || d._children ? 'bold' : 'normal') | |
.text(d => d.data.name); | |
// UPDATE | |
var nodeUpdate = nodeEnter.merge(node); | |
// Transition to the proper position for the node | |
nodeUpdate.transition() | |
.duration(duration) | |
.attr('transform', d => 'translate(' + d.y + ',' + d.x + ')'); | |
// Update the node attributes and style | |
nodeUpdate.select('circle.node') | |
.attr('r', 8) | |
.attr('cursor', 'pointer') | |
.style('fill', d => d._children ? 'lightsteelblue' : '#fff'); | |
// Remove any exiting nodes | |
var nodeExit = node.exit().transition() | |
.duration(duration) | |
.attr('transform', d => 'translate(' + source.y + ',' + source.x + ')') | |
.remove(); | |
// On exit reduce the node circles size to 0 | |
nodeExit.select('circle') | |
.attr('r', 1e-6); | |
// On exit reduce the opacity of text labels | |
nodeExit.select('text') | |
.style('fill-opacity', 1e-6); | |
// ****************** links section *************************** | |
// Update the links... | |
var link = svg.selectAll('path.link') | |
.data(links, function(d) { return d.id; }); | |
// Enter any new links at the parent's previous position. | |
var linkEnter = link.enter().insert('path', 'g') | |
.attr('class', 'link') | |
.attr('d', function(d){ | |
var o = {x: source.x0, y: source.y0} | |
return diagonal(o, o) | |
}); | |
// UPDATE | |
var linkUpdate = linkEnter.merge(link); | |
// Transition back to the parent element position | |
linkUpdate.transition() | |
.duration(duration) | |
.attr('d', function(d){ return diagonal(d, d.parent) }); | |
// Remove any exiting links | |
var linkExit = link.exit().transition() | |
.duration(duration) | |
.attr('d', function(d) { | |
var o = {x: source.x, y: source.y} | |
return diagonal(o, o) | |
}) | |
.remove(); | |
// Store the old positions for transition. | |
nodes.forEach(function(d){ | |
d.x0 = d.x; | |
d.y0 = d.y; | |
}); | |
// Creates a curved (diagonal) path from parent to the child nodes | |
function diagonal(s, d) { | |
return `M ${s.y} ${s.x} | |
C ${(s.y + d.y) / 2} ${s.x}, | |
${(s.y + d.y) / 2} ${d.x}, | |
${d.y} ${d.x}`; | |
} | |
// Toggle children on click. | |
function click(d) { | |
if (d.children) { | |
d._children = d.children; | |
d.children = null; | |
} else { | |
d.children = d._children; | |
d._children = null; | |
} | |
update(d); | |
} | |
} | |
}); | |
</script> | |
</body> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment