节点:
Template -> Id =1 , Name = T1;
Segment -> Id =1 , Name = S1;
Segment -> Id =2 , Name = S2;
关系:
T1 - [r1:REL] -> S1;
T1 - [r2:REL] -> S2
每个关系(r1和r2)都有一个名为LineIds的属性,它是整数数组。 因此,r1.LineIds = [1,3]和 r2.LineIds = [1,2]
我正在尝试获取两个LineIds的交集。
我正在尝试使用.Net驱动程序Neo4jClient调用apoc.coll.intersection()函数,但它会抛出一些或其他错误。 但是,它正在像Neo4j浏览器一样工作
match (:Template)- [r1:REL] -> (m:Segment), (:Template) - [r2:REL] -> (n:Segment)
return apoc.coll.intersection(r1.LineIds, r2.LineIds) as result
有人可以告诉我.net中的正确语法吗?
答案 0 :(得分:0)
您只需拨打apoc
,就像调用其他任何功能一样:
var query = client.Cypher
.Match("(:Template)-[r1:REL]->(m:Segment), (:Template)-[r2:REL]->(n:Segment)")
.Return(() => new
{
result = Return.As <IEnumerable<int>> ("apoc.coll.intersection(r1.LineIds, r2.LineIds)")
});
foreach(var result in query.Results)
{
/* Do something here */
}