图数据库可以查询"nodes that a given node has no relationship with"吗?

Can graph database query "nodes that a given node has no relationship with"?

我正在开发一款约会应用程序,用户可以在其中 "like" 或 "dislike" 其他用户进行配对。 可以想象,该应用程序最重要的查询是: Give me a stack of nearby user profiles that I have NOT liked/disliked before.

我尝试使用文档数据库 (Firestore) 来解决这个问题,但发现它根本不适合此类应用程序,因此我进入了对我来说很新鲜且令人着迷的图形数据库世界。

我理解图形数据库本质上通过追踪关系来检索数据,并首先建立关系-class 公民。我现在的问题是,如果我要获取的节点与给定节点 没有 关系怎么办?查询会是什么样子?谁能提供示例查询?

编辑: - 添加 nearby 条件到查询语句

这绝对可以,这里是一个查询示例:

MATCH (me:Profile {name: "Chris"})
MATCH (other:Profile) WHERE NOT (other)-[:LIKES]->(me)

正如您在原始问题的评论中所述,在大型数据集上,它 可能 无法很好地扩展,也就是说您只使用一个匹配标准是非常罕见的,例如,要匹配的可能配置文件列表可以按以下方式分组:

  • 地理位置
  • 个人资料深度 2(谁喜欢我,然后找到他们喜欢的其他人,那些人喜欢我吗?)
  • 共同兴趣
  • 年龄段
  • 肤色
  • ...