            '())
          (map (fn [child] (qb child model uri)) children))]
 
-    (cond (contains? types (bind :relator))
+    (cond
+     (contains? types (bind :container))
+     subs
+     :default
           (let [statement (get-bound binding model)
                 binder (.getURI (.getPredicate statement))
                 predicate (.asResource (.getObject statement)) ;;TODO handle type thing with path thing
                 reverse (= binder (bind :object))]
 
-            [{:pred (.getURI predicate) :rev reverse :path onpath} subs])
-
-          (contains? types (bind :container))
-
-          subs
-          )))
-
-
+            [{:pred (.getURI predicate) :rev reverse :path onpath} subs]))));;TODO this is almost certainly bad. Paths are not handled right I think.
 
 
 


(defn uuid [] (str "urn:uuid:" (java.util.UUID/randomUUID)))

(def bind (uris "http://logangilmour.com/data-binder#" :rank :root :subject :object  :child :container :relator :contains :projection :path))

(def funcs
  {:projector


;;(def data-model (to-model data))



(def broadcast-channel (permanent-channel))
(def edit (editor example-view))
(def syn (syncer example-view widgets))


(def channels (atom {}))
