MCPcopy Create free account
hub / github.com/alibaba/graph-learn / FakeNode

Class FakeNode

graphlearn/python/gsl/dag_node.py:645–676  ·  view source on GitHub ↗

FakeNode is used for adding corresponding DagNode of E.outV()/inV() to Dag. E.outV()/inV() doesn't raise any operator, but only changes the field which downstream absorbs.

Source from the content-addressed store, hash-verified

643
644
645class FakeNode(TraverseVertexDagNode):
646 """ FakeNode is used for adding corresponding DagNode of E.outV()/inV()
647 to Dag. E.outV()/inV() doesn't raise any operator, but only changes the
648 field which downstream absorbs.
649 """
650 def __init__(self, dag_node):
651 super(FakeNode, self).__init__(dag_node._dag)
652 if not isinstance(dag_node, TraverseEdgeDagNode):
653 raise ValueError("FakeNode is a fake for TraverseEdgeDagNode, not {}"
654 .format(type(dag_node)))
655 self._upstream = dag_node
656 self._shape = dag_node._shape
657
658 @property
659 def nid(self):
660 return self._upstream.nid
661
662 def set_ready(self, node_id):
663 # Override
664 return False
665
666 def _add_out_edge(self, edge):
667 # Override
668 self._upstream._add_out_edge(edge)
669
670 def _link_to_sink(self):
671 # Override
672 pass
673
674 def feed_values(self, dag_values):
675 edges = self._upstream.feed_values(dag_values)
676 return (edges.dst_nodes, edges.src_nodes)[int(self._output_field == pywrap.kSrcIds)]

Callers 3

inVMethod · 0.85
outVMethod · 0.85
inVMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected