def __call__(self, subject_graph, one_match=False):
<EOL>for vertex0, vertex1 in self.pattern.iter_initial_relations(subject_graph):<EOL><INDENT>init_match = self.pattern.MatchClass.from_first_relation(vertex0, vertex1)<EOL>for canonical_match in self._iter_matches(init_match, subject_graph, one_match):<EOL><INDENT>ifm = self.pattern.iter_final_matches(canonical_match, subject_graph, one_match)<EOL>for final_match in ifm:<EOL><INDENT>self.print_debug("<STR_LIT>" % final_match)<EOL>yield final_match<EOL>if one_match: return<EOL><DEDENT><DEDENT><DEDENT>
Iterator over all matches of self.pattern in the given graph.

           Arguments:
            | subject_graph  --  The subject_graph in which the matches
                                 according to self.pattern have to be found.
            | one_match --  If True, only one match will be returned. This
                            allows certain optimizations.