Update app.py
Browse files
app.py
CHANGED
@@ -171,13 +171,6 @@ def render_color_legend(freq_pred):
|
|
171 |
|
172 |
# ββ PyVis renderer (inline assets, optional labels) βββββββββββββββββββββββββββββ
|
173 |
def edges_to_pyvis_with_freq(edges, label_mode: str):
|
174 |
-
"""
|
175 |
-
Render PyVis graph with:
|
176 |
-
- visible edge labels (predicate) OR tooltip-only
|
177 |
-
- edge width scaled by exact triple frequency
|
178 |
-
- edge color based on predicate frequency
|
179 |
-
- inline assets (no filesystem writes)
|
180 |
-
"""
|
181 |
triples = edges_to_rdf(edges)
|
182 |
freq_triplet, freq_pred = count_relation_frequency(triples)
|
183 |
|
@@ -188,19 +181,11 @@ def edges_to_pyvis_with_freq(edges, label_mode: str):
|
|
188 |
font_color="#222222",
|
189 |
notebook=False,
|
190 |
directed=False,
|
191 |
-
cdn_resources="in_line",
|
192 |
)
|
193 |
|
194 |
-
|
195 |
-
|
196 |
-
edges: {
|
197 |
-
font: { size: 12, align: "middle" },
|
198 |
-
smooth: { type: "dynamic" },
|
199 |
-
scaling: { min: 1, max: 10 }
|
200 |
-
},
|
201 |
-
physics: { stabilization: true }
|
202 |
-
}
|
203 |
-
""")
|
204 |
|
205 |
seen = set()
|
206 |
for t in triples:
|
@@ -216,17 +201,18 @@ def edges_to_pyvis_with_freq(edges, label_mode: str):
|
|
216 |
|
217 |
width_val = int(max(1, freq_triplet[(s, p, o)]))
|
218 |
edge_kwargs = {
|
219 |
-
"title": p,
|
220 |
-
"value": width_val,
|
221 |
"color": color_for_predicate(p, freq_pred),
|
222 |
}
|
223 |
if label_mode == "Always visible":
|
224 |
-
edge_kwargs["label"] = p
|
225 |
net.add_edge(n1, n2, **edge_kwargs)
|
226 |
|
227 |
net.toggle_physics(True)
|
228 |
return net, triples, freq_triplet, freq_pred
|
229 |
|
|
|
230 |
# ββ Cytoscape.js renderer (embedded HTML; no new Python deps) βββββββββββββββββββ
|
231 |
def cytoscape_html(triples, freq_triplet, freq_pred, label_mode: str):
|
232 |
"""
|
|
|
171 |
|
172 |
# ββ PyVis renderer (inline assets, optional labels) βββββββββββββββββββββββββββββ
|
173 |
def edges_to_pyvis_with_freq(edges, label_mode: str):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
triples = edges_to_rdf(edges)
|
175 |
freq_triplet, freq_pred = count_relation_frequency(triples)
|
176 |
|
|
|
181 |
font_color="#222222",
|
182 |
notebook=False,
|
183 |
directed=False,
|
184 |
+
cdn_resources="in_line",
|
185 |
)
|
186 |
|
187 |
+
# β
valid JSON (not JS)
|
188 |
+
net.set_options(json.dumps(PYVIS_OPTIONS))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
|
190 |
seen = set()
|
191 |
for t in triples:
|
|
|
201 |
|
202 |
width_val = int(max(1, freq_triplet[(s, p, o)]))
|
203 |
edge_kwargs = {
|
204 |
+
"title": p,
|
205 |
+
"value": width_val,
|
206 |
"color": color_for_predicate(p, freq_pred),
|
207 |
}
|
208 |
if label_mode == "Always visible":
|
209 |
+
edge_kwargs["label"] = p
|
210 |
net.add_edge(n1, n2, **edge_kwargs)
|
211 |
|
212 |
net.toggle_physics(True)
|
213 |
return net, triples, freq_triplet, freq_pred
|
214 |
|
215 |
+
|
216 |
# ββ Cytoscape.js renderer (embedded HTML; no new Python deps) βββββββββββββββββββ
|
217 |
def cytoscape_html(triples, freq_triplet, freq_pred, label_mode: str):
|
218 |
"""
|