grafter icon indicating copy to clipboard operation
grafter copied to clipboard

Convert resource objects to quads

Open RickMoynihan opened this issue 5 years ago • 0 comments

Something like this would be useful:

(defn resource-obj->statements
  [{:keys [grafter.rdf/uri] :as res-obj}]
  (let [po-pairs (dissoc res-obj :grafter.rdf/uri)]
    (mapcat (fn [[p os]]
              (if (or (set? os) (seq? os))
                (map (fn [o]
                       (pr/->Triple uri p o)) os)
                [(pr/->Triple uri p os)])) po-pairs)))

Ideally we should extend to-statements to do this, via clojure 1.10.0's metadata protocols....

Actually thinking about this, we should put this in matcha not here. It will depend on #145.

RickMoynihan avatar Apr 24 '19 17:04 RickMoynihan