Can someone illustrate how I can store and easily query hierarchical data in google app engine datastore?
One way is to use the Model's parent attribute. You can then make use of query.ancestor() and model.parent() functions.
I guess it depends on what kind of operations you want to do on this data which would determine how best to represent it.