We've done a very similar procedure just with FalkorDB as a Graph Database.
Notice if you already have a schema/ontology it might be easier might you might miss some entities in the text you did realize exist.
So in our in GraphRAG-SDK we are running two phases, the first is sampling the data to suggest a schema and the second is using this schema to ground the LLM to this schema (as you suggested)
This is exactly why we're working on the GraphRAG-SDK to ease the process.
You might want to check out https://github.com/FalkorDB/GraphRAG-SDK/ and we would love to hear your feedback
Indeed, if you build the Knowledge Graph in a "naive" way but just asking the LLM to generate a Knowledge Graph you'll probably end up with a very "dirty" Knowledge Graph full with duplications.
The GraphRAG project is great and really shows the why Vector Databases can provide a full RAG solution when it comes to none trivial search queries.
But in order to build a full an accurate Knowledge Graph we found out you need more than just loading the text to LLM.