function (kb, subject, path) {
      if (path.length === 0) return [ subject ]
      var oo = kb.each(subject, path[0])
      var res = []
      for (var i = 0; i < oo.length; i++) {
        res = res.concat(followeach(kb, oo[i], path.slice(1)))
      }
      return res
    }
function (kb, subject, path) {
      if (path.length === 0) return [ subject ]
      var oo = kb.each(subject, path[0])
      var res = []
      for (var i = 0; i < oo.length; i++) {
        res = res.concat(followeach(kb, oo[i], path.slice(1)))
      }
      return res
    }
function ( kb , subject , path ) { if ( path . length === 0 ) return [ subject ] var oo = kb . each ( subject , path [ 0 ] ) var res = [ ] for ( var i = 0 ; i < oo . length ; i ++ ) { res = res . concat ( followeach ( kb , oo [ i ] , path . slice ( 1 ) ) ) } return res }
3. In a workspace store
3 . In a workspace store