gpt4 book ai didi

neo4j - 我怎么能在neo4j中写这个查询?

转载 作者:行者123 更新时间:2023-12-04 10:29:26 25 4
gpt4 key购买 nike

我对 neo4j 和一般的图形数据库都很陌生。我正在设计一个应用程序的原型(prototype),但我不知道应该如何编写这些查询

我有这个域:

用户
餐厅
审查
食物类型

因此,一家餐厅有一个或多个 TypeOfFood,用户会留下有关餐厅的评论。用户有一些喜欢的食物,与餐厅出售的 TypeOfFood 相匹配。用户也通过典型的 friend 关系相互关联。

我正在尝试编写的一些查询:

  • 给我所有我 friend 评价为 3 星或以上且制作我喜欢的食物的餐厅(不包括我已经评论过的那些餐厅)
  • 推荐我可能认识的 friend (我想这应该是“所有我 friend 的 friend 但还不是我的 friend ,按某事订购)
  • 最佳答案

    使用 Neo4j 的 Cypher查询语言,您可以像这样编写查询:

    选择评分最高的 20 家餐厅,按星级和评论数量排序

    start user=(users,name,'Nico')
    match user-[:FRIEND]->friend-[r,:RATED]->restaurant-[:SERVES]->food,
    user-[:LIKES]->food,user-[:RATED]->rated_by_me
    where r.stars > 3
    return restaurant.name, avg(r.stars), count(*)
    order by avg(r.stars) desc, count(*) desc
    limit 20

    friend 的 friend
    start user=(users,name,'Nico')
    match user-[:FRIEND]->friend->[:FRIEND]->foaf
    return foaf, foaf.name

    您可以在 Neo4j Webadmin Console 中执行这些密码查询。在您的数据集上,也可以在 neo4j-shell 中,通过 Cypher-Rest-Plugin 通过 Spring Data Graph 远程.

    还有一个 screencast在 cypher 中讨论类似的查询。

    您也可以使用 Gremlin , Neo4j-Traversers或通过 getRelationships 手动遍历如果你愿意。

    关于neo4j - 我怎么能在neo4j中写这个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6952096/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com