docs: def process_definition(line, nanopubs_metadata):
      """Process DEFINE line in BEL script"""
  
      matches = re.match('DEFINE\s+(\w+)\s+(\w+)\s+AS\s+URL\s+"(.*?)"\s*$', line)
      if matches:
          def_type = matches.group(1).lower()
          if def_type == "namespace":
              def_type = "namespaces"
          elif def_type == "annotation":
              def_type == "annotations"
  
          key = matches.group(2)
          val = matches.group(3)
  
          if def_type in nanopubs_metadata:
              nanopubs_metadata[def_type][key] = val
          else:
              nanopubs_metadata[def_type] = {key: val}
  
      matches = re.match("DEFINE\s+(\w+)\s+(\w+)\s+AS\s+LIST\s+{(.*?)}\s*$", line)
      if matches:
          def_type = matches.group(1).lower()
          if def_type == "namespace":
              def_type = "namespaces"
          elif def_type == "annotation":
              def_type == "annotations"
  
          key = matches.group(2)
          val = matches.group(3)
          vals = convert_csv_str_to_list(val)
  
          if def_type in nanopubs_metadata:
              nanopubs_metadata[def_type][key] = vals
          else:
              nanopubs_metadata[def_type] = {key: vals}
  
      return nanopubs_metadata