我正在尝试测试以下记录类型:
(defrecord FirstOrderState [datum matrix]
State
;; implementation goes here ...
)
Run Code Online (Sandbox Code Playgroud)
我正在尝试根据上述类型进行分支,但没有得到我需要的结果
(def state (->FirstOrderState datum matrix))
(= (type state) composer.algorithm.markov.state.FirstOrderState)
=> false
Run Code Online (Sandbox Code Playgroud)
但是,查看 的类型state确认它应该匹配:
(type state)
=> composer.algorithm.markov.state.FirstOrderState
Run Code Online (Sandbox Code Playgroud)
这似乎应该有效,因为类似的检查结果如下true:
(= (type []) clojure.lang.PersistentVector)
=> true
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?使用下面的 hack 提供了一个解决方案,但不是很优雅:
(= (str (type state)) (str composer.algorithm.markov.state.FirstOrderState))
=> true
Run Code Online (Sandbox Code Playgroud) 我想在混合AND和OR谓词时为breeze.js配置正确的语法.我没有在微风网站上看到一个例子,在其他任何地方都找不到.
基本上我想在我的WHERE子句中做这样的事情:
(
age > 30 AND
sex == 'M' AND
jobStartDate >= '1/1/2000'
)
OR
(
exemptStatus == 1
)
Run Code Online (Sandbox Code Playgroud)
这将带回符合3个标准或免除的实体.我正在使用带有ODATA语法的EF6.
谢谢
我正在做一个涉及Neo4J Db的项目,我正面临一个我自己无法解决的问题.
我们正在图中处理Acl.每个Acl都链接到一组元数据.项目也链接到这些元数据.当链接到项目的所有元数据也链接到元数据时,元数据授予对一个项目的访问权限.
这是图模型的图片: ACL图片图片
在此示例中,ACL1授予对item1(但不是item2)的访问权限,并且acl2授予对item2(但不是item1)的访问权限.
我认为诀窍是将节点上的ALL谓词链接到一个项目,但我的尝试总是返回图形中的所有项目(因为它们共享一个元素)
有人可以帮我创建密码查询,以便为一个用户返回他可以访问的所有项目吗?
谢谢你的帮助,格雷戈里
PS:这是一个Neo4j控制台示例数据集:http://console.neo4j.org/r/urjh64
我有一组包含元素的数组.我需要通过使用java中断言的guava比较特定字段来找到该数组中的重复元素.
例如:
我有一个带有员工详细信息的arraylist.我需要找到同名员工的详细信息.
我有一个包含元素列表的实体,现在我想搜索这些元素的属性。这个约束应该是“和”连接的。请看这些简单的例子:
@Entity
public class Parent {
@Column
@Enumerated(EnumType.STRING)
private City city;
@OneToMany(...)
private List<Children> childrens;
}
@Entity
public class Children {
@Column
@Enumerated(EnumType.STRING)
private School school;
@Column
private Integer yearInSchool;
}
Run Code Online (Sandbox Code Playgroud)
现在我想找到某个城市的父母,让我们说“BigCity”,学校“AwesomeSchool”的孩子在班级/6 年级。我只想通过 CriteriaBuilder 获得搜索结果。
到目前为止,我得到了:
final CriteriaBuilder c = getCriteriaBuilder();
final CriteriaQuery<Parent> query = c.createQuery(Parent.class);
final Root<Parent> r = query.from(Parent.class);
query.select(r)
.where(c.and(c.equal(r.get("city"), City.BigCity)),
c.equal(r.get("childrens").get("school"), School.AwesomeSchool),
c.equal(r.get("childrens").get("yearInSchool"), 6));
Run Code Online (Sandbox Code Playgroud)
不幸的是,这里有两个问题: - 看起来我无法调用get("school")list 属性 - 这将返回所有有孩子的父母,这些孩子要么在“AwesomeSchool”,要么在学校上学 6 年。
你能帮我吗?我考虑过使用连接,但同样的问题是:如何定义连接的where部分,以便它认为必须同时满足两个属性(school 和 yearInSchool)。我发现了类似的帖子,关于查询其孩子满足一个条件的对象 - 但在这里孩子必须同时满足两个条件。
更新 1 如果我使用连接来断言例如一个孩子的“学校”,那么我对谓词的了解就到此为止:
Predicate predicate …Run Code Online (Sandbox Code Playgroud) 我正在学习Clojure并尝试使用这种语言解决Project的Euler(http://projecteuler.net/)问题.第二个问题要求找到Fibonacci序列中偶数值的总和,其值不超过四百万.
我已经尝试了几种方法,如果我能找到它破碎的地方,我会发现下一种方法最准确.现在它返回0.我很确定暂停条件存在问题,但无法弄明白.
(reduce +
(take-while (and even? (partial < 4000000))
(map first (iterate (fn [[a b]] [b (+ a b)]) [0 1]))))
Run Code Online (Sandbox Code Playgroud) 我看不到任何方法来构建一个使用括号来控制逻辑顺序的谓词.有吗?
说我想做像Predicate <= mumble和(foo或baz)这样的事情
一个简单的Predicates.and或一个Predicates.or没有相当于说"foo或baz"和mumble.
这可能吗?
我想使用谓词指令将此代码转换为汇编
If (A>B){
C=A;
D=B;
E=0
}
else{
C=B;
}
Run Code Online (Sandbox Code Playgroud)
它是正确的还是我如何使用跳跃?
cmp R1,R2; considering B is assigned to R2 and A assigned to R1
movlf R3,R1;R3 assign to C
mov R4,R2;R4 assign to D
mov R5,0; R5 assign to E
movlt R3,R2
Run Code Online (Sandbox Code Playgroud) predicates ×8
clojure ×2
guava ×2
acl ×1
arm ×1
assembly ×1
breeze ×1
c ×1
collections ×1
cypher ×1
intersection ×1
java ×1
jpa ×1
mixing ×1
neo4j ×1