               req-vlcllst (sort (for [rq4 req4-vec] (replace rq4 #"^.*?," "")))
               ;; use req-vlcllist if want to see partial pdgms (usually one token)
               ;; otherwise req-vlcllist2 [or use 'remove'?]
-              req-vlcllist (join "\n"  req-vlcllst)
+              req-vlcllist (if (= pos "nfv")
+                             (propmerge req-vlcllst)
+                             (join "\n"  req-vlcllst))
               ;;req-vlcllist2 (clojure.string/replace req-vlcllist #"Partial.*?\n" "")
               ]
           (log/info "sparql result status: " (:status req2))

))

(defn req2vlist2
  [vlist]
  (let [vlist1 (replace vlist #"\n$" "")
        reqq (split vlist1 #"\n")
        ;;reqqa (first reqq)
        reqqb (rest reqq)
        ;; make joint key of pdigmID and pdgmType
        reqqc (for [req reqqb] (replace req #"^(.*?)," "$1+"))
        vvec (for [req reqqc] (split req #","))
        vmap (for [vvc vvec] (apply hash-map vvc))
        vmerge (apply merge-with str vmap)
        reqq2 (into [] (for [vm vmerge] (join "," vm)))
        ;; This works because earlier split mention only '\n'
        reqq3 (for [r2 reqq2] (replace r2 #"[\r\+]" ","))
        reqq4 (for [r2 reqq3] (replace r2 #",$" ""))]
    
    (join "\n" reqq4)
))

(defn req2vlist3
  "For pro: Takes off header row, deletes interior brackets and quotes, deletes line-final ','"
  [vlist]
  (let [reqq (split vlist #"\n" 2)

                          (req2vlist1 req2-body)
                          (= pos "pro")
                          ;;(rest req2-body)
                          (req2vlist2 req2-body)
                          ;; listvlclplex.clj has req2vlist2, investigate
                          :else (req2vlist3 req2-body))
              req3-out (apply str req2-out)
              req4-out (if (re-find #"\w" req3-out)
                         (replace req3-out #"^\s*\n" "")
