0

我的密码看起来像这样:

START source=node(16822), target=node(12449)
MATCH p = allShortestPaths(source-[*]-target)
return p

我想为此编写等效的 C# 代码。这是我到现在为止的

var query = client.Cypher
.Start(new { source = sourceNode.Reference, target = targetNode.Reference })
.Match("p = allShortestPaths(source-[*]-target)")
.Return<Node<Data>>("x");

其中 Data 是具有字符串属性(字符串 ID)的类。

我应该用什么代替 x 以获得我的结果作为包含路径的连接 ID 列表。

4

2 回答 2

1

密码 2.0

 START source=node(16822), target=node(12449)
 MATCH p = allShortestPaths(source-[*]-target)
 return nodes(p)
于 2013-11-28T10:01:26.813 回答
0

执行查询的好旧方法是我使用的最后手段

CypherQuery query1 = new CypherQuery(@"START m=node(" + sourceNode.Reference.Id.ToString() + "),     n=node(" + targetNode.Reference.Id.ToString() + @")                                                   
                                                match p = allshortestpaths(m-[*]-n)
                                                return distinct Extract(x in NODES(p): x.NodeId) as paths", paramCollection, CypherResultMode.Set);
            var paths = ((IRawGraphClient)client).ExecuteGetCypherResults<List<string>>(query1);
于 2013-07-03T10:07:31.260 回答