code: def csv2jsonld(fp: str, verbose: bool = True) -> str:
      """
      读入 csv 文件，存储在同位置同名的 jsonld 文件
      Args:
          fp (String): csv 文件地址
          verbose (bool): 是否打印日志
      Return:
          fp_new (String):文件地址
      """
      data = []
      root, ext = os.path.splitext(fp)
      fp_new = root + ".jsonld"
      if verbose:
          print(f"read csv file in: {fp}")
      with open(fp, encoding="utf-8") as f:
          writer = csv.DictReader(f, fieldnames=None, dialect="excel")
          for line in writer:
              data.append(line)
      if verbose:
          print("saving...")
      with open(fp_new, "w", encoding="utf-8") as f:
          f.write(
              os.linesep.join(
                  [json.dumps(l, ensure_ascii=False) for l in data]
              )
          )
      if verbose:
          print(f"saved jsonld file in: {fp_new}")
      return fp_new
  
file_path: DeepKE/src/deepke/relation_extraction/standard/utils/ioUtils.py
imports: import os
  import csv
  import json
  import pickle
  import logging
  from typing import NewType, List, Tuple, Dict, Any
label_desc: Use image node_id 8 for calling a global function with example usage: csv2jsonld(fp, verbose) and returns: fp_new