Right now you already have a good pipeline:
Search with keyphrases → get candidate sentences.
Use embeddings to find similar examples.
LLM checks patterns and makes the final call.
This works well because embeddings + LLM can capture meaning and handle fuzzy matches.
Structure: You can connect rules → groups → keywords → example sentences.
Disambiguation: Add explicit links like “6th day ≠ 7th day” or “evening ≠ night” so the system knows how to separate similar rules.
Explainability: Easier to show why a sentence matched a rule (“matched Rule X because of keyword Y and example Z”).
New rules: A KG can flag “unmatched sentences,” but creating a new rule is still an expert job.
Accuracy: If embeddings + LLM already work well, a KG won’t suddenly make results much better.
Maintenance: Building and updating a KG for 300+ rules takes work/
Don’t replace your current pipeline.
Use a small KG as an extra layer for disambiguation and explanations.
For new rules, cluster unmatched sentences and let experts decide.
A KG/Graph-RAG can help with clarity, disambiguation, and trust, but it won’t replace what you already built. Think of it as a way to organize and explain results, not as a magic accuracy booster.