我正在尝试使用neo4j构建推荐引擎,并使用spring-data-neo4j作为持久层。我发现spring数据执行的cypher查询给出了结果,但是对于重复的对象,在具有相同数据集的neo4j浏览器上执行的相同查询会产生预期的结果。
这是执行的查询(我通过启用调试得到了这个) 匹配(你:用户) - [r:RATED] - (m:电影) - [:HAS_MOVIE] - (g:类型) - [:HAS_MOVIE] - (重新:电影)其中u.login =“mickey”和r .stars> = 4通过reco.stars desc SKIP 0 LIMIT 21
返回重新排序我知道很多取决于我的数据等。但是因为我在neo4j浏览器和spring-data-neo4j上看到相同查询的不同结果,我首先怀疑是spring-data。
有没有其他人看过这种行为,有没有其他方法我可以确认spring-data-neo4j返回不正确的结果?
感谢
答案 0 :(得分:1)
您的问题需要对您要实现的目标进行更多澄清。
但是,有些事情可以检查:
1)Neo4j浏览器具有"自动完成功能"功能。此功能自动获取其他数据以构建外观漂亮的图形 如何禁用:
重新运行查询并检查您收到的输出结果。另外 - 检查表格数据的外观。也许表格表示中存在实际重复?
2)向Cypher REST端点发出手动请求并探索JSON输出。那里是否有重复的结果?
可以使用curl或httpie从命令行执行手动请求。
SDN使用JSON REST API,因此,如果原始JSON输出中存在重复 - 那么复制也应该在SDN结果中。
3)验证您的SDN4设置。没有什么特别的,只是为了确保代码中没有任何故障。