In weakly supervised learning, labeling rules can automatically label data to train models. However, due to insufficient prior knowledge, rule discovery often suffers from semantic drift. Since misclassified rules are generated from wrongly matched sentences, the sentences matched by rules shift from the target labels to other labels. It is worth noting that rules do not exist in isolation. The multi-dimensional semantic associations among rules can impose semantic constraints for rule generation, as well as enrich the semantic information of rules for rule matching. Therefore, we propose a Knowledge-Graph-based RulE Discovery method (KGRED), which can leverage the multi-dimensional semantic associations among rules to alleviate semantic drift in rule discovery. Specifically, to decrease misclassified rules, we design a label-aware rule generation approach to attentively propagate prior knowledge from seed rules to candidate rules based on rule KG. To reduce wrongly-matched sentences, we present a cross-attention-based semantic matching mechanism to refine the semantic information of sentences while enriching that of rules. Moreover, we propose an inconsistency-directed active learning strategy to verify rules that perform inconsistently in rule generation and matching. Experiments on two public datasets prove that KGRED can achieve at least 5.1 % gain in F1 score compared to state-of-the-art methods.