graph-databases相关内容

如何构建图形数据库以支持三向关系?

我一直在尝试找出我一直在从事的个人Web应用程序的数据库后端.由于我在数据中需要灵活性,因此关系数据库不可行,并且可能以某种形式存储文档.当我了解图数据库时,我觉得这将是完美的. 但是,我遇到了一个问题:我需要能够以某种方式定义三向关系.我还没有决定要使用哪个数据库,但是我一直在修改Neo4j,所以我将使用Cypher来描述问题. 从本质上讲,我从以下内容开始: (a:N)-[r ..
发布时间:2020-11-20 06:11:39 其他开发

是否可以使用C#使用OrientDB?

是否有 OrientDB 和C#的任何实现,api或示例.之所以选择OrientDB是因为它是我发现的唯一将Graph和Document结合在一起的数据库. 关于我应该如何尝试的任何建议. 我的下一个选择是RavenDB,但是我不确定它是否支持联接或链接文档? 任何想法... 解决方案 我刚刚为OrientDB开发了REST客户端的第一个版本. http://netori ..
发布时间:2020-11-20 06:10:34 C#/.NET

用于构建JanusGraph DB的GUI

我正在探索JanusGraph数据库,并且需要可视化编辑,例如MySQL工作台. 我发现了一些视觉编辑器为Neo4j . JanusGraph也有视觉编辑器吗?还是可以将这些工具与JanusGraph一起使用? 解决方案 每 JanusGraph的README : 要显示JanusGraph中存储的图形,可以使用任何 以下工具: Cytoscape Gephi Apac ..
发布时间:2020-11-20 06:10:31 其他开发

gremlin语法以计算Jaccard相似度

我有兴趣为图中未直接连接的所有顶点对计算Jaccard相似性度量.雅卡德度量标准定义为两个顶点的邻居的交点的范数除以相同集合的并集范数. 其中 到目前为止,我已经能够获得所有未直接连接的节点对(仅对这种情况感兴趣,以便进行链接预测,如果已经存在直接链接,那么我就不需要计算Jaccard度量标准),因此对于一对(x,y)其中x不等于y: g.V().as('v1').V().whe ..
发布时间:2020-11-20 06:10:27 其他开发

如何使用Gremlin选择可选图形结构?

我正在使用Gremlin查询存储在TitanDB中的图形. 图形包含具有属性(例如“描述")和表示用户之间关系的边的用户顶点. 我想使用Gremlin来获得1)按属性获得的用户以及2)与其他用户的可能关系.例如,我可以使用以下查询来获取所有描述中包含单词"developer"的用户,以及带有标签"relationship"的边缘,这些用户源自或定位于这些用户: g.V('desc ..
发布时间:2020-11-20 06:10:23 其他开发

如何启动Titan图形服务器并与gremlin连接?

我一直在玩 Titan图形服务器已有一段时间了.我的感觉是,尽管有大量的文档,但缺少从头开始教程. 我的最终目标是在cassandra上运行一个titan,并使用 StartTheShift/thunderdome 进行查询.. > 我见过几种启动泰坦的方法: 使用Rexster 来自此链接,我能够运行一个titan服务器执行以下步骤: 下载 rexster服务器2.3 ..
发布时间:2020-11-20 06:10:20 其他开发

Graph/Gremlin用于社交媒体用例

考虑instagram feed场景.我想让所有追随者都“发布"所有帖子.对于这些帖子,我想知道我是否喜欢它,也想知道我关注的其他人中有哪些(如果有的话). 在gremlin中获得最佳解决方案是什么(可能避免重复)? 图像清晰起见 以下内容仅是USER 2“发布"的帖子.如何在同一查询中获取其他信息? g.V().has('ID','USER 2').out('posted') ..
发布时间:2020-11-20 06:10:13 其他开发

关系数据库和图数据库的比较

有人可以向我解释一下关系数据库(例如MySQL)与图形数据库(例如Neo4j)相比的优缺点吗? 在SQL中,您具有多个具有各种ID的表,这些表将它们链接在一起.然后,您必须加入才能连接表.从新手的角度来看,您为什么要设计数据库以要求联接,而不是像图数据库那样从一开始就将连接显式地指定为边.从概念上讲,这对于新手来说毫无意义.大概有一个非常技术性但非概念性的原因吗? 解决方案 两种样式 ..
发布时间:2020-11-20 06:10:10 其他开发

如何增加Titan图形数据库“边缘标签"中的“访问次数"?

我的顶点分别为User1和User2.当User1访问User2配置文件时,正在添加一个具有count变量的边(即Visited). 当User1再次访问User2个人资料时,如何增加计数变量. 解决方案 在使用Titan时,根据使用情况,不建议对边缘进行突变,因为它在内部会导致该边缘的删除和重新创建(注意边缘ID会发生变化).如果使用Cassandra后端,这可能会导致创建墓碑一个 ..
发布时间:2020-11-20 05:55:47 其他开发

如何使用OrientDB ETL仅创建边缘

我有两个CSV文件: 首先包含约500M条以下格式的记录 id,名称 10000023432,Tom用户 13943423235,Blah Person 第二个以以下格式包含〜1.5B朋友关系 fromId,toId 10000023432,13943423235 我使用OrientDB ETL工具从第一个CSV文件创建顶点.现在,我只需要创建边缘以在它们之间建 ..
发布时间:2020-10-30 23:37:52 其他开发

Neo4J密码查询,以通过具有相同通用属性的路径连接节点

我正在尝试创建一个密码查询,该查询将返回由给定范围的跃点(即1..5)连接的节点,其中这些跃点之间的所有关系共享相同的属性值,而未指定此属性。 所以我想做类似的事情 MATCH(a {type:'cin1'})-[rels:Next * 1 .. {value:1}]->(b {type:'cancer'}) 返回(a),(b) 但未指定边缘的值应为1,它们只需要在所 ..
发布时间:2020-10-14 18:39:49 其他开发

节点重用,而不是创建新节点?

我正在尝试以以下方式创建(动作)->(状态)对,以便于: 该动作存在,使用它,而不是创建新的 状态存在,使用它,而不是创建新的 并在单个查询中完成。 如果状态与以前的调用不同,我将创建一个新的动作节点。因此,我最终得到了多个相同的动作节点。 query =“ merge(:state {id:%s} )-[:q {q:%s}]->(:action {id:%s})“%( ..
发布时间:2020-10-14 18:39:33 其他开发

如何从neo4j中的csv文件导入相同标签的节点之间的关系?

我需要将两个单独的csv文件导入到neo4j数据库中。第一个文件包含我要导入的所有节点。信息分类如下: id,名称 1,地球科学 要导入它,我成功使用了以下代码: 使用标题加载CSV从'file:///Node_test.csv'AS行 创建(:学科{id:toInt(line.id),名称:line.Name}) 现在,我想导入我的关系文 ..
发布时间:2020-10-14 18:39:24 其他开发

neo4j中基于时间/日期的搜索

在与neo4j玩耍时,出现了两个问题。目前有2种: 在搜索从节点X到节点的特定路径时如何限制关系/边是(RegEx?/通配符?)?例如,所有边都具有2个时间属性,“开始”和“结束”。我想找到在凌晨2点到凌晨3点之间发生的节点之间的路径。? 如何跟踪时间路径?假设有一辆汽车从“ A”驶向“ B”。该路线花费了一个小时,即从早上5点到早上6点。从“ B”到“ C”的下一个部分也花了一个小时,但 ..
发布时间:2020-10-14 18:36:36 其他开发

如何在Neo4j Cypher中获得具有给定属性的给定数量的出站关系的节点?

在我的域中,节点可以与其他实体具有几种相同类型的关系。每个关系都有多个属性,我想检索通过至少两个呈现给定属性的关系连接的节点。 EG:节点之间的关系的属性为 year 。如何找到具有至少两个传出关系且年设置为 2012 的节点? 为什么到目前为止 Cypher 查询看起来像这样(语法错误) START x =节点(*) 匹配x- [r:RELATIONSHIP_TYPE]-> ..
发布时间:2020-10-14 18:36:17 其他开发

涉及磁盘时最快的稀疏矩阵访问

想象一下,您有一个具有10个Mio记录的表"users"和一个具有1个mio记录的表"groups".平均每个组有50个用户,我至少将它们存储在一个名为users2groups的表的rdbms中. users2groups实际上是一个稀疏矩阵.用户和组的全部数据集中只有80%可以容纳到可用内存中.组成员资格(users2groups)的数据位于最前面,因此,如果需要内存来缓存组成员资格,则必须从用 ..

GAS API的实施和使用

我正在尝试学习和使用GAS API在数据库上实现随机游走,将每个访问的顶点与起始顶点相关联. 我在了解如何设法做到这一点时遇到了一些问题;我已经以PATHS,BFS,PR和其他GAS类为例进行了回顾,但是我不确定如何开始. 我认为我的实现应该扩展BaseGASProgram并实现所需的方法.同样,作为迭代,边界包含当前迭代的所有顶点.对我来说,前辈的概念也很清楚. 但是我认为我不 ..
发布时间:2020-09-20 19:39:15 其他开发