On Consistency of Graph-based Semi-supervised Learning