public virtual Node MakeNode(string id, IDictionary <string, object> properties) { Node node = GraphDb.createNode(); Nodes[id] = node; NodeNames[node] = id; node.SetProperty(KEY_ID, id); foreach (KeyValuePair <string, object> property in properties.SetOfKeyValuePairs()) { if (property.Key.Equals(KEY_ID)) { throw new Exception("Can't use '" + property.Key + "'"); } node.SetProperty(property.Key, property.Value); } return(node); }
internal virtual Node GetNode(GraphDatabaseService graphdb, IDictionary <string, Node> nodes, string name) { Node node = nodes[name]; if (node == null) { if (nodes.Count == 0) { node = graphdb.CreateNode(); } else { node = graphdb.CreateNode(); } node.SetProperty("name", name); nodes[name] = node; } return(node); }