I am trying to teach myself complexity. I am trying to come up with a reduction from minimum set cover (given a set of items $I$, and a set $S$ of subsets of $I$ and an integer $k$, is there a subset $S'$ of $S$ such that $|S'|\leq k$ and $union(S')=I$) to weighted Steiner tree (given a graph $G=(V, E)$, a weight function $w$, a subset $V'$ of $V$ and integer $k>0$, is there a subtree $G'$ of $G$ such that the sum of the weight of the edges in $G'\leq k$ and $V'$ is contained in $G'$?) , but have gotten a bit stuck. I believe I am on the right path.
Here's what I have so far. Given an instance of minimum set cover, define a root node r, For every subset in $S_i\in S$, define a node $S_i$ and connect it by an edge to $r$ with weight one. For every element in $S_i$, define a node and connect them to $S_i$ via an edge of weight 0. This creates a tree. I believe something like this should work, but I cannot figure out how to define $G'$ for the constructed instance of STG such that there is an answer yes if there is a minimum set cover.
Any help would be greatly appreciated, thanks