* If the variance is high enough, the average hardly matters. You're just getting slightly better noise. Example: a friend is into a sport, so does that mean you want to watch that sport? A friend watches a lot of Fox News, so does that mean you want to watch it?
* The "people I trust" graph isn't captured by "people I follow." You can follow people you don't trust, for reasons like entertainment or keeping track of what groups you dislike are up to.
* "Trust" is an abstract term that isn't well defined out of context. Trust for what purpose?
* Arguing in terms of an abstract social graph obscures whether we are talking about people or organizations and how we construct any actual graph. People follow others for whimsical reasons and often don't maintain their following list. If you ask them why they are following someone, they might not even know.
I have friends whose movie recommendations I trust but whose restaurant recommendations I don't, and vice versa. I have friend that I trust to be witty but not wise and others the opposite.
A system that tried to model trust would probably need to support tagging people with what kinds of things you trust them in.
trustsMovieRecs(A, B) and trustsMovieRecs(B, C) => trustsMovieRecs(A, C).
Their movie recommendations are likely some function that takes their friends' movie recommendations as input (along with watching them), but that's more like an indirect dependency than a transitive closure.
Just because you know someone doesn't mean they're good at reading the news or understanding what's going on in the world.