Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 如何在CypherFluentQuery中使用节点引用?_Neo4j_Cypher_Neo4jclient - Fatal编程技术网

Neo4j 如何在CypherFluentQuery中使用节点引用?

Neo4j 如何在CypherFluentQuery中使用节点引用?,neo4j,cypher,neo4jclient,Neo4j,Cypher,Neo4jclient,我一直在试用Neo4J,文本查询工作得很好。然后我切换到.Net中的Neo4JClient,现在我想使用CypherFluentQuery,但由于一些非常奇怪的原因,生成的查询不包括节点ID,而只包括像{p0},p{1}这样的占位符。。。 我错过了什么 下面是我的简单查询示例: 文本查询工作正常: string textQuery = "START user=node(9,7,8,10,11) " + "MATCH user-[:is_friend_of]->isfriendof " +

我一直在试用Neo4J,文本查询工作得很好。然后我切换到.Net中的Neo4JClient,现在我想使用CypherFluentQuery,但由于一些非常奇怪的原因,生成的查询不包括节点ID,而只包括像{p0},p{1}这样的占位符。。。 我错过了什么

下面是我的简单查询示例:

文本查询工作正常:

string textQuery = "START user=node(9,7,8,10,11) " +
"MATCH user-[:is_friend_of]->isfriendof " +
"RETURN user.name as user,isfriendof.name as IsFriendOf";

CypherQuery query = new CypherQuery(textQuery,
new Dictionary<string, object>(),
CypherResultMode.Projection);
var nodes = client.ExecuteGetCypherResults<MyNode>(query).ToList();
引发异常:

更新 我用nugget更新了Neo4JClient,现在显然我不能使用ExecuteGetCypherResults,所以我想我现在的问题比以往任何时候都更有效:-/

{p0}样式的占位符是正确的。请参阅的“参数”部分以了解其存在的原因

Neo4j返回的400错误意味着它不喜欢发送的查询文本

在您的问题中,您已经在有用的部分截断了异常消息。我们需要响应机构来查看Neo4j有什么问题,这是在响应状态之后


要在本地调试查询文本,还有一些技术在

Hi Jorge中介绍,您使用的是什么版本的Neo4j和Neo4jclient?对于您的“文本”版本,您可以执行以下操作:IRawGraphClientclient.executegegetcypherresultsquery.ToList@ChrisSkardon谢谢Chris,我会再试一次,可惜我还没有找到CypherFluentQuery不起作用的原因如果你给出你正在使用的版本号,可能与此有关。。。。。
NodeReference<TestNode> node1 = new NodeReference<TestNode>(9);
NodeReference<TestNode> node2 =new NodeReference<TestNode>(7);
NodeReference<TestNode> node3 = new NodeReference<TestNode>(8);
NodeReference<TestNode> node4 = new NodeReference<TestNode>(10);
NodeReference<TestNode> node5 = new NodeReference<TestNode>(11);


NodeReference [] nodes = { node1, node2, node3, node4, node5  };
var results = new CypherFluentQuery(client)
                                    .Start("user", nodes)
                                    .Match("user-[:is_friend_of]->isfriendof")
                                    .Return<MyNode>("user.name as user,isfriendof.name as     IsFriendOf", CypherResultMode.Projection)
                                    .Results.ToList();
public class MyNode
{
    public string user { get; set; }
    public string IsFriendOf { get; set; }
}

public class TestNode 
{

    public string name { get; set; }
}
Received an unexpected HTTP status when executing the request.

The query was: START user=node({p0}, {p1}, {p2}, {p3}, {p4})
MATCH user-[:is_friend_of]->isfriendof
RETURN user.name as user,isfriendof.name as IsFriendOf

The response status was: 400 Bad Request