docs: def _read_module_definitions(self, graph):
          """
          Read graph and add module defintions to document
          """
          for e in self._get_elements(graph, SBOL.ModuleDefinition):
              identity = e[0]
              m = self._get_rdf_identified(graph, identity)
              m['roles'] = self._get_triplet_value_list(graph, identity, SBOL.role)
              functional_components = {}
              for func_comp in graph.triples((identity, SBOL.functionalComponent, None)):
                  func_identity = func_comp[2]
                  fc = self._get_rdf_identified(graph, func_identity)
                  definition = self._get_triplet_value(graph, func_identity, SBOL.definition)
                  fc['definition'] = self._components[definition]
                  fc['access'] = self._get_triplet_value(graph, func_identity, SBOL.access)
                  fc['direction'] = self._get_triplet_value(graph, func_identity, SBOL.direction)
                  functional_components[func_identity.toPython()] = FunctionalComponent(**fc)
                  self._functional_component_store[func_identity.toPython()] = \
                          functional_components[func_identity.toPython()]
              interactions = []
              for inter in graph.triples((identity, SBOL.interaction, None)):
                  inter_identity = inter[2]
                  it = self._get_rdf_identified(graph, inter_identity)
                  it['types'] = self._get_triplet_value_list(graph, inter_identity, SBOL.types)
                  participations = []
                  for p in graph.triples((inter_identity, SBOL.participation, None)):
                      pc = self._get_rdf_identified(graph, p[2])
                      roles = self._get_triplet_value_list(graph, p[2], SBOL.role)
                      # Need to use one of the functional component created above
                      participant_id = self._get_triplet_value(graph, p[2], SBOL.participant)
                      participant = functional_components[participant_id]
                      participations.append(Participation(roles=roles, participant=participant, **pc))
                  interactions.append(Interaction(participations=participations, **it))
              obj = ModuleDefinition(functional_components=functional_components.values(),
                                     interactions=interactions,
                                     **m)
              self._modules[identity.toPython()] = obj
              self._collection_store[identity.toPython()] = obj