class_docstr: EPGM class with converter methods to edgelist, adjacency matrix, etc.
class_docstr_tok: ["EPGM","class","with","converter","methods","to","edgelist",",","adjacency","matrix",",","etc","."]
docstr: Return a list of node attribute names, for nodes of node_type type, that belong to graph with graph_id
docstr_tok: ["Return","a","list","of","node","attribute","names",",","for","nodes","of","node_type","type",",","that","belong","to","graph","with","graph_id"]
code: def node_attributes(self, graph_id, node_type):
      """Return a list of node attribute names, for nodes of node_type type, that belong to graph with graph_id"""
      x_ind = []
      nodes = [
          v
          for v in self.G["vertices"]
          if (graph_id in v["meta"]["graphs"])
          and (node_type in v["meta"]["label"])
      ]
      for v in nodes:
          for k in list(v["data"].keys()):
              x_ind.append(k)
  
      return np.unique(x_ind)
  
imports: from collections import OrderedDict
  import networkx
  from networkx.readwrite import json_graph
  import os
  import json
  import uuid
  import numpy
  import scipy.sparse
  import multiprocessing
  from multiprocessing import Pool
  from functools import partial
  from time import sleep
label_desc: Use image node_id 8 for calling the EPGM obj's underlying member method code with example usage: obj.node_attributes(graph_id, node_type) and returns: np