   (:require
    [thi.ng.fabric.core :as f]
    [clojure.set :as set]
+   [clojure.core.async :as a :refer [go go-loop chan close! <! >! alts! timeout]]
    #?(:clj [taoensso.timbre :refer [debug info warn]])))
 
 (defprotocol ITripleGraph


#?(:clj (taoensso.timbre/set-level! :warn))

(defn start
  []
  (let [g (triple-graph (f/compute-graph))
        toxi (:result (add-query! g :toxi ['toxi nil nil]))
        types (:result (add-query! g :types [nil 'type nil]))
        projects (:result (add-query! g :projects [nil 'type 'project]))

        (f/add-edge! g v obj  signal-triple :remove)
        (f/signal! v)
        (swap! triples dissoc t)
        (f/remove-vertex! g v)
        v)
      (warn "attempting to remove unknown triple:" t)))
  (add-query!
