Neo4jClient:C# 查询以获取包含多列的集合
Neo4jClient : C# query to fetch collection with multiple columns
如何使用 neo4jClient 获取多列数据 -
对于等式。 link
上显示的示例
Cyper query to fetch multiple column collection
上面显示的示例传递事件节点的属性以进行收集,而不是完整的事件节点。
我正在构建的查询从事件节点中获取了一些属性,从关系中获取了一些属性。
对于等式。需要添加关系属性 "registerd_on"。
那么如何为集合传递多个属性呢?
这不是很好,但是如果你查看通过执行集合返回的内容,你会得到一个数组数组,但这些数组本身没有属性,所以你只能真正将它们解析为 string
.
使用 :play movies
数据集作为基础:
var query = gc.Cypher
.Match("(p:Person {name:'Tom Hanks'})-->(m:Movie)")
.With("p, collect([m.title, m.released]) as collection")
.Return((p, collection) => new
{
Person = p.As<Person>(),
Collection = Return.As<IEnumerable<IEnumerable<string>>>("collection")
});
其中 Person
是:
public class Person
{
public string name { get; set; }
}
然后您可以像这样访问数据:
foreach (var result in results)
{
Console.WriteLine($"Person: {result.Person.name}");
foreach (var collection in result.Collection)
{
foreach (var item in collection)
{
Console.WriteLine($"\t{item}");
}
}
}
不太好:/
如何使用 neo4jClient 获取多列数据 -
对于等式。 link
上显示的示例Cyper query to fetch multiple column collection
上面显示的示例传递事件节点的属性以进行收集,而不是完整的事件节点。
我正在构建的查询从事件节点中获取了一些属性,从关系中获取了一些属性。
对于等式。需要添加关系属性 "registerd_on"。 那么如何为集合传递多个属性呢?
这不是很好,但是如果你查看通过执行集合返回的内容,你会得到一个数组数组,但这些数组本身没有属性,所以你只能真正将它们解析为 string
.
使用 :play movies
数据集作为基础:
var query = gc.Cypher
.Match("(p:Person {name:'Tom Hanks'})-->(m:Movie)")
.With("p, collect([m.title, m.released]) as collection")
.Return((p, collection) => new
{
Person = p.As<Person>(),
Collection = Return.As<IEnumerable<IEnumerable<string>>>("collection")
});
其中 Person
是:
public class Person
{
public string name { get; set; }
}
然后您可以像这样访问数据:
foreach (var result in results)
{
Console.WriteLine($"Person: {result.Person.name}");
foreach (var collection in result.Collection)
{
foreach (var item in collection)
{
Console.WriteLine($"\t{item}");
}
}
}
不太好:/