Methods for taking semantic graphs apart and putting them back together again