def create(self, network_factory: bayesianpy.network.NetworkFactory): network = self._template.create(network_factory) cluster = builder.create_cluster_variable(network, self._latent_states) for node in bayesianpy.network.get_nodes(network): if node == cluster: continue builder.create_link(network, cluster, node) if self._target_nodes is not None: for target_node in self._target_nodes: target = builder.get_node(network, target_node) builder.delete_links_from(network, target) if self._remove_target_node: bayesianpy.network.remove_node(network, self._target_nodes) return network
def create(self, network_factory: bayesianpy.network.NetworkFactory): network = self._template.create(network_factory) node = bayesianpy.network.get_node(network, self._target_node) if node is None: raise ValueError("Node {} does not exist in network".format(self._target_node)) if self._delete_all_links: builder.delete_links_from(network, node) builder.delete_links_to(network, node) for link in self._parents: builder.create_link(network, link, node) for link in self._children: builder.create_link(network, node, link) return network