public static CypherReturn Property <T>(this CypherReturn cypherReturn, string name, bool optional)
        {
            // Remove the Previous type of Node or Relationship
            cypherReturn.ReturnTypes.RemoveAt(cypherReturn.ReturnTypes.Count - 1);

            // Add the correct Property Return Type
            cypherReturn.ReturnTypes.Add(typeof(T));

            return((CypherReturn)cypherReturn.Append(".{0}{1}", name, optional ? "?" : string.Empty));
        }
 public static CypherReturn Property <T>(this CypherReturn cypherReturn, Enum name)
 {
     return(Property <T>(cypherReturn, name.ToString(), false));
 }
 public static CypherReturn Property <T>(this CypherReturn cypherReturn, Enum name, bool optional)
 {
     return(Property <T>(cypherReturn, name.ToString(), optional));
 }
 public static CypherReturn Property <T>(this CypherReturn cypherReturn, string name)
 {
     return(Property <T>(cypherReturn, name, false));
 }