Problems with types and big datasets

Ratel can be a little annoying sometimes. Make sure you have access to localhost:8080/health?all
Also check in the console log of the browser if there is any CORs issue. Are you sure you are in the correct port? 8081, are you using port offset?

All your objects has the type defined? without it you can query with expand all.
How many objects do you have?

If you still have issues with Type(). Try the following. Create a tree from 0x01(if you are planning to use ACL, use the UID 0x03 instead). and branch out your types from this tree. Edges in Dgraph are super reliable. Here is an example.

[
  {
    "uid": "0x1",
    "my.types": [
      { #this will be 0x02 in this example
        "type.name": "User",
        "hasNodes":  [ { "uid": "0x04"}]
      },
      {
        "type.name": "Product",
        "hasNodes":  [ { "uid": "0x07"}]
      }
    ]
  }
]

And you can just add an extra edge every new mutation. For example for users.

[ 
    {
        "uid": "0x02",
        "hasNodes":  [ { "uid": "_:George" } ]
      },
    {
        "uid": "_:George",
        "user.name": "George",
        "age":  22
      }
]

So now you can do recurse in that tree and expand your pseudo-schema tree. From the edge hasNodes you will have a count for each type and you can expand from there.

{
  var(func: uid(0x01)) {
     Users as my.types @filter(eq(type.name, "User"))
   }
  allUsers(func: uid(Users )) @filter(gt(age, 20)) {
     user.name
     age
   }
}

A GraphDB is a blank frame. You can do a lot of things.