问题标签 [titan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database-design - 为什么在图形数据库中索引节点或索引属性会更好?
我刚刚进入图形数据库,我似乎一直在决定使用“索引节点”或“索引属性”来跟踪诸如“节点类型”之类的东西。由于到目前为止我还没有真正的经验,因此我没有任何信息可以作为决定的依据,而且这两种方法似乎都同样有效。
所以,问题是:两种方法之间的权衡是什么,规模(即节点数量)如何影响决策?
对于一个示例场景,假设有两种类型的“事物” :User
和,或者如果我们希望每个节点都有一条边分别指向一个节点和一个节点。Product
type: User
type: Product
User
Product
在哪种情况下哪种方法更好?
注意:我特别关注 Neo4j 和 Titan,但我认为这也会更普遍地适用。
groovy - 泰坦中的“超级节点”
我正在开发一个可以很好地与图形数据库(Titan)配合使用的应用程序,除了它在具有许多边的顶点(即supernodes )方面存在问题。
上面的超级节点链接指向 Titan 作者的博客文章,解释了解决问题的方法。解决方案似乎是通过对边缘进行过滤来减少顶点的数量。
不幸的是,我想要groupCount
边缘或顶点的属性。例如,我有 100 万用户,每个用户都属于一个国家。我怎样才能快速groupCount
计算出每个国家的用户数量?
到目前为止我所尝试的可以在这个精心制作的 groovy 脚本中显示:
基本上一个根节点(为了 Titan 没有“所有”节点查找),链接到许多person
具有country
属性的通过边。当我在 100 万个顶点上运行 groupCount() 时,需要一分钟。
我意识到 Titan 可能正在遍历每条边并收集计数,但是有没有办法让它在 Titan 或任何其他图形数据库中运行得更快?可以对索引本身进行计数,因此不必遍历吗?我的索引是否正确?
cassandra - 基于 Cassandra 的图形数据库
我打算在我的 spring web 项目中使用 cassandra 和图形数据库。谷歌搜索后,我发现了一些开源图形数据库。实际上我一直在寻找一些对 cassandra 有很好支持的开源图形数据库,所以我找到了 titan 图形数据库。它看起来不错,但它是新的,不知道它对于具有大量数据和读/写操作的现实世界应用程序的效率有多大。
所以我想知道
1. 还有 cassandra 支持的图形数据库吗?
2. 对于具有海量数据和读/写操作的现实世界 Web 应用程序来说,titan 是否足够好?
graph - 灯泡 / Gremlin / Titan 的关键索引
我正在尝试将我的 Neo4J 应用程序移植到 Titan,但遇到了一些与索引相关的问题。我知道 Titan 不支持顶点或边缘索引,只支持“关键”索引,对吗?
我也在使用灯泡模型,例如:
添加 Person(facebook_id='111') 以检索时应该可以使用:
它不起作用,并告诉我需要在使用之前创建键索引。所以我删除了键空间并在 rexster doghouse 中手动创建了索引:
之后,用灯泡创建了 Person(facebook_id='111') 并尝试在 rexster doghouse 上检索:
并得到空洞的回应。使用 Titan 顶点 ID 获取时,它可以工作,但“facebook_id”为空并且“.map()”不起作用:
附言
- 这是我删除键空间后创建的第一个顶点
- 是否可以自动创建键索引?
有小费吗?
谢谢!
雷纳托·佩迪戈尼
cassandra - Titan 和 Cassandra 调试和分析查询
使用 Cassandra 后端时,是否可以看到正在从Titan执行 Cassandra 查询,以及每个查询需要多长时间?理想情况下,它会输出到标准错误或日志文件。
如果我发现 Titan 与 Cassandra 交谈的方式有任何低效,这可能有助于优化我的查询结构。
graph - TinkerPop 蓝图和框架 - 如何将数据视为集合
我发现了这个问题如何使用 Tinkerpop/Blueprints 图形 API 存储和检索不同类型的顶点?
但这对我来说不是一个明确的答案。
例如,如何查询 10 个最新文章与 10 个最近注册用户的 api?暂时搁置图形,因为此堆栈必须能够处理集合/文档范式以及图形范式(这些集合类型的元素之间的关系)。我已经阅读了包括源代码在内的所有内容,并且越来越接近但并不完全在那里。
我读过的最接近的文档是这里的多租户文章:http: //architects.dzone.com/articles/multitenant-graph-applications
但它侧重于使用 gremlin 进行图形隔离和查询,我希望在需要对图形进行分析之前避免这种情况。
我正在考虑在这一点上使用 cassandr/hadoop 并引用图形 id,但我可以看到这让我很痛苦。
hbase - 如何定义 Titan Graph DB Vertex 的数据类型?
我正在使用 Titan 和 Blueprint API 创建一个图形数据表。我使用 HBase 作为后端。我知道如何为关键索引定义数据类型。
例子:
现在我实际上想在 Titan DB Graph 中表示一个 RDBMS 表。是否有任何过程可以在 Titan Graph Model 中实现“列数据类型”(如在 RDBMS 表中)?
clojure - clojure 钛 - 如何保存到 berkely DB?
我可以阅读钛图并将其添加到钛图中(使用 berkely DB 后端),例如以下内容:
然后我可以使用
修改图表。但是如何将修改后的图表保存到我的 berkleydb 后端?
我没有泰坦的属性文件,我正在使用 [clojurewerkz/titanium "1.0.0-alpha1"]
configure - Thinkaurelius Titan 配置 BerkeleyDB
我正在尝试使用以下方法创建 Thinkaurelius Titan 数据存储:
该文档可以在https://github.com/thinkaurelius/titan/wiki/Using-BerkeleyDB找到 但是每次我打开图表时都会创建一个新的数据存储。我什至尝试使用配置对象,但没有帮助。有没有人在这方面工作过?我想创建一个应该可重用的 Titan 数据存储,即它不应该在我每次打开它时都创建一个新的数据存储。
请问有什么建议吗?
mongodb - 来自neo4j中的gremlin shell的GMongo实例未定义
我正在尝试从 Neo4j 中的 Gremlin shell 加载来自 mongodb 数据库的数据,以便从中创建图形数据库。gremlin-mongodb中解释了详细信息。首先,我从GMongo下载了 GMongo jar 文件,并在 Neo4j Web 管理控制台的 Gremlin shell 中运行以下代码
导入命令工作并导入包,但第二行失败,消息未定义。我也尝试导入以下包,但这也不起作用。
知道问题是什么吗?