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
Cluster computing Neo4j和集群分析仪_Cluster Computing_Neo4j_Cluster Analysis_Graph Databases - Fatal编程技术网

Cluster computing Neo4j和集群分析仪

Cluster computing Neo4j和集群分析仪,cluster-computing,neo4j,cluster-analysis,graph-databases,Cluster Computing,Neo4j,Cluster Analysis,Graph Databases,我正在开发一个web应用程序,它在很大程度上依赖于它根据具有相似偏好的用户对项目提出建议的能力。我的一个朋友告诉我,从数学上讲,我正在寻找的是某种聚类分析算法。另一方面,在这里,我被告知Neo4j(或其他一些图形数据库)是我应该为这个任务(首选项数据库)使用的数据库 我开始研究这两种工具,我有些怀疑。 出于聚类分析的目的,在我看来,标准SQL DB仍然是完美的选择,而Neo4j更适合神经网络方法(尽管仍然非常适合此任务) 我错过什么了吗?我是否试图使用错误的工具组合 我想听听关于这个问题的一些想

我正在开发一个web应用程序,它在很大程度上依赖于它根据具有相似偏好的用户对项目提出建议的能力。我的一个朋友告诉我,从数学上讲,我正在寻找的是某种聚类分析算法。另一方面,在这里,我被告知Neo4j(或其他一些图形数据库)是我应该为这个任务(首选项数据库)使用的数据库

我开始研究这两种工具,我有些怀疑。 出于聚类分析的目的,在我看来,标准SQL DB仍然是完美的选择,而Neo4j更适合神经网络方法(尽管仍然非常适合此任务)

我错过什么了吗?我是否试图使用错误的工具组合

我想听听关于这个问题的一些想法


感谢分享

这取决于您的数据。neo4j能够为一个特定节点实时提供甚至复杂的建议——比如说,您想向用户推荐一些产品,并且可以在graph db中实时处理

然而,使用一些集群系统是一次向所有用户推荐的最好方法(而且可能会将其保存在某个地方,这样您就不需要再次计算)

计算差异:

  • neo4j没有初始化成本,可以在可接受的时间内为您提供一个建议
  • 群集需要更多的初始化时间(例如,不是以秒为单位,但最有可能是以分钟/小时为单位),最好计算整个数据集的建议。事实上,严格地说,对于特定的用户来说,这种集群可以比neo4j更快地完成一次计算,但最大的限制是初始初始化,因此不利于实时应用
实际差异

  • 如果您有大部分静态数据,并且可以一次推荐一次,而不是使用SQL进行集群

  • 如果您获得了动态数据,其中数据会随着每次交互而更新,并且您需要始终提供最新的建议,则使用neo4j


我目前正在研究与neo4j的推荐和集群相关的各种主题。 我不太确定您在寻找什么,但是根据您在图形上实现数据的方式,您可以轻松地根据到各种类型节点的链接数计算出集群算法

如果您正确地规划了节点和关系,那么您就可以确定共享到一组类别的最常见链接的一组节点。

让我介绍一下Reco4J(),它是一个开源框架,提供基于图形数据库源的推荐。它使用neo4j作为图形数据库管理系统。 如果您对支持感兴趣,请查看并与我们联系。 这是一个非常早期的版本,但我们正在努力提供扩展文档和新的有趣功能

干杯,
亚历山德罗

我就是这么想的。我问题的第二部分是:你认为我应该学习/需要一些数学图论,还是我应该试着深入挖掘数据库,我的实际知识应该足以达到所需的结果?如果你是自学成才,没有大学背景,不要把时间浪费在研究那些最好由老师教而不是阅读材料的话题上。在这种情况下,只需尝试为您的特定问题找到解决方案,例如在stackoverflow上发布您的数据和您想要达到的目标,并询问如何做到这一点。但从实际角度来看,这是快速完成任务的最快方法。如果你只是想知道一些事情,并且喜欢学习,那么就不要急于回答问题的第二部分——我不知道你的情况,也不能给你答案。无论哪种方式,您都应该知道这两种技术都有什么好处,因此对这两种技术进行一些理论检查将是有益的。然后,你可以决定哪一个对你的具体问题有好处。我喜欢在深入研究某个主题之前对主题有一个大致的了解。因此,我的习惯是至少买一本大学水平的书,以便有一个良好的概述。这防止我采取次优的方法,这将导致在以后的阶段浪费时间。不幸的是,现在我几乎没有足够的时间来做这件事,我很乐意接受你的建议。谢谢分享!谢谢你的链接,但是我发现这个项目在早期阶段太多了(即:文档太少),以至于我这样一个完全的初学者都无法接近它,即使我有一点点的自信。下一个版本很快就会有更多的细节。同时,如果您与我们联系,我们可以为您提供所有信息和支持,让您开始使用reco4j。@AlessandroNegro是否提供实时推荐?@Nerve我们正在进行实时推荐。请直接与我们联系,以便我们可以讨论您的特定用例,有关详细联系信息,请查看此处:。嗯,我自己对确切的要求不太确定。我需要一些时间来收集所有的数据给你。与此同时,我找到了一份你可能会喜欢的报纸。it(查询和挖掘大型图的快速算法)