parameters: (ego, ego_name, nbrs_num, sampler)
return_statement: return ego
docstring: creates the meta-math sampler of the input ego.
      ego: A query object, the input centric nodes/edges
      ego_name: A string, the name of `ego`.
      nbrs_num: A list, the number of neighbors for each hop.
      sampler: A string, the strategy of neighbor sampling.
docstring_summary: creates the meta-math sampler of the input ego.
      ego: A query object, the input centric nodes/edges
      ego_name: A string, the name of `ego`.
      nbrs_num: A list, the number of neighbors for each hop.
      sampler: A string, the strategy of neighbor sampling.
docstring_tokens: creates the meta - math sampler of the input ego . ego : A query object the input centric nodes / edges ego_name : A string the name of ego . nbrs_num : A list the number of neighbors for each hop . sampler : A string the strategy of neighbor sampling .
function: def meta_path_sample(ego, ego_name, nbrs_num, sampler):
    """ creates the meta-math sampler of the input ego.
      ego: A query object, the input centric nodes/edges
      ego_name: A string, the name of `ego`.
      nbrs_num: A list, the number of neighbors for each hop.
      sampler: A string, the strategy of neighbor sampling.
    """
    alias_list = [ego_name + '_hop_' + str(i + 1) for i in range(len(nbrs_num))]
    for nbr_count, alias in zip(nbrs_num, alias_list):
      ego = ego.outV('train').sample(nbr_count).by(sampler).alias(alias)
    return ego
function_tokens: def meta_path_sample ( ego , ego_name , nbrs_num , sampler ) : alias_list = [ ego_name + '_hop_' + str ( i + 1 ) for i in range ( len ( nbrs_num ) ) ] for nbr_count , alias in zip ( nbrs_num , alias_list ) : ego = ego . outV ( 'train' ) . sample ( nbr_count ) . by ( sampler ) . alias ( alias ) return ego