code: def from_json(d: Dict[str, JSONVal]) -> ASTPredicate:
      assert isinstance(d, dict)
      assert "type" in d
      assert d["type"] in type_to_predicate
      assert isinstance(d["type"], str)
      pred = type_to_predicate[d["type"]]
      out = pred.from_json(d)
      assert isinstance(out, ASTPredicate)
      out.validate()
      return out
  
file_path: pygraphistry/graphistry/compute/predicates/from_json.py
imports: from typing import Dict, List, Type
  from graphistry.compute.predicates.ASTPredicate import ASTPredicate
  from graphistry.compute.predicates.categorical import Duplicated
  from graphistry.compute.predicates.is_in import IsIn
  from graphistry.compute.predicates.numeric import GT, LT, GE, LE, EQ, NE, Between, IsNA, NotNA
  from graphistry.compute.predicates.str import Contains, Startswith, Endswith, Match, IsNumeric, IsAlpha, IsDecimal, IsDigit, IsLower, IsUpper, IsSpace, IsAlnum, IsTitle, IsNull, NotNull
  from graphistry.compute.predicates.temporal import IsMonthStart, IsMonthEnd, IsQuarterStart, IsQuarterEnd, IsYearStart, IsYearEnd, IsLeapYear
  from graphistry.utils.json import JSONVal
label_desc: Use image node_id 1 for calling a global function with example usage: from_json(d) and returns: out