我正在从cascalog 项目的克隆中的 lein repl 中完成以下示例。我跑过:
(def src [[1] [3] [2]])
(def queryx (<- [?x ?y] (src ?x) (inc ?x :> ?y)))
(?<- (stdout) [?x ?y]
(queryx ?x ?y))
-- works
(?- (stdout) queryx) ;; produces (([1 2] [2 3] [3 4]))
-- works
(?- (stdout) (first-n queryx 1 :sort ["?x"] :reverse true))
--works
但是当我尝试这个时:
(?<- (stdout) [?x ?y] (first-n queryx 1 :sort ["?x"] :reverse true))
我明白了
IllegalArgumentException Unable to join predicates together jackknife.core/throw-illegal (core.clj:100)
这似乎是一个查询创建与执行的事情。是否可以创建执行此查询的查询?