-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathknowledge_graph.html
More file actions
155 lines (106 loc) · 16.6 KB
/
knowledge_graph.html
File metadata and controls
155 lines (106 loc) · 16.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<html>
<head>
<meta charset="utf-8">
<script src="lib/bindings/utils.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<center>
<h1></h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"
></script>
<center>
<h1></h1>
</center>
<style type="text/css">
#mynetwork {
width: 100%;
height: 700px;
background-color: #ffffff;
border: 1px solid lightgray;
position: relative;
float: left;
}
</style>
</head>
<body>
<div class="card" style="width: 100%">
<div id="mynetwork" class="card-body"></div>
</div>
<script type="text/javascript">
// initialize global variables.
var edges;
var nodes;
var allNodes;
var allEdges;
var nodeColors;
var originalNodes;
var network;
var container;
var options, data;
var filter = {
item : '',
property : '',
value : []
};
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "#008080", "id": "alexander fought", "label": "alexander fought", "shape": "dot", "size": 10}, {"color": "#008080", "id": "alexander macedonians", "label": "alexander macedonians", "shape": "dot", "size": 10}, {"color": "#008080", "id": "macedonia alexander", "label": "macedonia alexander", "shape": "dot", "size": 10}, {"color": "#008080", "id": "macedonian king", "label": "macedonian king", "shape": "dot", "size": 10}, {"color": "#008080", "id": "alexander conquer", "label": "alexander conquer", "shape": "dot", "size": 10}, {"color": "#008080", "id": "battle alexander", "label": "battle alexander", "shape": "dot", "size": 10}, {"color": "#008080", "id": "fight alexander", "label": "fight alexander", "shape": "dot", "size": 10}, {"color": "#008080", "id": "greeks alexander", "label": "greeks alexander", "shape": "dot", "size": 10}, {"color": "#008080", "id": "persia alexander", "label": "persia alexander", "shape": "dot", "size": 10}, {"color": "#008080", "id": "persians alexander", "label": "persians alexander", "shape": "dot", "size": 10}, {"color": "#008080", "id": "empire alexander", "label": "empire alexander", "shape": "dot", "size": 10}, {"color": "#008080", "id": "conquests macedonians", "label": "conquests macedonians", "shape": "dot", "size": 10}, {"color": "#008080", "id": "macedonian military", "label": "macedonian military", "shape": "dot", "size": 10}, {"color": "#008080", "id": "battles persians", "label": "battles persians", "shape": "dot", "size": 10}, {"color": "#008080", "id": "battle persians", "label": "battle persians", "shape": "dot", "size": 10}, {"color": "#008080", "id": "leading macedonian", "label": "leading macedonian", "shape": "dot", "size": 10}, {"color": "#008080", "id": "remained macedonian", "label": "remained macedonian", "shape": "dot", "size": 10}, {"color": "#008080", "id": "macedonian heir", "label": "macedonian heir", "shape": "dot", "size": 10}, {"color": "#008080", "id": "king macedonia", "label": "king macedonia", "shape": "dot", "size": 10}, {"color": "#008080", "id": "son macedonian", "label": "son macedonian", "shape": "dot", "size": 10}, {"color": "#008080", "id": "empire rome", "label": "empire rome", "shape": "dot", "size": 10}, {"color": "#008080", "id": "rome sacked", "label": "rome sacked", "shape": "dot", "size": 10}, {"color": "#008080", "id": "roman empire", "label": "roman empire", "shape": "dot", "size": 10}, {"color": "#008080", "id": "roman emperor", "label": "roman emperor", "shape": "dot", "size": 10}, {"color": "#008080", "id": "western roman", "label": "western roman", "shape": "dot", "size": 10}, {"color": "#008080", "id": "empire persisted", "label": "empire persisted", "shape": "dot", "size": 10}, {"color": "#008080", "id": "fall roman", "label": "fall roman", "shape": "dot", "size": 10}, {"color": "#008080", "id": "weakened empire", "label": "weakened empire", "shape": "dot", "size": 10}, {"color": "#008080", "id": "strained empire", "label": "strained empire", "shape": "dot", "size": 10}, {"color": "#008080", "id": "athlete podcaster", "label": "athlete podcaster", "shape": "dot", "size": 10}, {"color": "#008080", "id": "fridman podcast", "label": "fridman podcast", "shape": "dot", "size": 10}, {"color": "#008080", "id": "huberman podcast", "label": "huberman podcast", "shape": "dot", "size": 10}, {"color": "#008080", "id": "podcast discuss", "label": "podcast discuss", "shape": "dot", "size": 10}, {"color": "#008080", "id": "podcast stanford", "label": "podcast stanford", "shape": "dot", "size": 10}, {"color": "#008080", "id": "skill podcast", "label": "skill podcast", "shape": "dot", "size": 10}, {"color": "#008080", "id": "podcast hubermanlab", "label": "podcast hubermanlab", "shape": "dot", "size": 10}, {"color": "#008080", "id": "lab podcast", "label": "lab podcast", "shape": "dot", "size": 10}, {"color": "#008080", "id": "podcast lex", "label": "podcast lex", "shape": "dot", "size": 10}, {"color": "#008080", "id": "podcast guest", "label": "podcast guest", "shape": "dot", "size": 10}, {"color": "#008080", "id": "palestine conflict", "label": "palestine conflict", "shape": "dot", "size": 10}, {"color": "#008080", "id": "palestine meaning", "label": "palestine meaning", "shape": "dot", "size": 10}, {"color": "#008080", "id": "palestine separate", "label": "palestine separate", "shape": "dot", "size": 10}, {"color": "#008080", "id": "arabs palestine", "label": "arabs palestine", "shape": "dot", "size": 10}, {"color": "#008080", "id": "mediterranean israel", "label": "mediterranean israel", "shape": "dot", "size": 10}, {"color": "#008080", "id": "jews israel", "label": "jews israel", "shape": "dot", "size": 10}, {"color": "#008080", "id": "conflict israelis", "label": "conflict israelis", "shape": "dot", "size": 10}, {"color": "#008080", "id": "israeli conflict", "label": "israeli conflict", "shape": "dot", "size": 10}, {"color": "#008080", "id": "israelis palestinians", "label": "israelis palestinians", "shape": "dot", "size": 10}, {"color": "#008080", "id": "conflict israeli", "label": "conflict israeli", "shape": "dot", "size": 10}, {"color": "#008080", "id": "flexibility routine", "label": "flexibility routine", "shape": "dot", "size": 10}, {"color": "#008080", "id": "way flexibility", "label": "way flexibility", "shape": "dot", "size": 10}, {"color": "#008080", "id": "flexibility", "label": "flexibility", "shape": "dot", "size": 10}, {"color": "#008080", "id": "couch stretch", "label": "couch stretch", "shape": "dot", "size": 10}, {"color": "#008080", "id": "coached exercises", "label": "coached exercises", "shape": "dot", "size": 10}, {"color": "#008080", "id": "stretch uncomfortable", "label": "stretch uncomfortable", "shape": "dot", "size": 10}, {"color": "#008080", "id": "exercises", "label": "exercises", "shape": "dot", "size": 10}, {"color": "#008080", "id": "stretch need", "label": "stretch need", "shape": "dot", "size": 10}, {"color": "#008080", "id": "scales straightening", "label": "scales straightening", "shape": "dot", "size": 10}, {"color": "#008080", "id": "strength progressions", "label": "strength progressions", "shape": "dot", "size": 10}, {"color": "#008080", "id": "augustulus overthrown", "label": "augustulus overthrown", "shape": "dot", "size": 10}, {"color": "#008080", "id": "dunne editor", "label": "dunne editor", "shape": "dot", "size": 10}, {"color": "#008080", "id": "designer dhirendra", "label": "designer dhirendra", "shape": "dot", "size": 10}, {"color": "#008080", "id": "editor claire", "label": "editor claire", "shape": "dot", "size": 10}, {"color": "#008080", "id": "designer vanessa", "label": "designer vanessa", "shape": "dot", "size": 10}, {"color": "#008080", "id": "northern writers", "label": "northern writers", "shape": "dot", "size": 10}, {"color": "#008080", "id": "inness illustrations", "label": "inness illustrations", "shape": "dot", "size": 10}, {"color": "#008080", "id": "designer harish", "label": "designer harish", "shape": "dot", "size": 10}, {"color": "#008080", "id": "authors appear", "label": "authors appear", "shape": "dot", "size": 10}, {"color": "#008080", "id": "editor gareth", "label": "editor gareth", "shape": "dot", "size": 10}, {"color": "#008080", "id": "books contributors", "label": "books contributors", "shape": "dot", "size": 10}, {"color": "#008080", "id": "war iii", "label": "war iii", "shape": "dot", "size": 10}, {"color": "#008080", "id": "wwiii ww3", "label": "wwiii ww3", "shape": "dot", "size": 10}, {"color": "#008080", "id": "ww3", "label": "ww3", "shape": "dot", "size": 10}, {"color": "#008080", "id": "world war", "label": "world war", "shape": "dot", "size": 10}, {"color": "#008080", "id": "nuclear war", "label": "nuclear war", "shape": "dot", "size": 10}, {"color": "#008080", "id": "war hypothetical", "label": "war hypothetical", "shape": "dot", "size": 10}, {"color": "#008080", "id": "world wars", "label": "world wars", "shape": "dot", "size": 10}, {"color": "#008080", "id": "war world", "label": "war world", "shape": "dot", "size": 10}, {"color": "#008080", "id": "worldwide war", "label": "worldwide war", "shape": "dot", "size": 10}, {"color": "#008080", "id": "war scenarios", "label": "war scenarios", "shape": "dot", "size": 10}]);
edges = new vis.DataSet([{"from": "alexander fought", "to": "alexander macedonians", "width": 1}, {"from": "alexander fought", "to": "macedonia alexander", "width": 1}, {"from": "alexander fought", "to": "macedonian king", "width": 1}, {"from": "alexander macedonians", "to": "alexander conquer", "width": 1}, {"from": "alexander macedonians", "to": "battle alexander", "width": 1}, {"from": "alexander macedonians", "to": "fight alexander", "width": 1}, {"from": "alexander macedonians", "to": "greeks alexander", "width": 1}, {"from": "alexander macedonians", "to": "persia alexander", "width": 1}, {"from": "alexander macedonians", "to": "persians alexander", "width": 1}, {"from": "alexander macedonians", "to": "empire alexander", "width": 1}, {"from": "macedonia alexander", "to": "alexander conquer", "width": 1}, {"from": "macedonia alexander", "to": "battle alexander", "width": 1}, {"from": "macedonia alexander", "to": "fight alexander", "width": 1}, {"from": "macedonia alexander", "to": "greeks alexander", "width": 1}, {"from": "macedonia alexander", "to": "persia alexander", "width": 1}, {"from": "macedonia alexander", "to": "persians alexander", "width": 1}, {"from": "macedonia alexander", "to": "empire alexander", "width": 1}, {"from": "macedonian king", "to": "fight alexander", "width": 1}, {"from": "macedonian king", "to": "greeks alexander", "width": 1}, {"from": "macedonian king", "to": "persia alexander", "width": 1}, {"from": "macedonian king", "to": "persians alexander", "width": 1}, {"from": "macedonian king", "to": "empire alexander", "width": 1}, {"from": "alexander conquer", "to": "conquests macedonians", "width": 1}, {"from": "alexander conquer", "to": "macedonian military", "width": 1}, {"from": "conquests macedonians", "to": "battles persians", "width": 1}, {"from": "conquests macedonians", "to": "battle persians", "width": 1}, {"from": "conquests macedonians", "to": "greeks alexander", "width": 1}, {"from": "conquests macedonians", "to": "empire alexander", "width": 1}, {"from": "battle alexander", "to": "macedonian military", "width": 1}, {"from": "macedonian military", "to": "battles persians", "width": 1}, {"from": "macedonian military", "to": "battle persians", "width": 1}, {"from": "macedonian military", "to": "persia alexander", "width": 1}, {"from": "greeks alexander", "to": "leading macedonian", "width": 1}, {"from": "greeks alexander", "to": "remained macedonian", "width": 1}, {"from": "greeks alexander", "to": "macedonian heir", "width": 1}, {"from": "greeks alexander", "to": "king macedonia", "width": 1}, {"from": "greeks alexander", "to": "son macedonian", "width": 1}, {"from": "persia alexander", "to": "leading macedonian", "width": 1}, {"from": "persia alexander", "to": "remained macedonian", "width": 1}, {"from": "persia alexander", "to": "macedonian heir", "width": 1}, {"from": "persia alexander", "to": "king macedonia", "width": 1}, {"from": "persia alexander", "to": "son macedonian", "width": 1}, {"from": "persians alexander", "to": "leading macedonian", "width": 1}, {"from": "persians alexander", "to": "remained macedonian", "width": 1}, {"from": "persians alexander", "to": "macedonian heir", "width": 1}, {"from": "persians alexander", "to": "son macedonian", "width": 1}, {"from": "empire alexander", "to": "empire rome", "width": 1}, {"from": "empire alexander", "to": "king macedonia", "width": 1}, {"from": "empire rome", "to": "rome sacked", "width": 1}, {"from": "empire rome", "to": "roman empire", "width": 1}, {"from": "empire rome", "to": "roman emperor", "width": 1}, {"from": "empire rome", "to": "western roman", "width": 1}, {"from": "empire rome", "to": "empire persisted", "width": 1}, {"from": "rome sacked", "to": "roman empire", "width": 1}, {"from": "rome sacked", "to": "fall roman", "width": 1}, {"from": "roman empire", "to": "weakened empire", "width": 1}, {"from": "roman empire", "to": "roman emperor", "width": 1}, {"from": "roman empire", "to": "western roman", "width": 1}, {"from": "roman empire", "to": "fall roman", "width": 1}, {"from": "roman empire", "to": "strained empire", "width": 1}, {"from": "fall roman", "to": "western roman", "width": 1}, {"from": "fall roman", "to": "roman emperor", "width": 1}, {"from": "weakened empire", "to": "strained empire", "width": 1}, {"from": "weakened empire", "to": "empire persisted", "width": 1}, {"from": "strained empire", "to": "empire persisted", "width": 1}]);
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
for (nodeId in allNodes) {
nodeColors[nodeId] = allNodes[nodeId].color;
}
allEdges = edges.get({ returnType: "Object" });
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
var options = {
"configure": {
"enabled": false
},
"edges": {
"color": {
"inherit": true
},
"smooth": {
"enabled": true,
"type": "dynamic"
}
},
"interaction": {
"dragNodes": true,
"hideEdgesOnDrag": false,
"hideNodesOnDrag": false
},
"physics": {
"enabled": true,
"stabilization": {
"enabled": true,
"fit": true,
"iterations": 1000,
"onlyDynamicEdges": false,
"updateInterval": 50
}
}
};
network = new vis.Network(container, data, options);
return network;
}
drawGraph();
</script>
</body>
</html>