Yes that will help. I think I can do much better with the knowledge graph implementation using something like PyVis, which I discovered recently. I wrapped an existing JS graph implementation as a Streamlit Component, and it’s a bit clunky. The layout of the app can also be improved. Still, you can use it as a staring point.
FYI
You’ll see I use _set_state_cb
with most of my widgets. To understand that see the answer I gave to this user: Streamlit login solution need to click on "Login" button twice to login - #2 by asehmi
Send me DMs if you want some help with Weaviate, and I’ll try to help you? I have a PhD thesis too and other long docs that may get a new lease of life (for me) from your solution .