I've run into what looks like a bug in PropertyValue: it doesn't seem to be able to retrieve EdgeWeight's. For instance:
p0 = Graph[{Property["root" [DirectedEdge] 1, EdgeWeight -> 2.0]}, VertexLabels -> "Name"]; p0 // InputForm
Graph[{"root", 1}, {DirectedEdge["root", 1]}, {Properties -> {DirectedEdge["root", 1] -> {EdgeWeight -> 2.}}, VertexLabels -> {"Name"}}]
PropertyValue[{p0, "root" [DirectedEdge] 1}, EdgeWeight]
"$"Failed
There is also an example on the PropertyValue documentation of trying to do this, and it also shows the result "$"Failed, right there in the doco! Perhaps related, GraphDistance[p0, "root", 1], which ought to return 2.0, returns instead 1.0.
Attachments: