-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathknowledge_graph.html
127 lines (78 loc) · 5.05 KB
/
knowledge_graph.html
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
<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/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/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: 600px;
background-color: #222222;
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": "#97c2fc", "font": {"color": "white"}, "id": 1, "label": "GameNGen", "shape": "dot", "size": 50.0, "title": "GameNGen"}, {"color": "#97c2fc", "font": {"color": "white"}, "id": 2, "label": "Diffusion Models", "shape": "dot", "size": 50.0, "title": "Diffusion Models"}, {"color": "#97c2fc", "font": {"color": "white"}, "id": 3, "label": "Neural Networks", "shape": "dot", "size": 40.0, "title": "Neural Networks"}, {"color": "#97c2fc", "font": {"color": "white"}, "id": 4, "label": "Game Engine", "shape": "dot", "size": 40.0, "title": "Game Engine"}, {"color": "#97c2fc", "font": {"color": "white"}, "id": 5, "label": "DOOM", "shape": "dot", "size": 30.0, "title": "DOOM"}, {"color": "#97c2fc", "font": {"color": "white"}, "id": 6, "label": "RL-Agent", "shape": "dot", "size": 30.0, "title": "RL-Agent"}, {"color": "#97c2fc", "font": {"color": "white"}, "id": 7, "label": "Stable Diffusion", "shape": "dot", "size": 20.0, "title": "Stable Diffusion"}]);
edges = new vis.DataSet([{"from": 1, "title": "powered by", "to": 2}, {"from": 1, "title": "simulates", "to": 5}, {"from": 1, "title": "type of", "to": 4}, {"from": 2, "title": "trained by", "to": 6}, {"from": 2, "title": "implements", "to": 3}, {"from": 2, "title": " variant of", "to": 7}, {"from": 3, "title": "utilizes", "to": 4}]);
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 = {"physics": {"forceAtlas2Based": {"gravitationalConstant": -50, "centralGravity": 0.01, "springLength": 100, "springConstant": 0.08}, "minVelocity": 0.75, "solver": "forceAtlas2Based"}};
network = new vis.Network(container, data, options);
return network;
}
drawGraph();
</script>
</body>
</html>