blazingbunny commited on
Commit
649323e
Β·
verified Β·
1 Parent(s): 4b4abb7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -21
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", # avoid writing ./lib
192
  )
193
 
194
- net.set_options("""
195
- const options = {
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, # tooltip always available
220
- "value": width_val, # width scales with frequency
221
  "color": color_for_predicate(p, freq_pred),
222
  }
223
  if label_mode == "Always visible":
224
- edge_kwargs["label"] = p # visible text on the edge
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
  """