Iterative heterogeneous graph learning for knowledge graph-based recommendation