class_docstr: Roman-empire dataset from the 'A Critical Look at the Evaluation of GNNs under Heterophily:
  Are We Really Making Progress? <https://arxiv.org/abs/2302.11640>'__ paper.
  
  This dataset is based on the Roman Empire article from English Wikipedia, which was selected
  since it is one of the longest articles on Wikipedia. Each node in the graph corresponds to one
  (non-unique) word in the text. Thus, the number of nodes in the graph is equal to the article’s
  length. Two words are connected with an edge if at least one of the following two conditions
  holds: either these words follow each other in the text, or these words are connected in the
  dependency tree of the sentence (one word depends on the other). Thus, the graph is a chain
  graph with additional shortcut edges corresponding to syntactic dependencies between words. The
  class of a node is its syntactic role (17 most frequent roles were selected as unique classes
  and all the other roles were grouped into the 18th class). Node features are word embeddings.
  
  Statistics:
  
  - Nodes: 22662
  - Edges: 65854
  - Classes: 18
  - Node features: 300
  - 10 train/val/test splits
  
  Parameters
  ----------
  raw_dir : str, optional
      Raw file directory to store the processed data. Default: ~/.dgl/
  force_reload : bool, optional
      Whether to re-download the data source. Default: False
  verbose : bool, optional
      Whether to print progress information. Default: True
  transform : callable, optional
      A transform that takes in a :class:`~dgl.DGLGraph` object and returns
      a transformed version. The :class:`~dgl.DGLGraph` object will be
      transformed before every access. Default: None
  
  Attributes
  ----------
  num_classes : int
      Number of node classes
  
  
  Examples
  --------
  
  >>> from dgl.data import RomanEmpireDataset
  >>> dataset = RomanEmpireDataset()
  >>> g = dataset[0]
  >>> num_classes = dataset.num_classes
  
  >>> # get node features
  >>> feat = g.ndata["feat"]
  
  >>> # get the first data split
  >>> train_mask = g.ndata["train_mask"][:, 0]
  >>> val_mask = g.ndata["val_mask"][:, 0]
  >>> test_mask = g.ndata["test_mask"][:, 0]
  
  >>> # get labels
  >>> label = g.ndata['label']
class_docstr_tok: ["Roman-empire","dataset","from","the","'","A","Critical","Look","at","the","Evaluation","of","GNNs","under","Heterophily",":","Are","We","Really","Making","Progress","?","<","https",":","\/\/arxiv.org\/abs\/2302.11640",">","'__","paper",".","This","dataset","is","based","on","the","Roman","Empire","article","from","English","Wikipedia",",","which","was","selected","since","it","is","one","of","the","longest","articles","on","Wikipedia",".","Each","node","in","the","graph","corresponds","to","one","(","non-unique",")","word","in","the","text",".","Thus",",","the","number","of","nodes","in","the","graph","is","equal","to","the","article","\u2019","s","length",".","Two","words","are","connected","with","an","edge","if","at","least","one","of","the","following","two","conditions","holds",":","either","these","words","follow","each","other","in","the","text",",","or","these","words","are","connected","in","the","dependency","tree","of","the","sentence","(","one","word","depends","on","the","other",")",".","Thus",",","the","graph","is","a","chain","graph","with","additional","shortcut","edges","corresponding","to","syntactic","dependencies","between","words",".","The","class","of","a","node","is","its","syntactic","role","(","17","most","frequent","roles","were","selected","as","unique","classes","and","all","the","other","roles","were","grouped","into","the","18th","class",")",".","Node","features","are","word","embeddings",".","Statistics",":","-","Nodes",":","22662","-","Edges",":","65854","-","Classes",":","18","-","Node","features",":","300","-","10","train\/val\/test","splits","Parameters","--","--","--","--","--","raw_dir",":","str",",","optional","Raw","file","directory","to","store","the","processed","data",".","Default",":","~\/.dgl\/","force_reload",":","bool",",","optional","Whether","to","re-download","the","data","source",".","Default",":","False","verbose",":","bool",",","optional","Whether","to","print","progress","information",".","Default",":","True","transform",":","callable",",","optional","A","transform","that","takes","in","a",":","class",":","`","~dgl.DGLGraph","`","object","and","returns","a","transformed","version",".","The",":","class",":","`","~dgl.DGLGraph","`","object","will","be","transformed","before","every","access",".","Default",":","None","Attributes","--","--","--","--","--","num_classes",":","int","Number","of","node","classes","Examples","--","--","--","--",">",">",">","from","dgl.data","import","RomanEmpireDataset",">",">",">","dataset","=","RomanEmpireDataset","(",")",">",">",">","g","=","dataset","[","0","]",">",">",">","num_classes","=","dataset.num_classes",">",">",">","#","get","node","features",">",">",">","feat","=","g.ndata","[","``","feat","''","]",">",">",">","#","get","the","first","data","split",">",">",">","train_mask","=","g.ndata","[","``","train_mask","''","]","[",":",",","0","]",">",">",">","val_mask","=","g.ndata","[","``","val_mask","''","]","[",":",",","0","]",">",">",">","test_mask","=","g.ndata","[","``","test_mask","''","]","[",":",",","0","]",">",">",">","#","get","labels",">",">",">","label","=","g.ndata","[","'label","'","]"]
code: def __init__(
      self,
      raw_dir=None,
      force_reload=False,
      verbose=True,
      transform=None,
  ):
      super(RomanEmpireDataset, self).__init__(
          name="roman-empire",
          raw_dir=raw_dir,
          force_reload=force_reload,
          verbose=verbose,
          transform=transform,
      )
  
imports: import os
  import numpy
  from ..convert import graph
  from ..transforms.functional import to_bidirected
  from .dgl_dataset import DGLBuiltinDataset
  from .utils import download
label_desc: Use image node_id 1 to create a new RomanEmpireDataset object from inherited base classes: HeterophilousGraphDataset with example: obj = RomanEmpireDataset(raw_dir, force_reload, verbose, transform)