【发布时间】:2021-09-17 18:02:21
【问题描述】:
我正在尝试找到一个通用(ist)密码查询,而无需指定标签,这将实现以下用例。
- 用户可以链接到节点,这些节点代表用户配置文件或活动。例如
(User)->[:HAS_CLICKED]->(Document),或(User)-[:LIVES_IN]->(Country) - 广告可以链接到这些节点中的一个或多个
Document-[:x]->Advert
catch 试图找到一个有效的查询来验证以下内容:用户必须与至少一个与广告具有相同标签的节点相关才能看到它。一般架构如下所示:
我查看了 cypher 中的交集和联合技术,包括 apoc.intersection 过程,但它在这种情况下确实有效。
数据库包含大约 6M 的关系,效率至关重要。我们总是尝试为一个用户找到一个随机广告(查询总是以 MATCH (u:User{id:"1"})... 开头。我写了很多不成功的测试,但我不确定我可以用哪种有效的方法来解决这样的问题。任何帮助都是赞赏!
【问题讨论】:
标签: neo4j cypher graph-databases