我试图在GraphClient中写出以下Cypher查询:
START agency=node(12345)
MATCH agency
-[:AGENCY_HAS_PEOPLE]-()
-[:AGENCY_HAS_PERSON]-person
,person-[?:PERSON_IS_CARER]-carer
,person-[?:PERSON_IS_CLIENT]-client
WHERE (person.UniqueId! = 18989)
RETURN person, carer is not null as IsCarer, client is not null as IsClient
查询在控制台中正常工作并返回我期望的结果:
person IsCarer IsClient
Node(1545421) True False
当我尝试使用Neo4jClient编写该查询时,它会抛出以下异常。
Expression of type System.Linq.Expressions.LogicalBinaryExpression is not supported.
这主要是由于return语句中的表达式:
.Start(...)
.Match(...)
.Where(...)
.Return((person, client, carer) => new
{
Person = person.As<Person>(),
IsClient = client != null
IsCarer = carer != null
});
是否有人已经在为此制定解决方案? 它有解决方法吗? 有没有其他方法来编写此查询以获得相同的结果? 如果我要为此实现一个解决方案,那么在开始之前我是否应该知道与Neo4jClient内部相关的任何内容(限制,陷阱)?
谢谢..
答案 0 :(得分:1)
当我对解决方案的质量感到满意时,我会接受并合并拉取请求。然后,修复程序将在几分钟内发布到NuGet。