Skip to content

Instantly share code, notes, and snippets.

@mthh
Last active December 18, 2017 23:45
Show Gist options
  • Save mthh/cbea1fdcfcfd7c516ad2e1ecbe79bcb1 to your computer and use it in GitHub Desktop.
Save mthh/cbea1fdcfcfd7c516ad2e1ecbe79bcb1 to your computer and use it in GitHub Desktop.
Force directed graph
license: gpl-3.0
border: no

D3 force directed graph

Data from wikidata project. Double-click on a node to see its related nodes.

{"nodes":[{"id":"traducteur","group":0,"sum":1},{"id":"\u00e9crivain de science-fiction","group":0,"sum":1},{"id":"concierge","group":0,"sum":1},{"id":"artisan","group":0,"sum":1},{"id":"critique dramatique","group":0,"sum":1},{"id":"tailleur de pierre","group":0,"sum":1},{"id":"couturier","group":0,"sum":1},{"id":"clerc de notaire","group":0,"sum":1},{"id":"professeur d'universit\u00e9","group":0,"sum":1},{"id":"p\u00e9dagogue","group":0,"sum":1},{"id":"franc-ma\u00e7onnerie","group":0,"sum":1},{"id":"cheminot","group":0,"sum":1},{"id":"ing\u00e9nieur des mines","group":0,"sum":1},{"id":"journaliste d'opinion","group":0,"sum":1},{"id":"bronzier","group":0,"sum":1},{"id":"cartographe","group":0,"sum":1},{"id":"Ma\u00e7ons de la Creuse","group":0,"sum":1},{"id":"commer\u00e7ant","group":0,"sum":1},{"id":"chapelier","group":0,"sum":1},{"id":"vendeur","group":0,"sum":1},{"id":"vannier","group":0,"sum":1},{"id":"ma\u00e7on","group":0,"sum":1},{"id":"v\u00e9t\u00e9rinaire","group":0,"sum":1},{"id":"haut fonctionnaire","group":0,"sum":1},{"id":"auteur de litt\u00e9rature pour la jeunesse","group":0,"sum":1},{"id":"peintre sur porcelaine","group":0,"sum":1},{"id":"maroquinier","group":0,"sum":1},{"id":"illustrateur","group":0,"sum":1},{"id":"restaurateur","group":0,"sum":1},{"id":"historien","group":0,"sum":1},{"id":"arch\u00e9ologue","group":0,"sum":1},{"id":"clerg\u00e9","group":0,"sum":1},{"id":"coutelier","group":0,"sum":1},{"id":"corsetier","group":0,"sum":1},{"id":"personnalit\u00e9 du monde des affaires","group":0,"sum":1},{"id":"chaudronnier","group":0,"sum":1},{"id":"caissier de banque","group":0,"sum":1},{"id":"verrier","group":0,"sum":1},{"id":"chimiste","group":0,"sum":1},{"id":"parfumeur","group":0,"sum":1},{"id":"pharmacien","group":0,"sum":1},{"id":"commissaire-priseur","group":0,"sum":1},{"id":"prostitu\u00e9","group":0,"sum":1},{"id":"assureur","group":0,"sum":1},{"id":"pamphl\u00e9taire","group":0,"sum":1},{"id":"ing\u00e9nieur","group":0,"sum":1},{"id":"caricaturiste","group":0,"sum":1},{"id":"sculpteur","group":0,"sum":1},{"id":"fondeur","group":0,"sum":1},{"id":"entrepreneur","group":0,"sum":1},{"id":"menuisier","group":0,"sum":1},{"id":"universitaire","group":0,"sum":1},{"id":"autobiographe","group":0,"sum":1},{"id":"fonctionnaire","group":0,"sum":1},{"id":"orf\u00e8vre","group":0,"sum":1},{"id":"imprimeur","group":0,"sum":1},{"id":"r\u00e9volutionnaire","group":0,"sum":1},{"id":"allumeur de r\u00e9verb\u00e8res","group":0,"sum":1},{"id":"g\u00e9ographe","group":0,"sum":1},{"id":"philosophe","group":0,"sum":1},{"id":"instituteur","group":0,"sum":1},{"id":"d\u00e9portation","group":1,"sum":1},{"id":"Insurrection de novembre 1830","group":3,"sum":1},{"id":"campagne d'Italie","group":3,"sum":1},{"id":"Bataille de Buzenval","group":3,"sum":1},{"id":"guerre de S\u00e9cession","group":3,"sum":1},{"id":"Augustin Verdure","sum":1},{"id":"Prosper-Olivier Lissagaray","sum":1},{"id":"Eug\u00e8ne Razoua","sum":1},{"id":"Jules Allix","sum":1},{"id":"Raoul Rigault","sum":1},{"id":"Jules-Nicolas-Andr\u00e9 Babick","sum":1},{"id":"Jules Andrieu","sum":1},{"id":"Constant Marie","sum":1},{"id":"Adolf Rozwadowski","sum":1},{"id":"Jules-Henri-Marius Bergeret","sum":1},{"id":"Paul Martine","sum":1},{"id":"Beno\u00eet Malon","sum":1},{"id":"Gustave Tridon","sum":1},{"id":"Hubert Geresme","sum":1},{"id":"Louis-Guillaume Debock","sum":1},{"id":"Fortun\u00e9 Henry","sum":1},{"id":"Andr\u00e9 Slomszynski","sum":1},{"id":"Edgar Monteil","sum":1},{"id":"Antonin Desfarges","sum":1},{"id":"\u00c9lisabeth Dmitrieff","sum":1},{"id":"Jean-Jacques Pillot","sum":1},{"id":"Albert Theisz","sum":1},{"id":"Marc-Am\u00e9d\u00e9e Gromier","sum":1},{"id":"Gaston Save","sum":1},{"id":"Paul Antoine Brunel","sum":1},{"id":"Andr\u00e9 Bastelica","sum":1},{"id":"\u00c9mile-Victor Duval","sum":1},{"id":"Olivier Sou\u00eatre","sum":1},{"id":"Victor Pilhes","sum":1},{"id":"Herminie Cadolle","sum":1},{"id":"Colonel Delorme","sum":1},{"id":"Pierre Denis","sum":1},{"id":"Arthur Arnould","sum":1},{"id":"Arthur Ranc","sum":1},{"id":"F\u00e9lix Pyat","sum":1},{"id":"Ernest Granger","sum":1},{"id":"Adrien Lejeune","sum":1},{"id":"Robert Caze","sum":1},{"id":"Mar\u00eda Pantaz\u00ed","sum":1},{"id":"Victor Renou","sum":1},{"id":"Eug\u00e8ne Varlin","sum":1},{"id":"Napol\u00e9on Gaillard","sum":1},{"id":"Antoine Demay","sum":1},{"id":"Charles \u00c9lie Ducoudray","sum":1},{"id":"Eug\u00e8ne Vermersch","sum":1},{"id":"Georges Cavalier","sum":1},{"id":"Ulysse Parent","sum":1},{"id":"Charles Beslay","sum":1},{"id":"Victorine Brocher","sum":1},{"id":"Gustave Courbet","sum":1},{"id":"Jacques Louis Durand","sum":1},{"id":"Adolphe Cl\u00e9mence","sum":1},{"id":"Maxime Vuillaume","sum":1},{"id":"Albert Regnard","sum":1},{"id":"Jules Joffrin","sum":1},{"id":"Auguste-Jean-Marie Vermorel","sum":1},{"id":"relieur","group":0,"sum":2},{"id":"photographe","group":0,"sum":2},{"id":"m\u00e9canicien","group":0,"sum":2},{"id":"graveur","group":0,"sum":2},{"id":"inventeur","group":0,"sum":2},{"id":"architecte","group":0,"sum":2},{"id":"joaillier","group":0,"sum":2},{"id":"rentier","group":0,"sum":2},{"id":"pr\u00e9cepteur","group":0,"sum":2},{"id":"militant","group":0,"sum":2},{"id":"bannissement","group":1,"sum":2},{"id":"guerre de Crim\u00e9e","group":3,"sum":2},{"id":"Louis-Simon Dereure","sum":2},{"id":"Th\u00e9ophile Ferr\u00e9","sum":2},{"id":"Gustave Lefran\u00e7ais","sum":2},{"id":"Charles Ledroit","sum":2},{"id":"Augustin Avrial","sum":2},{"id":"Jaros\u0142aw Dombrowski","sum":2},{"id":"Paschal Grousset","sum":2},{"id":"Eug\u00e8ne Protot","sum":2},{"id":"Armand F\u00e9lix Marie Jobb\u00e9-Duval","sum":2},{"id":"L\u00e9o Frankel","sum":2},{"id":"\u00c9mile Oudet","sum":2},{"id":"Henri Mortier","sum":2},{"id":"Charles Longuet","sum":2},{"id":"Marie Catherine Rogissart","sum":2},{"id":"Alphonse Humbert","sum":2},{"id":"Gaston Da Costa","sum":2},{"id":"Charles Ferdinand Gambon","sum":2},{"id":"Napol\u00e9on La C\u00e9cilia","sum":2},{"id":"Philippe","sum":2},{"id":"Alexandre Girault","sum":2},{"id":"Pierre V\u00e9sinier","sum":2},{"id":"Jean-Louis Pindy","sum":2},{"id":"Louis Rossel","sum":2},{"id":"Louis-Augustin Rogeard","sum":2},{"id":"Camille Langevin","sum":2},{"id":"Clovis Dupont","sum":2},{"id":"Fran\u00e7ois Jourde","sum":2},{"id":"Charles Delescluze","sum":2},{"id":"Henry Bau\u00ebr","sum":2},{"id":"Henri Rochefort","sum":2},{"id":"Henri Brissac","sum":2},{"id":"Jules Vall\u00e8s","sum":2},{"id":"Walery Wroblewski","sum":2},{"id":"\u00c9mile L\u00e9opold Cl\u00e9ment","sum":2},{"id":"Andr\u00e9 L\u00e9o","sum":2},{"id":"Jules Martelet","sum":2},{"id":"Charles G\u00e9rardin","sum":2},{"id":"Auguste Serraillier","sum":2},{"id":"Auguste Viard","sum":2},{"id":"Charles Lullier","sum":2},{"id":"Charles Amouroux","sum":2},{"id":"Jules-Ferdinand Baulard","sum":2},{"id":"Edmond-Alfred Goupy","sum":2},{"id":"Pilotell","sum":2},{"id":"Ulric de Fonvielle","sum":2},{"id":"Alphonse Lonclas","sum":2},{"id":"Henri Dabot","sum":2},{"id":"Eug\u00e8ne G\u00e9rardin","sum":2},{"id":"Jules Miot","sum":2},{"id":"Paule Minck","sum":2},{"id":"Gustave Flourens","sum":2},{"id":"Auguste Sicard","sum":2},{"id":"\u00c9lis\u00e9e Reclus","sum":2},{"id":"Louis-Denis Chalain","sum":2},{"id":"Armand Antoine Jules Arnaud","sum":2},{"id":"Jean-Martial-Anthime Dupont","sum":2},{"id":"Auguste Blanqui","sum":2},{"id":"Achille Balli\u00e8re","sum":2},{"id":"comptable","group":0,"sum":3},{"id":"clerc d'avou\u00e9","group":0,"sum":3},{"id":"typographe","group":0,"sum":3},{"id":"dessinateur","group":0,"sum":3},{"id":"chansonnier","group":0,"sum":3},{"id":"Exp\u00e9dition des Mille","group":3,"sum":3},{"id":"Insurrection polonaise de 1861-1864","group":3,"sum":3},{"id":"R\u00e9volution fran\u00e7aise de 1848","group":3,"sum":3},{"id":"Fran\u00e7ois-Charles Ostyn","sum":3},{"id":"Adolphe Assi","sum":3},{"id":"Nathalie Lemel","sum":3},{"id":"Henry Louis Champy","sum":3},{"id":"\u00c9douard Moreau","sum":3},{"id":"Ernest Puget","sum":3},{"id":"Paul Phil\u00e9mon Rastoul","sum":3},{"id":"Georges Arnold","sum":3},{"id":"Fran\u00e7ois-Louis Parisel","sum":3},{"id":"Phil\u00e9as F\u00e9lix Bermond","sum":3},{"id":"Dominique R\u00e9g\u00e8re","sum":3},{"id":"Gabriel Ranvier","sum":3},{"id":"Stanislas Xavier Pourille","sum":3},{"id":"Jean-Baptiste Cl\u00e9ment","sum":3},{"id":"Raoul Urbain","sum":3},{"id":"Pierre Bourgeois","sum":3},{"id":"Gustave Paul Cluseret","sum":3},{"id":"Jean Allemane","sum":3},{"id":"Jean-Baptiste Chardon","sum":3},{"id":"Jules Montels","sum":3},{"id":"Gustave Maroteau","sum":3},{"id":"L\u00e9o Melliet","sum":3},{"id":"Alexis Louis Trinquet","sum":3},{"id":"Eug\u00e8ne Pottier","sum":3},{"id":"Fr\u00e9d\u00e9ric Cournet","sum":3},{"id":"\u00c9douard Vaillant","sum":3},{"id":"Louise Michel","sum":3},{"id":"Amilcare Cipriani","sum":3},{"id":"Alfred-\u00c9douard Billioray","sum":3},{"id":"\u00c9mile Eudes","sum":3},{"id":"romancier","group":0,"sum":4},{"id":"m\u00e9decin","group":0,"sum":4},{"id":"Maxime Lisbonne","sum":4},{"id":"Lucien Henry","sum":4},{"id":"f\u00e9ministe","group":0,"sum":5},{"id":"guerre franco-allemande de 1870","group":3,"sum":5},{"id":"officier","group":0,"sum":6},{"id":"dramaturge","group":0,"sum":6},{"id":"franc-ma\u00e7on","group":0,"sum":6},{"id":"avocat","group":0,"sum":7},{"id":"cordonnier","group":0,"sum":8},{"id":"professeur","group":0,"sum":8},{"id":"syndicaliste","group":0,"sum":8},{"id":"anarchiste","group":0,"sum":9},{"id":"po\u00e8te","group":0,"sum":9},{"id":"peintre","group":0,"sum":9},{"id":"ouvrier","group":0,"sum":10},{"id":"militaire","group":0,"sum":12},{"id":"Commune de Paris","group":3,"sum":13},{"id":"\u00e9crivain","group":0,"sum":15},{"id":"peine de mort","group":1,"sum":39},{"id":"si\u00e8ge de Paris","group":3,"sum":41},{"id":"journaliste","group":0,"sum":48},{"id":"bagne de Nouvelle-Cal\u00e9donie","group":2,"sum":52},{"id":"personnalit\u00e9 politique","group":0,"sum":55}],"links":[{"source":"Charles Longuet","target":"journaliste","group":0},{"source":"Charles Longuet","target":"traducteur","group":0},{"source":"Charles Lullier","target":"officier","group":0},{"source":"Paschal Grousset","target":"journaliste","group":0},{"source":"Paschal Grousset","target":"\u00e9crivain","group":0},{"source":"Paschal Grousset","target":"\u00e9crivain de science-fiction","group":0},{"source":"Paschal Grousset","target":"personnalit\u00e9 politique","group":0},{"source":"\u00c9mile L\u00e9opold Cl\u00e9ment","target":"concierge","group":0},{"source":"\u00c9mile L\u00e9opold Cl\u00e9ment","target":"cordonnier","group":0},{"source":"\u00c9mile L\u00e9opold Cl\u00e9ment","target":"artisan","group":0},{"source":"Henry Bau\u00ebr","target":"critique dramatique","group":0},{"source":"Henry Bau\u00ebr","target":"dramaturge","group":0},{"source":"Henry Bau\u00ebr","target":"\u00e9crivain","group":0},{"source":"Henry Bau\u00ebr","target":"journaliste","group":0},{"source":"Alexandre Girault","target":"personnalit\u00e9 politique","group":0},{"source":"Victor Renou","target":"tailleur de pierre","group":0},{"source":"Victor Renou","target":"personnalit\u00e9 politique","group":0},{"source":"Adrien Lejeune","target":"personnalit\u00e9 politique","group":0},{"source":"Pierre Denis","target":"journaliste","group":0},{"source":"Pierre Denis","target":"dramaturge","group":0},{"source":"Charles \u00c9lie Ducoudray","target":"professeur","group":0},{"source":"Henri Brissac","target":"personnalit\u00e9 politique","group":0},{"source":"Henri Brissac","target":"journaliste","group":0},{"source":"Marie Catherine Rogissart","target":"couturier","group":0},{"source":"Ulric de Fonvielle","target":"journaliste","group":0},{"source":"Fran\u00e7ois Jourde","target":"franc-ma\u00e7on","group":0},{"source":"Fran\u00e7ois Jourde","target":"clerc de notaire","group":0},{"source":"Fran\u00e7ois Jourde","target":"comptable","group":0},{"source":"Fran\u00e7ois Jourde","target":"personnalit\u00e9 politique","group":0},{"source":"Napol\u00e9on Gaillard","target":"cordonnier","group":0},{"source":"Beno\u00eet Malon","target":"personnalit\u00e9 politique","group":0},{"source":"Beno\u00eet Malon","target":"franc-ma\u00e7on","group":0},{"source":"Beno\u00eet Malon","target":"journaliste","group":0},{"source":"Beno\u00eet Malon","target":"syndicaliste","group":0},{"source":"Arthur Ranc","target":"journaliste","group":0},{"source":"Arthur Ranc","target":"personnalit\u00e9 politique","group":0},{"source":"\u00c9lis\u00e9e Reclus","target":"anarchiste","group":0},{"source":"\u00c9lis\u00e9e Reclus","target":"professeur d'universit\u00e9","group":0},{"source":"Louise Michel","target":"personnalit\u00e9 politique","group":0},{"source":"Louise Michel","target":"journaliste","group":0},{"source":"Louise Michel","target":"po\u00e8te","group":0},{"source":"Louise Michel","target":"\u00e9crivain","group":0},{"source":"Louise Michel","target":"p\u00e9dagogue","group":0},{"source":"Louise Michel","target":"franc-ma\u00e7onnerie","group":0},{"source":"Louise Michel","target":"anarchiste","group":0},{"source":"Raoul Rigault","target":"personnalit\u00e9 politique","group":0},{"source":"Raoul Rigault","target":"\u00e9crivain","group":0},{"source":"Raoul Rigault","target":"journaliste","group":0},{"source":"Raoul Rigault","target":"franc-ma\u00e7on","group":0},{"source":"Paul Martine","target":"professeur","group":0},{"source":"Armand Antoine Jules Arnaud","target":"journaliste","group":0},{"source":"Armand Antoine Jules Arnaud","target":"cheminot","group":0},{"source":"Georges Cavalier","target":"dramaturge","group":0},{"source":"Georges Cavalier","target":"ing\u00e9nieur des mines","group":0},{"source":"Georges Cavalier","target":"journaliste","group":0},{"source":"Gustave Maroteau","target":"journaliste","group":0},{"source":"Eug\u00e8ne Varlin","target":"relieur","group":0},{"source":"Eug\u00e8ne Varlin","target":"personnalit\u00e9 politique","group":0},{"source":"Napol\u00e9on La C\u00e9cilia","target":"officier","group":0},{"source":"Napol\u00e9on La C\u00e9cilia","target":"militaire","group":0},{"source":"F\u00e9lix Pyat","target":"journaliste","group":0},{"source":"F\u00e9lix Pyat","target":"dramaturge","group":0},{"source":"F\u00e9lix Pyat","target":"personnalit\u00e9 politique","group":0},{"source":"F\u00e9lix Pyat","target":"avocat","group":0},{"source":"Gustave Lefran\u00e7ais","target":"professeur","group":0},{"source":"Gustave Lefran\u00e7ais","target":"professeur","group":0},{"source":"Gustave Lefran\u00e7ais","target":"personnalit\u00e9 politique","group":0},{"source":"Gustave Lefran\u00e7ais","target":"comptable","group":0},{"source":"Gustave Lefran\u00e7ais","target":"anarchiste","group":0},{"source":"Auguste-Jean-Marie Vermorel","target":"personnalit\u00e9 politique","group":0},{"source":"Auguste-Jean-Marie Vermorel","target":"journaliste","group":0},{"source":"Th\u00e9ophile Ferr\u00e9","target":"personnalit\u00e9 politique","group":0},{"source":"Th\u00e9ophile Ferr\u00e9","target":"clerc d'avou\u00e9","group":0},{"source":"Th\u00e9ophile Ferr\u00e9","target":"journaliste","group":0},{"source":"Arthur Arnould","target":"journaliste","group":0},{"source":"Arthur Arnould","target":"\u00e9crivain","group":0},{"source":"Arthur Arnould","target":"romancier","group":0},{"source":"Nathalie Lemel","target":"personnalit\u00e9 politique","group":0},{"source":"Nathalie Lemel","target":"f\u00e9ministe","group":0},{"source":"\u00c9lisabeth Dmitrieff","target":"f\u00e9ministe","group":0},{"source":"\u00c9lisabeth Dmitrieff","target":"personnalit\u00e9 politique","group":0},{"source":"\u00c9douard Vaillant","target":"franc-ma\u00e7on","group":0},{"source":"\u00c9douard Vaillant","target":"\u00e9crivain","group":0},{"source":"\u00c9douard Vaillant","target":"personnalit\u00e9 politique","group":0},{"source":"Amilcare Cipriani","target":"photographe","group":0},{"source":"Amilcare Cipriani","target":"anarchiste","group":0},{"source":"Adolphe Assi","target":"m\u00e9canicien","group":0},{"source":"Adolphe Assi","target":"franc-ma\u00e7on","group":0},{"source":"Adolphe Assi","target":"ouvrier","group":0},{"source":"Adolphe Cl\u00e9mence","target":"relieur","group":0},{"source":"Albert Regnard","target":"journaliste d'opinion","group":0},{"source":"Albert Regnard","target":"m\u00e9decin","group":0},{"source":"Albert Theisz","target":"bronzier","group":0},{"source":"Albert Theisz","target":"personnalit\u00e9 politique","group":0},{"source":"Alexis Louis Trinquet","target":"cordonnier","group":0},{"source":"Alfred-\u00c9douard Billioray","target":"peintre","group":0},{"source":"Alphonse Humbert","target":"personnalit\u00e9 politique","group":0},{"source":"Alphonse Humbert","target":"journaliste","group":0},{"source":"Alphonse Lonclas","target":"ouvrier","group":0},{"source":"Andr\u00e9 Bastelica","target":"journaliste","group":0},{"source":"Andr\u00e9 Bastelica","target":"anarchiste","group":0},{"source":"Andr\u00e9 Bastelica","target":"typographe","group":0},{"source":"Andr\u00e9 Bastelica","target":"syndicaliste","group":0},{"source":"Andr\u00e9 Slomszynski","target":"graveur","group":0},{"source":"Andr\u00e9 Slomszynski","target":"peintre","group":0},{"source":"Andr\u00e9 Slomszynski","target":"dessinateur","group":0},{"source":"Andr\u00e9 Slomszynski","target":"cartographe","group":0},{"source":"Antonin Desfarges","target":"personnalit\u00e9 politique","group":0},{"source":"Antonin Desfarges","target":"Ma\u00e7ons de la Creuse","group":0},{"source":"Auguste Sicard","target":"commer\u00e7ant","group":0},{"source":"Augustin Avrial","target":"personnalit\u00e9 politique","group":0},{"source":"Augustin Avrial","target":"inventeur","group":0},{"source":"Augustin Avrial","target":"m\u00e9canicien","group":0},{"source":"Augustin Avrial","target":"militaire","group":0},{"source":"Augustin Verdure","target":"professeur","group":0},{"source":"Camille Langevin","target":"syndicaliste","group":0},{"source":"Charles Amouroux","target":"syndicaliste","group":0},{"source":"Charles Amouroux","target":"personnalit\u00e9 politique","group":0},{"source":"Charles Amouroux","target":"chapelier","group":0},{"source":"Charles Ferdinand Gambon","target":"avocat","group":0},{"source":"Charles Ferdinand Gambon","target":"personnalit\u00e9 politique","group":0},{"source":"Charles Ferdinand Gambon","target":"anarchiste","group":0},{"source":"Charles G\u00e9rardin","target":"vendeur","group":0},{"source":"Charles Ledroit","target":"photographe","group":0},{"source":"Charles Ledroit","target":"cordonnier","group":0},{"source":"Charles Ledroit","target":"anarchiste","group":0},{"source":"Clovis Dupont","target":"vannier","group":0},{"source":"Clovis Dupont","target":"ouvrier","group":0},{"source":"Colonel Delorme","target":"officier","group":0},{"source":"Victorine Brocher","target":"ouvrier","group":0},{"source":"Marc-Am\u00e9d\u00e9e Gromier","target":"professeur","group":0},{"source":"Marc-Am\u00e9d\u00e9e Gromier","target":"\u00e9crivain","group":0},{"source":"Marc-Am\u00e9d\u00e9e Gromier","target":"journaliste","group":0},{"source":"Constant Marie","target":"cordonnier","group":0},{"source":"Constant Marie","target":"anarchiste","group":0},{"source":"Constant Marie","target":"ma\u00e7on","group":0},{"source":"Dominique R\u00e9g\u00e8re","target":"v\u00e9t\u00e9rinaire","group":0},{"source":"Edgar Monteil","target":"po\u00e8te","group":0},{"source":"Edgar Monteil","target":"haut fonctionnaire","group":0},{"source":"Edgar Monteil","target":"journaliste","group":0},{"source":"Edgar Monteil","target":"personnalit\u00e9 politique","group":0},{"source":"Edgar Monteil","target":"auteur de litt\u00e9rature pour la jeunesse","group":0},{"source":"Edmond-Alfred Goupy","target":"m\u00e9decin","group":0},{"source":"Ernest Granger","target":"journaliste","group":0},{"source":"Ernest Granger","target":"personnalit\u00e9 politique","group":0},{"source":"Ernest Puget","target":"comptable","group":0},{"source":"Ernest Puget","target":"peintre sur porcelaine","group":0},{"source":"Eug\u00e8ne Protot","target":"avocat","group":0},{"source":"Eug\u00e8ne Protot","target":"personnalit\u00e9 politique","group":0},{"source":"Fortun\u00e9 Henry","target":"po\u00e8te","group":0},{"source":"Fortun\u00e9 Henry","target":"journaliste","group":0},{"source":"Fortun\u00e9 Henry","target":"maroquinier","group":0},{"source":"Fran\u00e7ois-Charles Ostyn","target":"ouvrier","group":0},{"source":"Fran\u00e7ois-Louis Parisel","target":"m\u00e9decin","group":0},{"source":"Fr\u00e9d\u00e9ric Cournet","target":"personnalit\u00e9 politique","group":0},{"source":"Fr\u00e9d\u00e9ric Cournet","target":"journaliste","group":0},{"source":"Gabriel Ranvier","target":"personnalit\u00e9 politique","group":0},{"source":"Gabriel Ranvier","target":"peintre","group":0},{"source":"Auguste Blanqui","target":"personnalit\u00e9 politique","group":0},{"source":"Auguste Blanqui","target":"journaliste","group":0},{"source":"Gaston Da Costa","target":"personnalit\u00e9 politique","group":0},{"source":"Gaston Save","target":"illustrateur","group":0},{"source":"Gaston Save","target":"restaurateur","group":0},{"source":"Gaston Save","target":"peintre","group":0},{"source":"Gaston Save","target":"historien","group":0},{"source":"Gaston Save","target":"graveur","group":0},{"source":"Gaston Save","target":"arch\u00e9ologue","group":0},{"source":"Georges Arnold","target":"architecte","group":0},{"source":"Gustave Tridon","target":"\u00e9crivain","group":0},{"source":"Gustave Tridon","target":"personnalit\u00e9 politique","group":0},{"source":"Gustave Tridon","target":"journaliste","group":0},{"source":"Eug\u00e8ne Pottier","target":"dessinateur","group":0},{"source":"Eug\u00e8ne Pottier","target":"personnalit\u00e9 politique","group":0},{"source":"Eug\u00e8ne Pottier","target":"po\u00e8te","group":0},{"source":"Eug\u00e8ne Pottier","target":"\u00e9crivain","group":0},{"source":"Henri Dabot","target":"avocat","group":0},{"source":"Henri Dabot","target":"clerg\u00e9","group":0},{"source":"Henry Louis Champy","target":"joaillier","group":0},{"source":"Henry Louis Champy","target":"coutelier","group":0},{"source":"Herminie Cadolle","target":"corsetier","group":0},{"source":"Herminie Cadolle","target":"personnalit\u00e9 du monde des affaires","group":0},{"source":"Herminie Cadolle","target":"ouvrier","group":0},{"source":"Hubert Geresme","target":"ouvrier","group":0},{"source":"Jean-Baptiste Chardon","target":"rentier","group":0},{"source":"Jean-Baptiste Chardon","target":"chaudronnier","group":0},{"source":"Jean-Jacques Pillot","target":"journaliste","group":0},{"source":"Jean-Jacques Pillot","target":"\u00e9crivain","group":0},{"source":"Jean-Martial-Anthime Dupont","target":"personnalit\u00e9 politique","group":0},{"source":"Jean-Martial-Anthime Dupont","target":"caissier de banque","group":0},{"source":"Jules-Ferdinand Baulard","target":"personnalit\u00e9 politique","group":0},{"source":"Jules-Ferdinand Baulard","target":"verrier","group":0},{"source":"Jules-Henri-Marius Bergeret","target":"typographe","group":0},{"source":"Jules-Nicolas-Andr\u00e9 Babick","target":"chimiste","group":0},{"source":"Jules-Nicolas-Andr\u00e9 Babick","target":"parfumeur","group":0},{"source":"Jules Joffrin","target":"personnalit\u00e9 politique","group":0},{"source":"Jules Martelet","target":"peintre","group":0},{"source":"Jules Miot","target":"personnalit\u00e9 politique","group":0},{"source":"Jules Miot","target":"rentier","group":0},{"source":"Jules Miot","target":"pharmacien","group":0},{"source":"Jules Montels","target":"pr\u00e9cepteur","group":0},{"source":"Jules Montels","target":"commissaire-priseur","group":0},{"source":"Jules Montels","target":"anarchiste","group":0},{"source":"Jules Montels","target":"journaliste","group":0},{"source":"Jules Montels","target":"personnalit\u00e9 politique","group":0},{"source":"Louis-Augustin Rogeard","target":"journaliste","group":0},{"source":"Louis-Augustin Rogeard","target":"pr\u00e9cepteur","group":0},{"source":"Louis-Denis Chalain","target":"ouvrier","group":0},{"source":"Louis-Guillaume Debock","target":"typographe","group":0},{"source":"Louis-Guillaume Debock","target":"po\u00e8te","group":0},{"source":"Louis-Guillaume Debock","target":"syndicaliste","group":0},{"source":"Louis-Simon Dereure","target":"cordonnier","group":0},{"source":"Lucien Henry","target":"peintre","group":0},{"source":"L\u00e9o Melliet","target":"avocat","group":0},{"source":"L\u00e9o Melliet","target":"personnalit\u00e9 politique","group":0},{"source":"L\u00e9o Melliet","target":"clerc d'avou\u00e9","group":0},{"source":"Mar\u00eda Pantaz\u00ed","target":"prostitu\u00e9","group":0},{"source":"Maxime Lisbonne","target":"journaliste","group":0},{"source":"Maxime Lisbonne","target":"assureur","group":0},{"source":"Maxime Vuillaume","target":"journaliste","group":0},{"source":"Maxime Vuillaume","target":"pamphl\u00e9taire","group":0},{"source":"Maxime Vuillaume","target":"ing\u00e9nieur","group":0},{"source":"Paul Antoine Brunel","target":"militaire","group":0},{"source":"Paul Phil\u00e9mon Rastoul","target":"m\u00e9decin","group":0},{"source":"Paule Minck","target":"militant","group":0},{"source":"Paule Minck","target":"f\u00e9ministe","group":0},{"source":"Paule Minck","target":"journaliste","group":0},{"source":"Paule Minck","target":"\u00e9crivain","group":0},{"source":"Phil\u00e9as F\u00e9lix Bermond","target":"peintre","group":0},{"source":"Pierre Bourgeois","target":"militaire","group":0},{"source":"Pilotell","target":"caricaturiste","group":0},{"source":"Robert Caze","target":"po\u00e8te","group":0},{"source":"Gustave Courbet","target":"sculpteur","group":0},{"source":"Jules Allix","target":"journaliste","group":0},{"source":"Jules Allix","target":"f\u00e9ministe","group":0},{"source":"Jules Allix","target":"inventeur","group":0},{"source":"Stanislas Xavier Pourille","target":"journaliste","group":0},{"source":"Ulysse Parent","target":"dessinateur","group":0},{"source":"Victor Pilhes","target":"personnalit\u00e9 politique","group":0},{"source":"\u00c9mile-Victor Duval","target":"ouvrier","group":0},{"source":"\u00c9mile-Victor Duval","target":"militaire","group":0},{"source":"\u00c9mile-Victor Duval","target":"fondeur","group":0},{"source":"\u00c9mile Oudet","target":"ouvrier","group":0},{"source":"Eug\u00e8ne Razoua","target":"personnalit\u00e9 politique","group":0},{"source":"Eug\u00e8ne Razoua","target":"journaliste","group":0},{"source":"Eug\u00e8ne Razoua","target":"militaire","group":0},{"source":"Olivier Sou\u00eatre","target":"chansonnier","group":0},{"source":"Olivier Sou\u00eatre","target":"po\u00e8te","group":0},{"source":"\u00c9douard Moreau","target":"dramaturge","group":0},{"source":"\u00c9douard Moreau","target":"journaliste","group":0},{"source":"\u00c9douard Moreau","target":"entrepreneur","group":0},{"source":"\u00c9douard Moreau","target":"personnalit\u00e9 politique","group":0},{"source":"Jean-Louis Pindy","target":"personnalit\u00e9 politique","group":0},{"source":"Jean-Louis Pindy","target":"menuisier","group":0},{"source":"Andr\u00e9 L\u00e9o","target":"\u00e9crivain","group":0},{"source":"Andr\u00e9 L\u00e9o","target":"romancier","group":0},{"source":"Andr\u00e9 L\u00e9o","target":"f\u00e9ministe","group":0},{"source":"Andr\u00e9 L\u00e9o","target":"journaliste","group":0},{"source":"Jaros\u0142aw Dombrowski","target":"militaire","group":0},{"source":"Jean-Baptiste Cl\u00e9ment","target":"\u00e9crivain","group":0},{"source":"Jean-Baptiste Cl\u00e9ment","target":"journaliste","group":0},{"source":"Jean-Baptiste Cl\u00e9ment","target":"po\u00e8te","group":0},{"source":"Gustave Flourens","target":"officier","group":0},{"source":"Gustave Flourens","target":"militaire","group":0},{"source":"Gustave Flourens","target":"personnalit\u00e9 politique","group":0},{"source":"Gustave Flourens","target":"journaliste","group":0},{"source":"Gustave Flourens","target":"universitaire","group":0},{"source":"Charles Beslay","target":"personnalit\u00e9 politique","group":0},{"source":"Jean Allemane","target":"syndicaliste","group":0},{"source":"Jean Allemane","target":"journaliste","group":0},{"source":"Jules Vall\u00e8s","target":"autobiographe","group":0},{"source":"Jules Vall\u00e8s","target":"franc-ma\u00e7on","group":0},{"source":"Jules Vall\u00e8s","target":"personnalit\u00e9 politique","group":0},{"source":"Jules Vall\u00e8s","target":"\u00e9crivain","group":0},{"source":"Jules Vall\u00e8s","target":"romancier","group":0},{"source":"Jules Andrieu","target":"professeur","group":0},{"source":"Jules Andrieu","target":"fonctionnaire","group":0},{"source":"Charles Delescluze","target":"journaliste","group":0},{"source":"Charles Delescluze","target":"avocat","group":0},{"source":"Charles Delescluze","target":"personnalit\u00e9 politique","group":0},{"source":"Charles Delescluze","target":"clerc d'avou\u00e9","group":0},{"source":"Henri Rochefort","target":"journaliste","group":0},{"source":"Henri Rochefort","target":"romancier","group":0},{"source":"Henri Rochefort","target":"personnalit\u00e9 politique","group":0},{"source":"Henri Rochefort","target":"dramaturge","group":0},{"source":"Henri Rochefort","target":"\u00e9crivain","group":0},{"source":"\u00c9mile Eudes","target":"journaliste","group":0},{"source":"\u00c9mile Eudes","target":"militaire","group":0},{"source":"\u00c9mile Eudes","target":"officier","group":0},{"source":"Gustave Paul Cluseret","target":"militaire","group":0},{"source":"Gustave Paul Cluseret","target":"personnalit\u00e9 politique","group":0},{"source":"L\u00e9o Frankel","target":"journaliste","group":0},{"source":"L\u00e9o Frankel","target":"personnalit\u00e9 politique","group":0},{"source":"L\u00e9o Frankel","target":"joaillier","group":0},{"source":"L\u00e9o Frankel","target":"syndicaliste","group":0},{"source":"L\u00e9o Frankel","target":"orf\u00e8vre","group":0},{"source":"Louis Rossel","target":"personnalit\u00e9 politique","group":0},{"source":"Louis Rossel","target":"militaire","group":0},{"source":"Walery Wroblewski","target":"personnalit\u00e9 politique","group":0},{"source":"Walery Wroblewski","target":"militaire","group":0},{"source":"Walery Wroblewski","target":"imprimeur","group":0},{"source":"Walery Wroblewski","target":"r\u00e9volutionnaire","group":0},{"source":"Walery Wroblewski","target":"allumeur de r\u00e9verb\u00e8res","group":0},{"source":"Prosper-Olivier Lissagaray","target":"journaliste","group":0},{"source":"Jacques Louis Durand","target":"cordonnier","group":0},{"source":"Jacques Louis Durand","target":"syndicaliste","group":0},{"source":"Eug\u00e8ne Vermersch","target":"journaliste","group":0},{"source":"Eug\u00e8ne Vermersch","target":"po\u00e8te","group":0},{"source":"Auguste Serraillier","target":"cordonnier","group":0},{"source":"Charles Longuet","target":"personnalit\u00e9 politique","group":0},{"source":"\u00c9lis\u00e9e Reclus","target":"g\u00e9ographe","group":0},{"source":"Louise Michel","target":"professeur","group":0},{"source":"Pierre V\u00e9sinier","target":"journaliste","group":0},{"source":"Achille Balli\u00e8re","target":"architecte","group":0},{"source":"Armand F\u00e9lix Marie Jobb\u00e9-Duval","target":"personnalit\u00e9 politique","group":0},{"source":"Armand F\u00e9lix Marie Jobb\u00e9-Duval","target":"peintre","group":0},{"source":"Constant Marie","target":"chansonnier","group":0},{"source":"Auguste Blanqui","target":"philosophe","group":0},{"source":"Raoul Urbain","target":"instituteur","group":0},{"source":"Gustave Courbet","target":"peintre","group":0},{"source":"Jules Allix","target":"militant","group":0},{"source":"Jules Allix","target":"avocat","group":0},{"source":"Jean-Baptiste Cl\u00e9ment","target":"chansonnier","group":0},{"source":"Jean Allemane","target":"personnalit\u00e9 politique","group":0},{"source":"Jules Vall\u00e8s","target":"journaliste","group":0},{"source":"Gustave Paul Cluseret","target":"officier","group":0},{"source":"Gustave Maroteau","target":"peine de mort","group":1},{"source":"Gustave Lefran\u00e7ais","target":"peine de mort","group":1},{"source":"Th\u00e9ophile Ferr\u00e9","target":"peine de mort","group":1},{"source":"\u00c9douard Vaillant","target":"peine de mort","group":1},{"source":"Antoine Demay","target":"peine de mort","group":1},{"source":"Auguste Sicard","target":"peine de mort","group":1},{"source":"Auguste Viard","target":"peine de mort","group":1},{"source":"Camille Langevin","target":"d\u00e9portation","group":1},{"source":"Charles Ferdinand Gambon","target":"peine de mort","group":1},{"source":"Charles Ledroit","target":"peine de mort","group":1},{"source":"Ernest Puget","target":"peine de mort","group":1},{"source":"Fran\u00e7ois-Charles Ostyn","target":"peine de mort","group":1},{"source":"Fran\u00e7ois-Louis Parisel","target":"peine de mort","group":1},{"source":"Fr\u00e9d\u00e9ric Cournet","target":"peine de mort","group":1},{"source":"Gabriel Ranvier","target":"peine de mort","group":1},{"source":"Eug\u00e8ne Pottier","target":"peine de mort","group":1},{"source":"Henri Mortier","target":"peine de mort","group":1},{"source":"Jean-Baptiste Chardon","target":"peine de mort","group":1},{"source":"Jean-Martial-Anthime Dupont","target":"bannissement","group":1},{"source":"Jean-Martial-Anthime Dupont","target":"peine de mort","group":1},{"source":"Jules Miot","target":"peine de mort","group":1},{"source":"Jules Montels","target":"peine de mort","group":1},{"source":"Louis-Augustin Rogeard","target":"peine de mort","group":1},{"source":"Louis-Denis Chalain","target":"peine de mort","group":1},{"source":"Louis-Simon Dereure","target":"peine de mort","group":1},{"source":"Lucien Henry","target":"peine de mort","group":1},{"source":"L\u00e9o Melliet","target":"peine de mort","group":1},{"source":"Maxime Lisbonne","target":"peine de mort","group":1},{"source":"Philippe","target":"peine de mort","group":1},{"source":"Phil\u00e9as F\u00e9lix Bermond","target":"bannissement","group":1},{"source":"Pierre Bourgeois","target":"peine de mort","group":1},{"source":"Pilotell","target":"peine de mort","group":1},{"source":"Stanislas Xavier Pourille","target":"peine de mort","group":1},{"source":"\u00c9douard Moreau","target":"peine de mort","group":1},{"source":"Jean-Louis Pindy","target":"peine de mort","group":1},{"source":"Jean-Baptiste Cl\u00e9ment","target":"peine de mort","group":1},{"source":"Jules Vall\u00e8s","target":"peine de mort","group":1},{"source":"Charles Delescluze","target":"peine de mort","group":1},{"source":"\u00c9mile Eudes","target":"peine de mort","group":1},{"source":"Gustave Paul Cluseret","target":"peine de mort","group":1},{"source":"L\u00e9o Frankel","target":"peine de mort","group":1},{"source":"Auguste Serraillier","target":"peine de mort","group":1},{"source":"Charles Lullier","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Paschal Grousset","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Paschal Grousset","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Paschal Grousset","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"\u00c9mile L\u00e9opold Cl\u00e9ment","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henry Bau\u00ebr","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henry Bau\u00ebr","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Alexandre Girault","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henri Brissac","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henri Brissac","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Marie Catherine Rogissart","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Fran\u00e7ois Jourde","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Fran\u00e7ois Jourde","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Fran\u00e7ois Jourde","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Louise Michel","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Louise Michel","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Gustave Maroteau","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Gustave Maroteau","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Gustave Maroteau","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Nathalie Lemel","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Nathalie Lemel","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Amilcare Cipriani","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Achille Balli\u00e8re","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Achille Balli\u00e8re","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Achille Balli\u00e8re","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Adolphe Assi","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Alexis Louis Trinquet","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Alfred-\u00c9douard Billioray","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Alfred-\u00c9douard Billioray","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Alphonse Humbert","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Charles Amouroux","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Charles Amouroux","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Clovis Dupont","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Dominique R\u00e9g\u00e8re","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Dominique R\u00e9g\u00e8re","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Eug\u00e8ne G\u00e9rardin","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Eug\u00e8ne G\u00e9rardin","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Gaston Da Costa","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Gaston Da Costa","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Georges Arnold","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Georges Arnold","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henry Louis Champy","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Lucien Henry","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Maxime Lisbonne","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Maxime Lisbonne","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Paul Phil\u00e9mon Rastoul","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Raoul Urbain","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Jean Allemane","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Jean Allemane","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henri Rochefort","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henri Rochefort","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Henri Rochefort","target":"bagne de Nouvelle-Cal\u00e9donie","group":2},{"source":"Charles Longuet","target":"si\u00e8ge de Paris","group":3},{"source":"Ulric de Fonvielle","target":"Exp\u00e9dition des Mille","group":3},{"source":"\u00c9lis\u00e9e Reclus","target":"si\u00e8ge de Paris","group":3},{"source":"Louise Michel","target":"Commune de Paris","group":3},{"source":"Armand Antoine Jules Arnaud","target":"si\u00e8ge de Paris","group":3},{"source":"Napol\u00e9on La C\u00e9cilia","target":"Commune de Paris","group":3},{"source":"Napol\u00e9on La C\u00e9cilia","target":"Exp\u00e9dition des Mille","group":3},{"source":"Napol\u00e9on La C\u00e9cilia","target":"guerre franco-allemande de 1870","group":3},{"source":"Nathalie Lemel","target":"Commune de Paris","group":3},{"source":"Pierre V\u00e9sinier","target":"si\u00e8ge de Paris","group":3},{"source":"\u00c9douard Vaillant","target":"si\u00e8ge de Paris","group":3},{"source":"Amilcare Cipriani","target":"guerre franco-allemande de 1870","group":3},{"source":"Adolf Rozwadowski","target":"Commune de Paris","group":3},{"source":"Adolf Rozwadowski","target":"Insurrection de novembre 1830","group":3},{"source":"Adolf Rozwadowski","target":"Insurrection polonaise de 1861-1864","group":3},{"source":"Adolphe Assi","target":"si\u00e8ge de Paris","group":3},{"source":"Alexis Louis Trinquet","target":"si\u00e8ge de Paris","group":3},{"source":"Alfred-\u00c9douard Billioray","target":"si\u00e8ge de Paris","group":3},{"source":"Alphonse Lonclas","target":"si\u00e8ge de Paris","group":3},{"source":"Armand F\u00e9lix Marie Jobb\u00e9-Duval","target":"R\u00e9volution fran\u00e7aise de 1848","group":3},{"source":"Auguste Viard","target":"si\u00e8ge de Paris","group":3},{"source":"Augustin Avrial","target":"Commune de Paris","group":3},{"source":"Charles G\u00e9rardin","target":"si\u00e8ge de Paris","group":3},{"source":"Dominique R\u00e9g\u00e8re","target":"si\u00e8ge de Paris","group":3},{"source":"Edmond-Alfred Goupy","target":"campagne d'Italie","group":3},{"source":"Edmond-Alfred Goupy","target":"si\u00e8ge de Paris","group":3},{"source":"Ernest Puget","target":"si\u00e8ge de Paris","group":3},{"source":"Eug\u00e8ne G\u00e9rardin","target":"si\u00e8ge de Paris","group":3},{"source":"Eug\u00e8ne Protot","target":"si\u00e8ge de Paris","group":3},{"source":"Fran\u00e7ois-Charles Ostyn","target":"si\u00e8ge de Paris","group":3},{"source":"Fran\u00e7ois-Louis Parisel","target":"si\u00e8ge de Paris","group":3},{"source":"Fr\u00e9d\u00e9ric Cournet","target":"si\u00e8ge de Paris","group":3},{"source":"Gabriel Ranvier","target":"si\u00e8ge de Paris","group":3},{"source":"Auguste Blanqui","target":"R\u00e9volution fran\u00e7aise de 1848","group":3},{"source":"Auguste Blanqui","target":"Commune de Paris","group":3},{"source":"Georges Arnold","target":"si\u00e8ge de Paris","group":3},{"source":"Eug\u00e8ne Pottier","target":"R\u00e9volution fran\u00e7aise de 1848","group":3},{"source":"Eug\u00e8ne Pottier","target":"si\u00e8ge de Paris","group":3},{"source":"Eug\u00e8ne Pottier","target":"Commune de Paris","group":3},{"source":"Henri Dabot","target":"si\u00e8ge de Paris","group":3},{"source":"Henri Mortier","target":"si\u00e8ge de Paris","group":3},{"source":"Henry Louis Champy","target":"Commune de Paris","group":3},{"source":"Henry Louis Champy","target":"si\u00e8ge de Paris","group":3},{"source":"Jean-Baptiste Chardon","target":"si\u00e8ge de Paris","group":3},{"source":"Jules-Ferdinand Baulard","target":"si\u00e8ge de Paris","group":3},{"source":"Jules Martelet","target":"si\u00e8ge de Paris","group":3},{"source":"Jules Montels","target":"si\u00e8ge de Paris","group":3},{"source":"Lucien Henry","target":"si\u00e8ge de Paris","group":3},{"source":"L\u00e9o Melliet","target":"si\u00e8ge de Paris","group":3},{"source":"Maxime Lisbonne","target":"si\u00e8ge de Paris","group":3},{"source":"Maxime Lisbonne","target":"guerre de Crim\u00e9e","group":3},{"source":"Paul Phil\u00e9mon Rastoul","target":"si\u00e8ge de Paris","group":3},{"source":"Paule Minck","target":"Commune de Paris","group":3},{"source":"Philippe","target":"si\u00e8ge de Paris","group":3},{"source":"Phil\u00e9as F\u00e9lix Bermond","target":"si\u00e8ge de Paris","group":3},{"source":"Pierre Bourgeois","target":"guerre franco-allemande de 1870","group":3},{"source":"Raoul Urbain","target":"si\u00e8ge de Paris","group":3},{"source":"Stanislas Xavier Pourille","target":"si\u00e8ge de Paris","group":3},{"source":"\u00c9mile Oudet","target":"Commune de Paris","group":3},{"source":"\u00c9douard Moreau","target":"Bataille de Buzenval","group":3},{"source":"Andr\u00e9 L\u00e9o","target":"si\u00e8ge de Paris","group":3},{"source":"Jaros\u0142aw Dombrowski","target":"Insurrection polonaise de 1861-1864","group":3},{"source":"Jaros\u0142aw Dombrowski","target":"Commune de Paris","group":3},{"source":"Jean-Baptiste Cl\u00e9ment","target":"guerre franco-allemande de 1870","group":3},{"source":"Gustave Flourens","target":"si\u00e8ge de Paris","group":3},{"source":"Jean Allemane","target":"si\u00e8ge de Paris","group":3},{"source":"\u00c9mile Eudes","target":"si\u00e8ge de Paris","group":3},{"source":"Gustave Paul Cluseret","target":"Exp\u00e9dition des Mille","group":3},{"source":"Gustave Paul Cluseret","target":"guerre de Crim\u00e9e","group":3},{"source":"Louis Rossel","target":"guerre franco-allemande de 1870","group":3},{"source":"Louis Rossel","target":"Commune de Paris","group":3},{"source":"Walery Wroblewski","target":"Insurrection polonaise de 1861-1864","group":3},{"source":"Walery Wroblewski","target":"Commune de Paris","group":3},{"source":"Gustave Paul Cluseret","target":"guerre de S\u00e9cession","group":3}]}
<!DOCTYPE html>
<meta charset="utf-8">
<style>
text { font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; }
svg { width: 100%; }
.link {
fill: none;
stroke: darkgray;
stroke-width: 1.25px;
stroke-opacity: 0.9;
}
.link.desactived {
stroke: darkgray;
stroke-width: 1px;
stroke-opacity: 0.1;
}
.link.highlight {
stroke: black;
stroke-width: 2px;
stroke-opacity: 1;
}
.link.highlight_relation {
stroke: darkgray;
stroke-width: 1.5px;
stroke-opacity: 0.9;
}
circle {
stroke: #000;
stroke-width: 0.75px;
}
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
</style>
<body>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="http://d3js.org/d3-selection-multi.v1.js"></script>
<script>
let width = 1200;
let height = 800;
let tm;
const margin = { top: 25, bottom: 25, left: 25, right: 25 };
const svg = d3.select('body')
.append('svg')
.attr('width', width)
.attr('height', height);
const g = svg.append('g')
.attr('transform', 'translate(' + margin.top + ',' + margin.left + ')');
width = width - margin.left - margin.right;
height = height - margin.top - margin.bottom;
const color = d3.scaleOrdinal(d3.schemeCategory10);
const simulation = d3.forceSimulation()
.force('link', d3.forceLink().id(d => d.id).strength(0.0090))
.force('collide', d3.forceCollide().radius(9))
.force('charge', d3.forceManyBody().strength(-10))
.force('center', d3.forceCenter(width / 2, height / 2));
let group_node, link, node, nodelabels, nodelabelshadow;
d3.json('data2.json', (error, data) => {
if (error) throw error;
data.nodes.forEach((c) => {
c.props = data.links
.filter(ft => ft.source === c.id)
.map(l => [l.group, l.target]);
});
link = g.append('g')
.selectAll('.link')
.data(data.links)
.enter()
.append('path')
.attr('class', 'link');
group_node = g.append('g')
.attr('class', 'nodes')
.selectAll('.gn')
.data(data.nodes)
.enter()
.append('g')
.attr('class', 'gn')
.styles({
cursor: 'pointer',
'fill-opacity': 0.9,
'stroke-opacity': 0.9,
});
node = group_node.append('circle')
.attr('r', d => d.radius = d.group > -1 ? Math.sqrt(d.sum) * 7 : 8)
.attr('fill', d => d.group > -1 ? color(d.group) : 'lightgray')
.call(d3.drag()
.on('start', dragstarted)
.on('drag', dragged)
.on('end', dragended));
nodelabelshadow = group_node.append('text')
.attrs(d => ({
x: d.x,
y: d.y,
class: 'nodelabelshadow noselect',
}))
.styles(d => ({
fill: 'black',
stroke: 'black',
'font-size': d.group > -1 ? '14px' : '9px',
'font-weight': d.group > -1 ? 800 : 400,
'stroke-width': d.group > -1 ? 3 : 0,
}))
.text(d => d.id);
nodelabels = group_node.append('text')
.attrs(d => ({
x: d.x,
y: d.y,
class: 'nodelabel noselect',
}))
.styles(d => ({
'font-size': d.group > -1 ? '14px' : '9px',
'font-weight': d.group > -1 ? 800 : 400,
'stroke-width': 0,
fill: d.group > -1 ? color(d.group) : 'black',
}))
.text(d => d.id);
group_node.on('dblclick', function (d) {
clearTimeout(tm);
resetOpacity();
if (!d.props || d.props.length === 0) { // A 'property value' node is clicked:
link.each(function (_d) {
d3.select(this)
.classed(_d.target.id === d.id ? 'highlight_relation' : 'desactived', true);
});
group_node.each(function (_d){
let related = false;
if (_d.props && _d.props.length > 0) {
_d.props.forEach(prop => {
if (prop[1] === d.id) related = true;
});
}
if (related) {
d3.select(this)
.styles({
'fill-opacity': 1,
'stroke-opacity': 1,
});
} else {
d3.select(this)
.styles({
'fill-opacity': 0.1,
'stroke-opacity': 0.1,
});
}
})
d3.select(this).styles({ 'fill-opacity': 1, 'stroke-opacity': 1 });
tm = setTimeout(resetOpacity, 3500);
} else { // A 'communard' node is clicked :
link.each(function (_d) {
if (_d.source.id === d.id) {
d3.select(this).classed('highlight', true);
} else {
let related = false;
d.props.forEach((p) => {
if (_d.target.id === p[1]) related = true;
});
if (related) {
d3.select(this).classed('highlight_relation', true);
} else {
d3.select(this).classed('desactived', true);
}
}
});
group_node.each(function (_d){
let related = false;
if (!_d.props || _d.props.length === 0) {
d.props.forEach((prop) => {
if (prop[1] === _d.id) related = true;
});
} else {
d.props.forEach((prop) => {
_d.props.forEach((op) => {
if (op[0] === prop[0] && op[1] === prop[1]) {
related = true;
}
})
});
}
if (related) {
d3.select(this)
.styles({
'fill-opacity': 1,
'stroke-opacity': 1,
});
} else {
d3.select(this)
.styles({
'fill-opacity': 0.1,
'stroke-opacity': 0.1,
});
}
})
d3.select(this).styles({ 'fill-opacity': 1, 'stroke-opacity': 1 })
.select('circle')
.attrs({ fill: 'yellow', r: 14 });
tm = setTimeout(resetOpacity, 3500);
}
});
simulation
.nodes(data.nodes)
.on('tick', ticked);
simulation.force('link')
.links(data.links);
});
function ticked() {
link.attr('d', positionLink);
node.attrs((d) => {
d.x = Math.max(d.radius, Math.min(width - d.radius, d.x));
d.y = Math.max(d.radius, Math.min(height - d.radius, d.y));
return { cx: d.x, cy: d.y };
});
nodelabels.attrs(d => ({ x: d.x, y: d.y }));
nodelabelshadow.attrs(d => ({ x: d.x, y: d.y }));
}
function resetOpacity() {
group_node
.style('fill-opacity', 1)
.style('stroke-opacity', 1);
node
.attr('r', d => d.radius = d.group > -1 ? Math.sqrt(d.sum) * 8 : 10)
.attr('fill', d => d.group > -1 ? color(d.group) : 'lightgray')
link
.classed('highlight', false)
.classed('highlight_relation', false)
.classed('desactived', false);
}
function positionLink(d) {
const offset = 30;
const midpoint_x = (d.source.x + d.target.x) / 2;
const midpoint_y = (d.source.y + d.target.y) / 2;
const dx = (d.target.x - d.source.x);
const dy = (d.target.y - d.source.y);
const normalise = Math.sqrt((dx * dx) + (dy * dy));
const offSetX = midpoint_x + offset * (dy / normalise);
const offSetY = midpoint_y - offset * (dx / normalise);
return 'M' + d.source.x + ',' + d.source.y +
'S' + offSetX + ',' + offSetY +
' ' + d.target.x + ',' + d.target.y;
}
function dragstarted(d) {
if (!d3.event.active) simulation.alphaTarget(0.3).restart();
d.fx = d.x;
d.fy = d.y;
}
function dragged(d) {
d.fx = d3.event.x;
d.fy = d3.event.y;
}
function dragended(d) {
if (!d3.event.active) simulation.alphaTarget(0);
d.fx = null;
d.fy = null;
}
</script>
</body>
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
try: import ujson as json
except: import json
from collections import Counter
sparql_query = """SELECT ?personLabel ?wdLabel ?ps_Label ?wdpqLabel ?pq_Label {
?person wdt:P106 wd:Q1780490.
?person ?p ?statement.
?statement ?ps ?ps_.
?wd wikibase:claim ?p.
?wd wikibase:statementProperty ?ps.
OPTIONAL {
?statement ?pq ?pq_.
?wdpq wikibase:qualifier ?pq.
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en" }
} ORDER BY ?wd ?statement ?ps_"""
res = requests.get(
"https://query.wikidata.org/bigdata/namespace/wdq/sparql?query={}&format=json"
.format(sparql_query))
data = json.loads(res.content)
data_light = [{
'personLabel': elem['personLabel']['value'],
'wdLabel': elem['wdLabel']['value'],
'ps_Label': elem['ps_Label']['value'],
'wdpqLabel': elem['wdpqLabel']['value'] if 'wdpqLabel' in elem else None,
'pq_Label': elem['pq_Label']['value'] if 'pq_Label' in elem else None,
} for elem in data['results']['bindings']]
all_props = list(set([
a['wdLabel'] for a in data_light
if not 'ID' in a['wdLabel'] and not 'identifiant' in a['wdLabel']]))
############################################
# Prepare the data for force directed graph
###########################################
props_extract = ['occupation', 'condamnation', 'lieu de détention', 'conflit']
nodes_communards = {
k: 0 for k in set([elem['personLabel'] for elem in data_light]) }
nodes, links = [], []
for ix_prop, selected_prop in enumerate(props_extract):
selection = []
for elem in data_light:
if elem['wdLabel'] == selected_prop \
and elem['ps_Label'] != 'communard':
selection.append((elem['personLabel'], elem['ps_Label']))
for i in set([s[0] for s in selection]):
nodes_communards[i] += 1
for elem, nb in Counter([s[1] for s in selection]).items():
nodes.append({ 'id': elem, 'group': ix_prop, 'sum': nb })
for elem in selection:
links.append({'source': elem[0], 'target': elem[1], 'group': ix_prop})
for name, count in nodes_communards.items():
if count > 0:
nodes.append({ 'id': name, 'sum': count })
nodes.sort(key=lambda x: x['sum'])
with open('data2.json', 'w') as f:
f.write(json.dumps({
'nodes': nodes,
'links': links,
}))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment