code: def read(self, source_path):
          
          logger.debug("Loading graph described in "+source_path)
          graph = rdflib.Graph()
          graph.load(source_path)
          meta = {}
          queries = [
              f for f in listdir(self.settings["VOC_QUERIES_PATH"])
              if (isfile(join(self.settings["VOC_QUERIES_PATH"], f)) 
                  and f.endswith(".sparql"))]
          for query_path in queries:
              query_file_path = self.settings["VOC_QUERIES_PATH"]+"/"+query_path
              with open(query_file_path, "r") as query_file:
                  query = query_file.read()
  
                  # The name of the query identifies the elements in the context
                  query_key=query_path.split(".")[0]
                  result_set = graph.query(query)
                  # Each query result will be stored as a dictionnary in the
                  # vocabulary context, referenced by the query name as its key.
                  # Multiple results are stored in a list.
                  for result in result_set:
                      if not query_key in meta.keys():
                          meta[query_key]=result.asdict()
                      elif type(meta[query_key]) == list:
                          meta[query_key].append(result.asdict())
                      else:
                          meta[query_key]=[meta[query_key], result.asdict()]
          meta["iri"] = meta["lov_metadata"]["iri"]
          meta["description"] = meta["lov_metadata"]["description"]
          meta["version"] = meta["lov_metadata"]["version"]
          meta["title"] = meta["lov_metadata"]["title"]
          return "", meta
docs: Parse content and metadata of an rdf file