code: def init_prov_graph(self):
          
  
          try:
              # Use git2prov to get prov on the repo
              repo_prov = check_output(
                  ['node_modules/git2prov/bin/git2prov', 'https://github.com/{}/{}/'.format(self.user, self.repo),
                   'PROV-O']).decode("utf-8")
              repo_prov = repo_prov[repo_prov.find('@'):]
              # glogger.debug('Git2PROV output: {}'.format(repo_prov))
              glogger.debug('Ingesting Git2PROV output into RDF graph')
              with open('temp.prov.ttl', 'w') as temp_prov:
                  temp_prov.write(repo_prov)
  
              self.prov_g.parse('temp.prov.ttl', format='turtle')
          except Exception as e:
              glogger.error(e)
              glogger.error("Couldn't parse Git2PROV graph, continuing without repo PROV")
              pass
  
          self.prov_g.add((self.agent, RDF.type, self.prov.Agent))
          self.prov_g.add((self.entity_d, RDF.type, self.prov.Entity))
          self.prov_g.add((self.activity, RDF.type, self.prov.Activity))
  
          # entity_d
          self.prov_g.add((self.entity_d, self.prov.wasGeneratedBy, self.activity))
          self.prov_g.add((self.entity_d, self.prov.wasAttributedTo, self.agent))
          # later: entity_d genereated at time (when we know the end time)
  
          # activity
          self.prov_g.add((self.activity, self.prov.wasAssociatedWith, self.agent))
          self.prov_g.add((self.activity, self.prov.startedAtTime, Literal(datetime.now())))
docs: Initialize PROV graph with all we know at the start of the recording