我们使用 6 个月的历史网络流量数据生成 48 小时的投影数据。最终的投影数据被加载到 Neo4J 中,以支持前端 Web 应用程序,用户可以在其中搜索服务器并查看其未来与组织内其他服务器的通信/数据传输。我们定义了一个主机节点和关系 1 到 48 小时(1H、2H、3H....48H)。以下常规密码查询可以正常工作并返回带有关系信息的数据。
MATCH p=(parent:HOST)-[r]->(child:HOST)
WHERE parent.HOST_NAME = " "
RETURN p, type(r)
但是,SDN(Spring Data 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();
}
每小时关系信息 (type(r)) 未从 spring 数据 neo4j 存储库返回。
节点和关系定义是否正确?我在这里错过了什么吗?
任何帮助,将不胜感激...