首页 > 解决方案 > 如何使用 C# 中的 Neo4j.Driver 从 Neo4j 记录中检索标签

问题描述

我在 C# 中使用 Neo4j.Driver 来查询 Neo4J 数据库。我的密码查询返回多个标签不同的节点,假设我返回电影和演员。我有一个 C# Movie 和一个 C# Actor 类。为了实例化正确的 C# 类(电影或演员)并根据返回的记录设置属性,我如何找出返回的节点具有哪些标签?

var cursor =  await transaction.RunAsync(cypher.ToString());
            await cursor.ForEachAsync(record =>
            {
                var movie = new Movie();
                movie.Name = record["name"].As<string>();
                ....
            }

标签: c#neo4j

解决方案


在一个Node对象上,您应该找到该Labels属性,@see https://github.com/neo4j/neo4j-dotnet-driver/blob/7d954b4d86d134b360a8889ff14a2b6b1a339d7f/Neo4j.Driver/Neo4j.Driver/Types/INode.cs#L31

举个例子 :

var cursor =  await transaction.RunAsync(cypher.ToString());
await cursor.ForEachAsync(record =>
{
  var movie = new Movie();
  movieNode = record["movie"].As<INode>();
  movieNode.Labels[0]
  ....
}

推荐阅读