Comment by ww520
Yes. It would produce dependence-free subsets. I just ran your sample (assuming a,b means a depends on b).
  Topologically sorted sets: [ { d }  { b c }  { a }  ]
  Topologically sorted list: [ d b c a ]
  Nodes: [ a b c d ]
  Dependency tree:
  [ d ]
    d -> [ b c ]
      b -> [ a ]
        a ->
      c -> [ a ]
        a ->
How are the subsets defined?