<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def summary(self):
 """Summary of reviews for this product. Initial summary is computed by .. math:: \\frac{1}{|R|} \\sum_{r \\in R} \\mbox{review}(r), where :math:`\\mbox{review}(r)` means review from reviewer :math:`r`. """

        if self._summary:
            return self._summary

        reviewers = self._graph.retrieve_reviewers(self)
        return self._summary_cls(
            [self._graph.retrieve_review(r, self) for r in reviewers])