当前位置: 首页 > 知识库问答 >
问题:

在SDN中定义自引用节点时关系不返回(Spring Data Neo4J)

宣冥夜
2023-03-14

我们使用6个月的历史流量数据生成48小时的预测数据。最终的投影数据被加载到Neo4J中,以支持前端网络应用程序,用户可以在其中搜索服务器,并查看其与组织内其他服务器的未来通信/数据传输。我们定义了一个主机节点和关系1到48小时(1H,2H,3H......48H)。下面的常规密码查询工作正常,并返回带有关系信息的数据。

MATCH p=(parent:HOST)-[r]->(child:HOST)
WHERE parent.HOST_NAME = " "
RETURN p, type(r)

但是,SDN(Spring数据Neo4j)设置没有返回关系信息。节点实体定义如下。

@NodeEntity
public class Host {
  @GraphId
  private Long id;
  private String Host_Name;

  @Relationship(type="")
  private List<Host> hosts;

  public List<Host> getHosts() {
    return hosts;
  }

  public Long getId() {
    return id;
  }

  public String getName() {
    return Host_Name;
  }
}

和存储库定义为

public interface HostRepository extends Neo4jRepository<Host, Long> {
   @Query("MATCH p=(parent:Host)<-[r:`28H`]-(child:Host) WHERE parent.Host_Name = \"pserver_01\" RETURN p, type(r)")
   Collection<Host> getAllHosts();
}

每小时关系信息(类型(r))不会从Spring数据neo4j存储库返回。

节点和关系定义正确吗?我是不是漏了什么?

任何帮助都将不胜感激...

共有1个答案

柳刚豪
2023-03-14

你使用的那些空字符串真的很奇怪。我认为空洞的关系类型是行不通的。

默认情况下,方向为OUTGOING,如果要同时看到这两个方向,则必须在注释中指定direction=both

在存储库示例中,需要使用投影或@QueryResult来查看type(r)AS type列。

 类似资料:
  • 我试图使用cypher创建一个查询,该查询将“查找”厨师可能有的缺失食材,我的图是这样设置的:

  • 我正在从SDN3迁移到SDN4,从NEO4J2.3迁移到3.0。1. 我有以下搜索密码查询: 在我的测试中,Param等于以下Lucene查询: 就是现在 返回 但在SDN 3和Neo4j 2.3上运行良好,并返回节点。 这是我的Neo4jTestConfig: 我的配置可能有什么问题?如何使其在SDN 4上工作? 更新 此外,我发现以下答案无法使用InProcessServer()SDN 4配置

  • 我会尽可能的怀疑Thomas抱歉长代码。 这个问题将通过系列、书籍、作者、作者和图片来呈现 系列模型 图书模型 作者模型 作者图片模型 系列服务 问题来了。的结果将包括书籍和作者,但不包括作者图片。 奇怪的事情;如果我取消返回并转储,我可以看到,一个查询被触发,以在 (.,.,.)中查找AuthPictures

  • 改变json输出策略 默认使用阿里的fastjson进行json输出 JSON.toJSONString(obj) 如果要更换输出策略,操作方式如下: @Override protected void initApiConfig(ApiConfig apiConfig) { ... // 自定义json格式输出,将null字符串变成"" apiConfig.setJson

  • 网关默认对业务结果进行合并,然后返回统一的格式。 针对alipay.story.find接口,微服务端返回结果如下: { "name": "白雪公主", "id": 1, "gmtCreate": 1554193987378 } 网关合并后,最终结果如下 { "alipay_story_find_response": { "msg": "Succe

  • 我目前正在使用VSCode,并且正在尝试使用F12快捷方式,它将带我进入对象/函数的定义。当我想回到参考文献时,我似乎找不到正确的方法。对于VS社区,我使用了ShiftF12。 我尝试了不同的组合,例如AltF12或ShiftF12,但我得到的只是元素的一个预览定义,根本没有用处;它只是一个弹出窗口,在我所在的同一个文件中显示相同的元素。我已经看到了这个问题的答案,但与VS2010有关,这些答案不