【问题标题】:Neo4JClient: How to view the relationship (Direct reportees)?Neo4JClient:如何查看关系(直接下属)?
【发布时间】:2016-02-07 11:33:18
【问题描述】:

我有一个使用Neo4JClient: How to create relationships? 创建关系的示例。如何看待关系?我的意思是如果我想找到有多少节点直接连接到“A”,该怎么做?

更新

在@manonthemat 的帮助下,我在 C# 中转换了密码

var record = client.Cypher
                    .Match("(A)-[r]->()")                   
                    .Return((A, r) => new
                    {
                        User = A.As<ExampleNode>(),
                        NumberOfFriends = r.Count()
                    }).Results;

虽然我能够得到 A 的直接计数,比如 4,但我也想得到那些的名字,例如B、C、D、E。该怎么做?

【问题讨论】:

  • 我还不熟悉 C# 与 Neo4j 的结合。为了澄清,这是你想要的密码吗? “A”是您想要其关系计数器的节点: MATCH (A)-[r]->() RETURN COUNT(r);
  • @manonthemat,虽然我可以得到 A 的直接计数,比如 4,但我也想得到那些名字,例如B、C、D、E。该怎么做?

标签: c# neo4j


【解决方案1】:

我理解您的问题是“我如何确定连接到 A 的节点?”

如果您只需要节点,密码查询应如下所示:

Match A-[r:*]-(X)
Return distinct X

如果你也想要这种关系试试这个:

Match A-[r:*]-(X)
Return r, distinct X

有时您可能希望将搜索限制为仅搜索某种关系,例如“KNOWS”。在这种情况下试试这个:

Match A-[r:KNOWS*]-(X)
Return r, distinct X

【讨论】:

  • 我试过 var record1 = client.Cypher .Match("(A)-[r:*]-(X)") .ReturnDistinct("X").Results;但错误 SyntaxException: Invalid input '': expected whitespace or a rel type name (line 1, column 14 (offset: 13)) "MATCH (A)-[r:]-(X)" ^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
  • 2013-01-27
相关资源
最近更新 更多