# dgl.contrib.graph_store.SharedMemoryDGLGraph.pull¶

SharedMemoryDGLGraph.pull(v, message_func='default', reduce_func='default', apply_node_func='default', inplace=True)[source]

Pull messages from the node(s)’ predecessors and then update their features.

Optionally, apply a function to update the node features after receive.

In the graph store, all updates are written inplace.

• reduce_func will be skipped for nodes with no incoming message.

• If all v have no incoming message, this will downgrade to an apply_nodes().

• If some v have no incoming message, their new feature value will be calculated by the column initializer (see set_n_initializer()). The feature shapes and dtypes will be inferred.

Parameters
• v (int, iterable of int, or tensor) – The node(s) to be updated.

• message_func (callable, optional) – Message function on the edges. The function should be an Edge UDF.

• reduce_func (callable, optional) – Reduce function on the node. The function should be a Node UDF.

• apply_node_func (callable, optional) – Apply function on the nodes. The function should be a Node UDF.

• inplace (bool, optional) – The value is always True.