protected static Node<PO.Root> GetRootNode(GraphClient client)
 {
     var node = client.ExecuteGetCypherResults<Node<PO.Root>>(
         new CypherQuery(RootNodeQuery
         , null, CypherResultMode.Set))
     .SingleOrDefault();
     return node;
 }
        protected static Node<PO.Workers> GetWorkersRootNode(GraphClient client, Node<PO.Root> rootNode)
        {
            //var rootNode = GetRootNode(client);
            //var query = new CypherQuery("start R=node({p0}) match R-[:RELATED_TO]->N where N.__Type=\"Workers\" return N;", new Dictionary<string, object>() { { "p0", rootNode.Reference.Id } }, CypherResultMode.Set);

            var query = new CypherQuery("start R=node({p0}) match R-[:RELATED_TO]->WR where WR.Name='Workers' return WR;", new Dictionary<string, object>() { { "p0", rootNode.Reference.Id } }, CypherResultMode.Set);
            var node = client.ExecuteGetCypherResults<Node<PO.Workers>>(
                query
                );
            return node.SingleOrDefault();
        }