<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _read_component_definitions(self, graph):
 """ Read graph and add component defintions to document """

        for e in self._get_elements(graph, SBOL.ComponentDefinition):
            identity = e[0]
            # Store component values in dict
            c = self._get_rdf_identified(graph, identity)
            c['roles'] = self._get_triplet_value_list(graph, identity, SBOL.role)
            c['types'] = self._get_triplet_value_list(graph, identity, SBOL.type)
            obj = ComponentDefinition(**c)
            self._components[identity.toPython()] = obj
            self._collection_store[identity.toPython()] = obj