标签: graph-databases

生成建议书的Google Prediction API与图表数据库?

(我承认我不是图形数据库或NoSQL的专家,到目前为止只用于一些业余爱好项目.)

我一直在使用像InfiniteGraph和Stig这样的技术来推荐 - 这些图形数据库据说可以针对这样的任务进行优化.看起来新的Google Predictions API能够实现相同的目的 - 给定数据集和用户的实际喜欢作为子集,能够预测用户可能真正喜欢的内容.

是否有可靠的指标来比较Google Predictions与其他基于图形的数据库?

google-analytics recommendation-engine graph-databases google-prediction

12
推荐指数
1
解决办法
707
查看次数

图数据库设计方法

我想使用图形数据库用于Web应用程序(涉及用户,帖子,评论,投票,答案,文档和文档合并的网络以及用户和文档上的一些其他传递关系).所以我开始问自己是否有类似于图形数据库的设计方法,即一种类似于关系数据库推荐的设计原则(如那些普通形式)?

示例问题(出现许多问题):

  • 创建一个顶级节点用户,在数据库中的任何用户节点上建立关系("存在")是一个好主意吗?
  • 建立版本管理(即创建关系(类似"跟随"))是一个好主意,指向文档/帖子的更新版本,这种方式可以回退这种关系意味着观察文档所经历的更改.
  • 等等...

那么,我们需要图形数据库设计手册吗?

database design-patterns graph neo4j graph-databases

12
推荐指数
1
解决办法
4514
查看次数

Neo4j vs Apache Giraph在图遍历中

Apache Giraph vs Neo4j:在这两个图形处理系统中,跨节点的遍历算法是否完全不同?如果我们要遍历说使用Giraph和Neo4j的社交图表存储在单机(非分布式)中的数据,这会表现得更好,为什么?

neo4j graph-databases graph-traversal

12
推荐指数
1
解决办法
6106
查看次数

RDBMS可以做什么Neo4j(和图形数据库)不能?

"图形数据库 - 转换 - > RDBMS"

Neo4j网站似乎暗示无论你在RDBMS中做什么,你都可以在Neo4j中做到.

在选择Neo4j作为RDBMS 的替代品之前,我需要回答一些疑问.


我对Neo4j很感兴趣

  • 能够快速修改数据"架构"
  • 能够自然地表达实体而不是关系和规范化
  • ...导致高度表达的代码(优于ORM)

这是一个NoSQL解决方案,我感兴趣的是它的功能,而不是高性能.


问题: Neo4j是否存在任何可能使其不适合作为RDBMS替代品的问题?

我特别关注这些:

  • 我必须在应用程序逻辑中实现任何数据库功能吗?(例如,您必须在应用程序层为少数NoSQL DB实现连接)
  • 字段" 索引 "以允许查找比O(n)更快吗?
  • 如何处理热备份和复制?
  • "更改"架构或让具有不同版本架构的实体共存的任何问题?

database rdbms neo4j nosql graph-databases

11
推荐指数
1
解决办法
2257
查看次数

Neo4j节点属性类型

我正在玩neo4j,我想知道,type在节点上有一个属性来指定它是什么类型的节点是常见的吗?我试过寻找这种做法,我看到有些人name用于这样的目的,但我想知道它是否被认为是一种好的做法,或者索引是否更实用?

一个例子是一个"用户"节点,它有类型:user,这样如果索引是坏的,我将能够进行全节点扫描并寻找类型user.

neo4j graph-databases

11
推荐指数
2
解决办法
7235
查看次数

为什么索引节点或索引属性在图形数据库中更好?

我刚刚进入图形数据库,我似乎一直在遇到一个问题,决定使用"索引节点"还是"索引属性"来跟踪"节点类型"之类的事情.由于到目前为止我没有真正的经验,我没有任何信息可以作出决定,这两种方法似乎同样有效.

因此,问题是:两种方法之间的权衡什么,以及规模(即节点数量)如何影响决策?

对于示例场景,我们假设有两种类型的"事物":User并且Product,用户节点和产品节点之间的边缘并不重要,但我们关心的是我们是否需要type: Usertype: Product每个节点上的属性或者,如果我们希望每个节点分别具有指向User节点和Product节点的边缘.

在哪种情况下哪种方法更好?

注意:我特别关注Neo4j和Titan,但我认为这也会更普遍地应用.

database-design neo4j graph-databases titan

11
推荐指数
1
解决办法
3214
查看次数

使用Neo4j执行任意查询

我正在阅读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?为什么?

有没有人有这方面的经验数据?

database performance neo4j graph-databases

11
推荐指数
1
解决办法
1422
查看次数

将整个Neo4j图形数据库保存在RAM中?

我正在研究工作项目的图形数据库.由于我们的数据高度连接,因此图形数据库似乎对我们来说是一个不错的选择.

我遇到的第一个图形数据库选项之一是neo4j,在大多数情况下,我喜欢它.但是,我有一个关于neo4j的问题,我找不到答案:我可以让neo4j将整个图存储在内存中吗?如果是这样,如何配置?

我正在设计的应用程序需要闪电般快速.我无法等待数据库转到磁盘来检索我正在搜索的数据.我需要将整个数据库保存在内存中以减少查询时间.

有没有办法将整个neo4j DB保存在内存中?

谢谢!

neo4j graph-databases

11
推荐指数
2
解决办法
1751
查看次数

如何创建图神经网络数据集?(pytorch几何)

如何将我自己的数据集转换为可供 pytorch 几何图形神经网络使用的数据集?

所有教程都使用已转换为可由 pytorch 使用的现有数据集。例如,如果我有自己的点云数据集,如何使用它来训练图神经网络的分类?我自己的分类图像数据集怎么样?

python graph-databases pytorch pytorch-geometric

11
推荐指数
1
解决办法
1万
查看次数

是否有必要从neo4j社区版迁移到企业版和有关在neo4j中创建新数据库的查询

我正在做Neo4j图数据库的研究工作.我使用Neo4j的主要目的是为了搜索目的.现在我正在研究它的社区版本,我已经读过(有疑问)它允许大约1亿个节点.我有一个概念,直到现在它对我有用,但现在我很困惑.

我的模块: - 前 - 这就像用户提出的问题一样,会有问题的标签和问题的级别.节点将创建问题,标签和级别,并与它们之间的关系互连.还将有一些其他模块.因此,图表的大小每天都会增加.

我的问题: -

  1. 我是否正确使用Neo4j进行搜索?
  2. 我们网站的生产模式的社区版限制.
  3. 生产网站是否有必要从社区转向企业版?

目前,根据编码部分我使用neo4j-jdbc驱动程序与cypher queries.as建议我只有SO的知名用户. QUERY - - 是否可以在默认数据库上工作,或者我必须在db的特定大小之后创建一个新数据库?

java neo4j graph-databases

10
推荐指数
1
解决办法
5642
查看次数