1

我只是无法通过 Neo4jClient 和 Cypher 从 Neo4j 中获取对象。

var client = new GraphClient(new Uri("http://mymachine:7474/db/data"));
client.Connect();
var myList = client.RootNode.StartCypher("root")
    .Match("root-[:RELATED_TO]->(user)")
    .Return<User>("user").Results;

我在 myList[0] 中得到了一个用户对象,但它的属性是空的。

我得到相同的(具有空属性的对象)通过

client.ExecuteGetCypherResults<User>(
    new CypherQuery("start n=node(1) return n;",null, CypherResultMode.Set)
);

我忽略了什么明显的事情?

(Neo4j 1.8 MS5,Neo4jClient 1.0.0.388)

/Neo4jClient/Neo4j 菜鸟。

4

1 回答 1

1

耶!我像这样更改为Node:

var myList = client.RootNode.StartCypher("root")
    .Match("root-[:RELATED_TO]->(user)")
    .Return<Node<User>>("user").Results;

最后

var myList = client.RootNode.StartCypher("root")
    .Match("root-[:RELATED_TO]->(user)")
    .Return<Node<User>>("user").Results
    .Select( nu => nu.Data );

最简单的例子应该是:

var myList = client.ExecuteGetCypherResults<Node<User>>(
    new CypherQuery("start n=node(1) return n;", null, CypherResultMode.Set))
.Select(un => un.Data);

其中 1 是用户节点的 ID。

于 2012-07-06T17:25:30.487 回答