public string ToTokenizedSearchString() { this.Tokenize(); StringBuilder builder = new StringBuilder(); builder.Append("MATCH p="); try { using (IEnumerator <SearchNode> nodeEmumerator = this.Nodes.GetEnumerator()) { while (nodeEmumerator.MoveNext()) { SearchNode n = nodeEmumerator.Current; using (IEnumerator <SearchEdge> edgeEmumerator = this.Edges.GetEnumerator()) { while (edgeEmumerator.MoveNext()) { SearchEdge edge = edgeEmumerator.Current; builder.Append(n.ToTokenizedSearchString() + edge.ToTokenizedSearchString()); nodeEmumerator.MoveNext(); n = nodeEmumerator.Current; } } builder.Append(n.ToTokenizedSearchString()); } } string cond = this.Condition?.ToTokenizedSearchString(); if (string.IsNullOrWhiteSpace(cond) == false) { cond = " WHERE " + cond; } builder.Append(cond); builder.Append(" UNWIND nodes(p) as bnest_nodes RETURN DISTINCT bnest_nodes ORDER BY LOWER(bnest_nodes.name)"); } catch (Exception e) { return("There was an error building the query string: " + e.Message); } return(builder.ToString()); }
private StringBuilder BuildBaseSearchString() { StringBuilder builder = new StringBuilder(); builder.Append("MATCH p="); try { using (IEnumerator <SearchNode> nodeEmumerator = this.Nodes.GetEnumerator()) { while (nodeEmumerator.MoveNext()) { SearchNode n = nodeEmumerator.Current; using (IEnumerator <SearchEdge> edgeEmumerator = this.Edges.GetEnumerator()) { while (edgeEmumerator.MoveNext()) { SearchEdge edge = edgeEmumerator.Current; builder.Append(n.ToSearchString() + edge.ToSearchString()); nodeEmumerator.MoveNext(); n = nodeEmumerator.Current; } } builder.Append(n.ToSearchString()); } } string cond = this.Condition?.ToSearchString(); if (string.IsNullOrWhiteSpace(cond) == false) { cond = " WHERE " + cond; } builder.Append(cond); } catch (Exception e) { throw new InvalidOperationException("There was an error building the query string: " + e.Message); } return(builder); }