public IRel Rel <T>(Symbol symbol, IDictionary <string, object> param = null) where T : class { symbol = symbol ?? throw new ArgumentNullException(nameof(symbol)); param = param ?? new Dictionary <string, object>(); if (Rels.ContainsKey(symbol)) { throw new ArgumentException($"Relationship symbol already present '{symbol}'", nameof(symbol)); } if (Nodes.ContainsKey(symbol)) { throw new ArgumentException($"Symbol already used for node '{symbol}'", nameof(symbol)); } Rel r = new Rel(symbol, typeof(T), param); Rels.Add(symbol, r); _symbols.Add(symbol); return(r); }
public override string BuildForQuery() { return($"{Previous.BuildForQuery()}{Edge.ToCypherString()}{Rel.BuildForQuery()}"); }
public IRel SetType(Type type) { Rel.SetType(type); return(this); }
public IRel SetSymbol(Symbol symbol) { Rel.SetSymbol(symbol); return(this); }
public IRel Lengths(int?min = null, int?max = null) { Rel.Lengths(min, max); return(this); }