public void ReadAMR(AMRDocument Document) { foreach (var gr in Document.Graphs) { for (int i = 0; i < gr.Nodes.Count; i++) { var node = gr.Nodes.ElementAt(i); var g = new CGNode(node, gr.name); if (i == 0) { g.AddSemanticRole("root"); } this.AddNode(g); } //transform relations foreach (var relation in gr.Relations) { var head = gr.Nodes.Where(c => c.name == relation.Head).First(); var tail = gr.Nodes.Where(c => c.name == relation.Tail).First(); relation.Head = head.id; relation.Tail = tail.id; var rel = new CGRelation(relation); this.AddRelation(rel); } } }