Sort of. The only way to tell if a person made a request is if you control all the nodes that this person is connected to. If you do not control even one node that a person is connected to, there is always the possibility that the request came from this other node, not the real node. This is because the difference between making a request for something on your behalf and making the request on someone else's behalf looks exactly the same as far as another node is concerned.
This is how freenet works. Of course, in freenet there is a time to live associated with each request so it will die eventually if, for example, the searched for item is not present on the network at that time. You could figure out that it's from a particular node by seeing what the time to live is from that node, but small amounts of random variance in time to live values can effectively ensure that both requests don't live forever and that it is suitably difficult to determine the origin of the requesting node.
Now, it is certainly possible with enough concerted effort to find out what a user is doing with some statistical probability that a user is looking at something, but you can rarely be absolutely sure.
I think 100% certainty that a node is the originator of a request is not necessary for most purposes. If you are thinking of a court case, then maybe, but only if there is no corroborative evidence.
And in other situations where people might want to use a darknet (e.g. a repressive regime) a few false positives aren't going to bother anyone concerned.
If you control a vast majority of the nodes, this is simply incorrect.