1. A computer-implemented method for authoring a workflow, the method comprising: receiving, at a server computer, a client workflow comprising an arrangement of shapes and connections, each shape representing a step of the client workflow and each connection representing a relationship between two steps of the client workflow; generating, at the server computer, a set of database queries for producing a database workflow corresponding to the client workflow, the database workflow comprising an arrangement of step nodes and step edges, each step node representing a step of the client workflow and each step edge representing a relationship between two steps of the client workflow; and sending the set of database queries to a graph database for execution.