(我承认我不是图形数据库或NoSQL的专家,到目前为止只用于一些业余爱好项目.)
我一直在使用像InfiniteGraph和Stig这样的技术来推荐 - 这些图形数据库据说可以针对这样的任务进行优化.看起来新的Google Predictions API能够实现相同的目的 - 给定数据集和用户的实际喜欢作为子集,能够预测用户可能真正喜欢的内容.
是否有可靠的指标来比较Google Predictions与其他基于图形的数据库?
google-analytics recommendation-engine graph-databases google-prediction
我想使用图形数据库用于Web应用程序(涉及用户,帖子,评论,投票,答案,文档和文档合并的网络以及用户和文档上的一些其他传递关系).所以我开始问自己是否有类似于图形数据库的设计方法,即一种类似于关系数据库推荐的设计原则(如那些普通形式)?
示例问题(出现许多问题):
那么,我们需要图形数据库设计手册吗?
Apache Giraph vs Neo4j:在这两个图形处理系统中,跨节点的遍历算法是否完全不同?如果我们要遍历说使用Giraph和Neo4j的社交图表存储在单机(非分布式)中的数据,这会表现得更好,为什么?
"图形数据库 - 转换 - > RDBMS"
Neo4j网站似乎暗示无论你在RDBMS中做什么,你都可以在Neo4j中做到.
在选择Neo4j作为RDBMS 的替代品之前,我需要回答一些疑问.
我对Neo4j很感兴趣
这是一个NoSQL解决方案,我感兴趣的是它的功能,而不是高性能.
问题: Neo4j是否存在任何可能使其不适合作为RDBMS替代品的问题?
我特别关注这些:
我正在玩neo4j,我想知道,type在节点上有一个属性来指定它是什么类型的节点是常见的吗?我试过寻找这种做法,我看到有些人name用于这样的目的,但我想知道它是否被认为是一种好的做法,或者索引是否更实用?
一个例子是一个"用户"节点,它有类型:user,这样如果索引是坏的,我将能够进行全节点扫描并寻找类型user.
我刚刚进入图形数据库,我似乎一直在遇到一个问题,决定使用"索引节点"还是"索引属性"来跟踪"节点类型"之类的事情.由于到目前为止我没有真正的经验,我没有任何信息可以作出决定,这两种方法似乎同样有效.
因此,问题是:两种方法之间的权衡是什么,以及规模(即节点数量)如何影响决策?
对于示例场景,我们假设有两种类型的"事物":User并且Product,用户节点和产品节点之间的边缘并不重要,但我们关心的是我们是否需要type: User和type: Product每个节点上的属性或者,如果我们希望每个节点分别具有指向User节点和Product节点的边缘.
在哪种情况下哪种方法更好?
注意:我特别关注Neo4j和Titan,但我认为这也会更普遍地应用.
我正在阅读Neo4J发表的论文(前一段时间):http://dist.neo4j.org/neo-technology-introduction.pdf
在第二页到最后一页," 缺点"部分指出Neo4J不适合任意查询.
假设我有具有以下属性的用户节点:NAME,AGE,GENDER
以下关系:LIKE(指向Sports,Technology等NODE)和FRIEND(指向另一个USER).
Neo4J在查询类似的东西时效率不高:
找到喜欢运动,技术和阅读的FRIENDS(给定节点)OVER_THE_AGE 21.
因此,您必须首先找到USER1的FRIEND边缘,然后找到朋友的LIKE边缘并确定该节点是否被称为Sports,并且您必须确定给定朋友的年龄属性是否大于21.
这是一个糟糕的数据模型吗?特别是对于图形数据库?LIKE关系的原因是,如果您想找到所有喜欢运动的人.
对此更好的数据库选择是什么?Redis,Cassandra,HBase,PostgreSQL?为什么?
有没有人有这方面的经验数据?
我正在研究工作项目的图形数据库.由于我们的数据高度连接,因此图形数据库似乎对我们来说是一个不错的选择.
我遇到的第一个图形数据库选项之一是neo4j,在大多数情况下,我喜欢它.但是,我有一个关于neo4j的问题,我找不到答案:我可以让neo4j将整个图存储在内存中吗?如果是这样,如何配置?
我正在设计的应用程序需要闪电般快速.我无法等待数据库转到磁盘来检索我正在搜索的数据.我需要将整个数据库保存在内存中以减少查询时间.
有没有办法将整个neo4j DB保存在内存中?
谢谢!
如何将我自己的数据集转换为可供 pytorch 几何图形神经网络使用的数据集?
所有教程都使用已转换为可由 pytorch 使用的现有数据集。例如,如果我有自己的点云数据集,如何使用它来训练图神经网络的分类?我自己的分类图像数据集怎么样?
我正在做Neo4j图数据库的研究工作.我使用Neo4j的主要目的是为了搜索目的.现在我正在研究它的社区版本,我已经读过(有疑问)它允许大约1亿个节点.我有一个概念,直到现在它对我有用,但现在我很困惑.
我的模块: - 前 - 这就像用户提出的问题一样,会有问题的标签和问题的级别.节点将创建问题,标签和级别,并与它们之间的关系互连.还将有一些其他模块.因此,图表的大小每天都会增加.
我的问题: -
目前,根据编码部分我使用neo4j-jdbc驱动程序与cypher queries.as建议我只有SO的知名用户. QUERY - - 是否可以在默认数据库上工作,或者我必须在db的特定大小之后创建一个新数据库?