我正在尝试使用 Neo4jClient(并且是 C# 新手)从 Neo4j 构建和检索数据。首先,我建立搜索项和关系:
NodeReference<Search> searchNode = client.Create(searches[i]);
itmNode = client.Create(items[j], new IRelationshipAllowingParticipantNode<Item>[0],
new[]
{
new IndexEntry("Item")
{
{"Type", items[j].Type },
{"ItemDescription", items[j].ItemDescription },
{"ItemNumber", items[j].ItemNumber }
}
});
client.CreateRelationship(itmNode, new SearchedFor(searchNode, 1));
然后,我正在测试从 Neo4j 返回的节点的检索:
var results = client.Cypher.Start("n", itemDict[firstitem])
.Match("n-[r]->()<-[r2]-other")
.Return<Node<Item>>("other")
.Results;
var node6 = ((IRawGraphClient)client).ExecuteGetCypherResults<Node<Item>>(new Neo4jClient.Cypher.CypherQuery("start n=node(6) return n;", null,Neo4jClient.Cypher.CypherResultMode.Set)).Select(un => un.Data);
“结果”返回与 node(6) 相关的 2 个节点。“node6”是我发现的其他代码,我认为会返回节点 6。这两个都返回节点,但返回的属性都是空白的。我可以在 Neo4j 监控工具中看到属性,但在使用 Neo4jClient 返回它们时看不到。我在如何设置节点或如何检索数据方面遗漏了什么?
我的对象返回显示 Data.ItemDescription="", Data.ItemNumber=0, Reference=Node 5
在 .Results 之后添加“Select(un => un.Data)”并没有像我在其他类似这样的示例中看到的那样工作
如果您需要更多信息,请告诉我。
Neo4jClient 版本 1.0.0.579
Neo4j 版本 1.8.2
这是项目类:
public class Item
{
private string _name;
private string _desc;
private long _id;
public Item(string name, string desc, long id)
{
_name = name;
_desc = desc;
_id = id;
}
public Item()
{
_name = "";
_desc = "";
_id = 0;
}
public long ItemNumber
{
get
{
return _id;
}
}
public string ItemDescription
{
get
{
return _desc;
}
}
public string Type
{
get
{
return "Item";
}
}
}