It's probably because the property name "fweight" in your "Return" is not the same as the one "weight" that is actually used on the relationship "r" or "s". It should work if you change it to,
RETURN sum(r.weight), sum(s.weight)
But the result is the sum over all of the tuple (r, s) that would include many duplicate r, and duplicate s.
To get the exact sum, you can get the collection of the distinct r, and s, then sum over the collections like this,
RETURN reduce(sumr = 0, x in collect(distinct r)|sumr + x.weight) as sumr, reduce(sums = 0, x in collect(distinct s)|sums + x.weight) as sums
The console that shows the query with the direct sum over the properties of the "r" and "s" is here, http://console.neo4j.org/?id=cqs2h7
The console that shows the query with collection is here, http://console.neo4j.org/?id=9st2mq
You would notice that although both of them return the sums, the results of the first query with "RETURN sum(r.weight), sum(s.weight)" include the duplicated relationships "r" and "s" whereas the second query with collections removes the duplicates and returns the desired sum.