使用neo4j C#客户端检索关系

时间:2013-08-31 01:10:20

标签: neo4j neo4jclient

我想使用C#neo4j客户端检索节点之间的关系。

使用此查询:

var lastRel = myGraphClient.Cypher
              .Start(new { parent = parentRouteNode })
              .Match("(parent)-[lastR:LAST]->(child)")
              .Return(lastR => lastR.As<Relationship<Last>>()).Results;

我能够以类似的方式返回父节点和子节点,但对于关系, 我得到以下例外:

“Neo4jClient在从服务器反序列化响应时遇到异常。这可能是Neo4jClient中的一个错误。”

这真的是一个错误,还是我做错了什么?

2 个答案:

答案 0 :(得分:1)

在检索关系时使用RelationshipInstance<T>代替Relationship<T>

var lastRel = myGraphClient.Cypher
              .Start(new { parent = parentRouteNode })
              .Match("(parent)-[lastR:LAST]->(child)")
              .Return(lastR => lastR.As<RelationshipInstance<Last>>()).Results;

见这里:Retrieving relationship from Cypher query

答案 1 :(得分:0)

不要使用任何包装类型:

var lastRel = myGraphClient.Cypher
    .Start(new { parent = parentRouteNode })
    .Match("(parent)-[lastR:LAST]->(child)")
    .Return(lastR => lastR.As<Last>())
    .Results;