Example #1
0
    void AddNeo4jNodesAndEdges()
    {
        var queryObject = Neo4jServer.QueryObject(_neo4jQuery);

        var neo4jNodes = new Dictionary <string, NodeData>();
        var neo4jEdges = new Dictionary <string, EdgeData>();

        foreach (var result in queryObject.results)
        {
            foreach (var data in result.data)
            {
                foreach (var neo4jNode in data.graph.nodes)
                {
                    if (!neo4jNodes.ContainsKey(neo4jNode.id))
                    {
                        neo4jNodes.Add(neo4jNode.id, new NodeData()
                        {
                            type = neo4jNode.labels[0],
                            name = neo4jNode.properties.name,
                            uuid = neo4jNode.properties.uuid,
                        });
                    }
                }

                foreach (var neo4jEdge in data.graph.relationships)
                {
                    if (!neo4jEdges.ContainsKey(neo4jEdge.id))
                    {
                        neo4jEdges.Add(neo4jEdge.id, new EdgeData()
                        {
                            type = neo4jEdge.type,
                            // uuid = edge.properties?.uuid,
                            from = neo4jNodes[neo4jEdge.startNode],
                            to   = neo4jNodes[neo4jEdge.endNode]
                        });
                    }
                }
            }
        }

        nodeDataSet.AddRange(neo4jNodes.Values.ToList());
        edgeDataSet.AddRange(neo4jEdges.Values.ToList());

        if (OnGraphReset != null)
        {
            OnGraphReset(null, EventArgs.Empty);
        }
    }
Example #2
0
 private void Awake()
 {
     instance = this;
 }