/// <exception cref="ArgumentNullException">
        /// <paramref name="vertex"/> is null.-or-
        /// <paramref name="entity"/> is null.
        /// </exception>
        internal PathRelationShip(Vertex vertex, IEntity entity)
        {
            if (vertex == null)
                throw new ArgumentNullException("vertex");
            if (entity == null)
                throw new ArgumentNullException("entity");

            this.vertex = vertex;
            this.entity = entity;
            Attach();
        }
 private void RemoveVertexLabel(Vertex vertex)
 {
     if(vertexLabel.ContainsKey(vertex.ID))
     {
         vertexLabel.Remove(vertex.ID);
     }
 }
 private void PairIDLable(Vertex vertex, int index)
 {
     //record old ID for the use of EdgeIDLabel;
     vertex.OldID = vertex.ID;
     vertex.ID = index;
     String vertexText = vertex.Text;
     if (vertexText.StartsWith("ub:"))
     {
         String newText = "<http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#" + vertexText.Substring(3) + ">";
         vertexText = newText;
     }
     if (vertexLabel.ContainsKey(index))
     {
         vertexLabel[index] = vertexText;
     }
     else
     {
         vertexLabel.Add(index, vertexText);
     }
 }
 protected virtual void AddVertex(Vertex vertex)
 {
     vertex.ID = vertexID++;//assign the ID to the vertex;
     //would not add at this time. Only add at the end.
     //vertexLabel.Add(vertex.ID, vertex.Text);
     AddEntity(vertex);
 }
 public bool InsertVertex(Vertex vertex)
 {
     if (vertex != null && !entities.Contains(vertex))
     {
         AddVertex(vertex);
         return true;
     }
     else
     {
         return false;
     }
 }
 public Vertex AddVertex()
 {
     Vertex vertex = new Vertex();
     AddVertex(vertex);
     return vertex;
 }
        /// <exception cref="ArgumentNullException">
        /// <paramref name="vertex"/> or <paramref name="entity"/> is null.
        /// </exception>
        public virtual PathRelationShip AddPathRelationShip(Vertex vertex, IEntity entity)
        {
            PathRelationShip path = new PathRelationShip(vertex, entity);

            AddPathRelationShip(path);
            return path;
        }
        /// <exception cref="ArgumentNullException">
        /// <paramref name="vertex"/> or <paramref name="entity"/> is null.
        /// </exception>
        public virtual EdgeRelationship AddEdgeRelationship(Vertex vertex, IEntity entity)
        {
            EdgeRelationship edgeRelationship = new EdgeRelationship(vertex, entity);

            AddEdgeRelationship(edgeRelationship);
            return edgeRelationship;
        }
 public PathRelationShip Clone(Vertex vertex, IEntity entity)
 {
     PathRelationShip relationship = new PathRelationShip(vertex, entity);
     relationship.CopyFrom(this);
     return relationship;
 }
 public EdgeRelationship Clone(Vertex vertex, IEntity entity)
 {
     EdgeRelationship relationship = new EdgeRelationship(vertex, entity);
     relationship.CopyFrom(this);
     return relationship;
 }