def supersede_ceo(company_id: str, new_ceo_id: str, effective_date: str): current = graph.find_edge( source=company_id, relation="CEO", valid_to=None ) if current: graph.update_edge(current.id, valid_to=effective_date) graph.add_edge( source=company_id, relation="CEO", target=new_ceo_id, valid_from=effective_date, valid_to=None, )