问题标签 [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.

0 投票
1 回答
1246 浏览

gremlin - 创建复杂的 gremlin-java 查询

我在 Titan 图形数据库中实现了模型,关系如下:

AB是“主要顶点”(例如用户),顶点BC是描述与用户相关的一些数据的“不太重要的顶点”。

查询算法的输入是idvertex的属性A

我想找到所有这样的顶点D,它们A以上面显示的方式连接。更重要的是,我想记住和之间prop1的边的性质。e1AB

更准确地说,我想有效地检索边缘属性之间的对((prop1, numberD)如果边缘具有此属性),并且是来自.prop1A -> BnumberDnumberD

我不知道如何有效地实现这个查询。

只检索顶点很容易D(使用GremlinPipes):

但是,当我还需要获取边e1并将它们与顶点匹配时,就会出现问题D。我试图分别计算所有这些步骤,但似乎效率很低。

您对如何使用 gremlin-java 或 gremlin-groovy 实现此(可能使用多个查询)有任何建议吗?谢谢!

0 投票
2 回答
10048 浏览

cassandra - 如何实际设置基本的 Titan + Rexster + Cassandra?

我正在尝试设置一个完全基本的 Titan Rexster Cassandra 实例,但我似乎无法破解代码。我现在已经尝试了很多方法来让它工作,但我似乎无法让它工作。无论我读了多少关于它的信息,我都无法正确设置它。

我想要的是一个以嵌入式模式运行的 Titan-rexster-cassandra 实例,其中包含一些索引,包括弹性搜索。在我阅读了所有内容之后,似乎这是我下载 titan-server-0.4.0 并运行bin/titan.sh start命令时应该得到的。这也启动了服务器。但是:当我尝试为此添加索引时,没有任何反应。当我尝试通过 RexPro 填充它时,没有添加任何内容。

当我重新启动服务器时,我的图表消失了。当我转到 时,它不再出现在 Rexster 图表列表中http://localhost:8182/graphs。因此,我的数据似乎不会持续存在,或者至少对于 rexster 来说消失了。

我觉得我已经尝试了几乎所有方法来让它发挥作用:

  • 更改.properties以包含搜索索引,如下所示:storrage.index.search.backend=elasticsearch...
  • .properties将文件(全部)更改为usecassandra和forembeddedcassandracassandrathriftstorage.backend
  • 尝试使用此问题中指示的属性启动服务器以指向特定的配置文件。
  • 我查看了该titan.sh文件以查看实际发生的情况,然后转到这些指示的配置文件并查看那里发生了什么,我已经尝试了很多诸如上述的事情。

我已经为此挣扎了一个多星期,可能两个甚至更多,我开始失去信心。我正在考虑回到 neo4j,但不幸的是我真的需要 Titan 的可扩展性。但是,如果我不能让它工作,那就没用了。我觉得可能有一些琐碎但重要的事情我还没有想通,或者忘记了。

有谁知道那里的指南可以让您从零开始(例如,启动一个新的虚拟机或其他东西)或接近它,让一个使用弹性搜索索引运行的 titan-rexster-cassandra 实例?或者,如果你很棒,提供这样的指南?我感到失落 :(


关键点:

Ubuntu 12.04(也试过 13.10。同样的问题)

泰坦 0.4.0

目标:为了获得持久性,使用弹性搜索索引顶点名称属性,并使用权重获取边。

像这样连接 ruby​​ rexpro:


我按照以下步骤创建数据库不存在的问题:

  • Ubuntu 12.04 LTS在 WindowsAzure 上:使用名称vmname(或其他名称)创建一个新的小型(1 核,1.75GB 内存)VM 。
  • 准备就绪后,使用 SSH 登录此 VM ( ssh azureuser@vmname.cloudhost.net -p 22)
  • 跑:sudo apt-get update
  • 跑:sudo apt-get install openjdk-7-jdk openjdk-7-jre p7zip-full
  • 跑:mkdir /home/azureuser/Downloads
  • 跑:wget -O /home/azureuser/Downloads/titan-server-0.4.0.zip "http://s3.thinkaurelius.com/downloads/titan/titan-server-0.4.0.zip"
  • 跑:cd /home/azureuser/Downloads/
  • 跑:7z x titan-server-0.4.0.zip
  • 跑:cd /home/azureuser/Downloads/titan-server-0.4.0
  • 跑:sudo bin/titan.sh -c cassandra-es start
  • 跑:sudo bin/rexster-console.sh
  • 在 rexster 控制台中,运行:g = rexster.getGraph("graph"),返回titangraph[cassandra:null]
  • CTRL-C 退出 rexster 控制台
  • 跑:sudo bin/titan.sh stop
  • 跑:sudo bin/titan.sh -c cassandra-es start
  • 跑:sudo bin/rexster-console.sh
  • 在 rexster 控制台中,运行:g = rexster.getGraph("graph"). 现在这返回 null,而不是图表。

关闭并重新启动时,这里似乎存在一些问题:

关机时

在启动 #2

0 投票
1 回答
54 浏览

neo4j - 清理 neo4jgraph 和 neo4jhagraph 的正确方法

像 TitanCleanup.clear(TitanGraph g) 一样,有一种方法可以清理 Neo4jGraph 和 Neo4jHaGraph。

0 投票
1 回答
739 浏览

titan - 将数据加载到 Titan

我目前正在运行 Titan Server (0.4) [通过 bin/titan.sh -c cassandra-es start] 并使用 rexster-console 加载示例数据:

如何在 Java 中使用 RexsterClient 执行上述相同的操作?本质上,是否有可能无需我将所有这些都嵌入到 client.execute() 中就可以访问图形?

谢谢你的帮助。

0 投票
1 回答
155 浏览

neo4j - 设置 gremlin 遍历的 fetch 大小

有没有办法设置 gremlin 遍历的获取大小。我在 gremlin 中进行了非常复杂的遍历。预计遍历会导致大量节点,并且迭代正在批量获取这些节点,因此在网络上花费了很长时间。有没有办法为 gremlin 提供获取大小,以便可以最小化这个时间。

0 投票
3 回答
768 浏览

neo4j - 图数据库的内存问题

我正在尝试对三个不同的图形数据库TitanOrientDBNeo4j进行基准测试。我想测量数据库创建的执行时间。作为测试用例,我使用这个数据集http://snap.stanford.edu/data/web-flickr.html。尽管数据存储在本地而不是计算机内存中,但我注意到它消耗了很多内存,不幸的是,过了一会儿 eclipse 崩溃了。为什么会这样?

以下是一些代码片段: Titan 图创建

OrientDB 图创建:

Neo4j 图创建:

编辑:我尝试了 BatchGraph 解决方案,似乎它将永远运行。它昨天运行了一整夜,从未结束。我不得不阻止它。我的代码有什么问题吗?

0 投票
2 回答
342 浏览

gremlin - 无法更新通过 RexPro 创建的 Titan 中的 HashMap

我正在使用 Cassandra 作为数据存储运行 Titan 0.3.2。我还使用rexpro-python通过 RexPro 与 Titan 进行交互。

问题和问题:

如果我运行这个 Python 代码:

我可以在 Gremlin 控制台中查找生成的节点:

看起来my_dict地图已正确创建:

但是,我无法my_dict使用新的键和值进行更新:

如果我首先my_dict在控制台中重置为一个新对象,我尝试添加密钥的尝试会abc按预期工作:

我的问题:如何my_dict在通过 RexPro 创建的顶点上使用新的 KV 对进行更新?


尝试的解决方法/解决方案:

当使用 Python 脚本的非参数化版本创建顶点时,也会出现同样的问题:

此外,不确定是否与此问题相关,但看起来在控制台中创建的新地图是 a LinkedHashMap(而 python/rexpro 代码创建了 a HashMap):

0 投票
1 回答
1227 浏览

groovy - 如何在 Titan/cassandra 中删除和创建图形?

我只是想知道如何从 Titan/cassandra 中删除整个图表?

我已经从网站上使用 Elastic Search、Cassandra 和 Rexster 设置了 Titan。我创建了一个名为“graph”的简单图表。我遇到的问题是我没有意识到

Once an index has been created for a key, it can never be removed.

所以我在试验时做了很多随机索引的好坏。我尝试在 rexster-cassandra-es.xml 中重命名它,认为它会丢失引用,但它只是继续使用不同的 rexster 路径。

另外,您如何创建新数据库?当我启动 Rexster 时,它只是为我创建了一个名为“graph”的数据库,我注意到它允许您选择要使用的数据库。

非常感谢你。

0 投票
1 回答
81 浏览

titan - Titan-all gradle pull 失败

我正在拉最新的泰坦 [在 Windows 和 ubuntu 上]

我看到以下错误:

谢谢你的帮助。

0 投票
1 回答
630 浏览

elasticsearch - 跨标记化字段的 Titan ES 正则表达式查询?

我正在运行 Titan 0.4.0 并尝试使用最新的REGEX运算符进行 ES 字符串搜索。

my_key为我的 ES 索引创建了一个名为search.

然后我添加一个顶点:

似乎REGEX工作...

...但仅在我的标记化"123""abc"独立上:

但是,如果我尝试运行与我的完整值匹配的正则表达式,则不会检索到我的顶点(以下均未返回结果):

Titan中有没有办法以这种方式查询索引(正则表达式不带标记/分析的术语)?