Neo4jClient - 返回属于节点的标签

Posted

技术标签:

【中文标题】Neo4jClient - 返回属于节点的标签【英文标题】:Neo4jClient - Returning labels belonging to node 【发布时间】:2014-02-17 16:11:30 【问题描述】:

在为 .NET 使用 Neo4j 客户端时,我无法找到一种方法来捕获属于特定节点的标签。

我可以通过捕获网络流量观察到这些数据是可用的,但我找不到任何方法来使用 API 检索这些数据。这同样适用于检索节点 ID - 我可以在网络上观察到那些,但不是在代码中。

这还没有实现吗?

【问题讨论】:

【参考方案1】:

您不应该处理节点 ID。它们已被弃用,并且会越来越多地消失。

要检索标签,直接从 https://github.com/Readify/Neo4jClient/wiki/cypher-examples 复制,此 Cypher:

MATCH (user:User)
WHERE user.Id = 1234
RETURN labels(user)

这是 C#:

graphClient.Cypher
    .Match("(user:User)")
    .Where((User user) => user.Id == 1234)
    .Return(user => user.Labels())
    .Results

【讨论】:

在网络查询请求中,如果我直接返回节点,它会返回带有 nodeId 的元数据属性(我知道你说现在不推荐使用),还有“标签”大批。看起来标签属性没有反序列化为 Node,以及其他与 URI 的关系属性,这些属性没有被反序列化为 Node 上的 C# 属性是否有原因?

以上是关于Neo4jClient - 返回属于节点的标签的主要内容,如果未能解决你的问题,请参考以下文章

使用 neo4jclient 确保唯一节点

如何在c#neo4jClient中创建一个唯一节点(如果已经存在则不重复)?

如何在 Neo4j v2 中使用 Neo4jClient 创建节点?

Neo4jClient "CASE WHEN" 连同返回

获取下一个兄弟节点值/文本返回空字符串

如何确定yaml-cpp中节点的内置标签?