2013-04-24 60 views
0

在我的情况下,我有一堆节点代表用户 ,它们与他们阅读的书籍有关。Neo4j - 从节点阵列搜索

此用户有一个属性,说明他们来自哪里,我根据他们的国家将它们添加到索引。

所以我想在索引中搜索来自一个国家的用户,并列出那些从那里读取更多的书籍,以及通过分组排序。

任何人可以给我一个帮助如何做到这一点? 我遇到了一些麻烦来自指标让用户,做查询根据你的描述

+1

你在使用Cypher吗? – fynn 2013-04-24 09:03:49

回答

1

夫妇的假设:

  • 用户有country属性,它包含了如France作为价值
  • 你有个指标叫做users你存储用户节点的country财产有
  • 关系型连接用户和书籍是基于

READ

  • 书节点有title属性这些假设密码查询将如下所示:

    start user=node:users(country='France') 
    match user-[:READ]->book 
    return book.title, count(*) as rank 
    order by rank desc 
    limit 20  
    

    s ide注意:提出这种问题的最佳方法是在http://console.neo4j.org上创建示例图并在SO上共享您的设置。