class_docstr: VF2 isomorphism checker for directed graphs.
class_docstr_tok: ["VF2","isomorphism","checker","for","directed","graphs","."]
docstr: Returns True if mapping G1_node to G2_node is semantically feasible.
docstr_tok: ["Returns","True","if","mapping","G1_node","to","G2_node","is","semantically","feasible","."]
code: def semantic_feasibility(self, G1_node, G2_node):
      """Returns True if mapping G1_node to G2_node is semantically feasible."""
  
      # Test node_match and also test edge_match on successors
      feasible = _semantic_feasibility(self, G1_node, G2_node)
      if not feasible:
          return False
  
      # Test edge_match on predecessors
      self.G1_adj = self.G1.pred
      self.G2_adj = self.G2.pred
      feasible = _semantic_feasibility(self, G1_node, G2_node)
      self.G1_adj = self.G1.adj
      self.G2_adj = self.G2.adj
  
      return feasible
  
file_path: networkx/networkx/algorithms/isomorphism/vf2userfunc.py
imports: from .None import isomorphvf2
label_desc: Use image node_id 2 for calling the DiGraphMatcher obj's underlying member method code with example usage: obj.semantic_feasibility(G1_node, G2_node) and returns: feasible, False