The obvious first question would be: why are you representing your data as a graph? Can you represent it better as sets of predicates (ie: relations)?
Using views should not reduce the number of queries: a view is just a query with a name. If you can do it by combining views you can do it by combining queries.
He spends a chapter on each of the models outlined in this post: adjacency, path, and nested set models.
Get dozens of book recommendations delivered straight to your inbox every Thursday.