Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j的社会建议_Neo4j_Social Networking_Graph Databases - Fatal编程技术网

Neo4j的社会建议

Neo4j的社会建议,neo4j,social-networking,graph-databases,Neo4j,Social Networking,Graph Databases,我对Neo4j完全陌生, 我将使用它来计算应用程序中用户之间的隐式关联,并将其用于社交记录 简单地说,用户会就应用程序向他们建议的新闻、对象和旅行给出反馈(布尔值) 因此,我的图中应该有4种类型的节点: 使用者 新闻 反对 旅行 每次用户对某个项目(新闻、旅行、对象)给出正面反馈时,此事件都应在图中创建两个关系:HAS_Vote(用户对项目)、HAS_Be_Vote(项目对用户)。这些关系有一个属性:投票,每次用户给出积极反馈时,该属性都会增加 我的想法是使用此图计算每个用户到所有其他用户的所有

我对Neo4j完全陌生, 我将使用它来计算应用程序中用户之间的隐式关联,并将其用于社交记录

简单地说,用户会就应用程序向他们建议的新闻、对象和旅行给出反馈(布尔值)

因此,我的图中应该有4种类型的节点:

  • 使用者
  • 新闻
  • 反对
  • 旅行
  • 每次用户对某个项目(新闻、旅行、对象)给出正面反馈时,此事件都应在图中创建两个关系:HAS_Vote(用户对项目)、HAS_Be_Vote(项目对用户)。这些关系有一个属性:投票,每次用户给出积极反馈时,该属性都会增加

    我的想法是使用此图计算每个用户到所有其他用户的所有路径(使用长度路径的上限),并使用投票关系属性计算相同长度路径的分数

    我的问题是这个图中应该有大量的循环和路径,因为在我的解决方案中,每个新的投票事件都会创建从用户到项目的两个关系,从而产生一个循环

    在neo4j的路径计算过程中,该问题可能会导致性能问题

    这是解决我问题的正确shema设计吗

    一些好的建议是受欢迎的


    提前感谢。

    虽然Neo4j要求关系具有方向性,但它可以轻松地在两个方向上遍历关系。因此,不需要使用2个关系来表示双向关系(而且效率低且繁琐)

    因此,您可以摆脱
    已投票
    ,只需使用
    已投票
    关系类型

    网上有很多关于向neo4j推荐的文章。你应该做一个搜索,找到那些对你有帮助的

    另外,要开始,您可以在Neo4j浏览器中输入此命令,开始个性化推荐教程(它可能会回答您的大多数问题):

    :play http://guides.neo4j.com/sandbox/recommendations