static public void CopyAndReplaceEdge(IVertex baseVertex, string MetaValue, IVertex EdgeVertex) { IEdge toReplace = GraphUtil.FindEdgeByMetaValue(baseVertex, MetaValue); if (toReplace == null) { throw new Exception("Vertex does not have \"" + MetaValue + "\" edge"); } baseVertex.DeleteEdge(toReplace); IVertex edge = baseVertex.AddVertex(toReplace.Meta, null); IVertex r = MinusZero.Instance.Root; edge.AddEdge(r.Get(@"System\Meta\ZeroTypes\Edge\From"), EdgeVertex.Get("From:")); edge.AddEdge(r.Get(@"System\Meta\ZeroTypes\Edge\Meta"), EdgeVertex.Get("Meta:")); edge.AddEdge(r.Get(@"System\Meta\ZeroTypes\Edge\To"), EdgeVertex.Get("To:")); }