问题标签 [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.
gremlin - 创建复杂的 gremlin-java 查询
我在 Titan 图形数据库中实现了模型,关系如下:
A
和B
是“主要顶点”(例如用户),顶点B
和C
是描述与用户相关的一些数据的“不太重要的顶点”。
查询算法的输入是id
vertex的属性A
。
我想找到所有这样的顶点D
,它们A
以上面显示的方式连接。更重要的是,我想记住和之间prop1
的边的性质。e1
A
B
更准确地说,我想有效地检索边缘属性之间的对((prop1, numberD)
如果边缘具有此属性),并且是来自.prop1
A -> B
numberD
number
D
我不知道如何有效地实现这个查询。
只检索顶点很容易D
(使用GremlinPipes
):
但是,当我还需要获取边e1
并将它们与顶点匹配时,就会出现问题D
。我试图分别计算所有这些步骤,但似乎效率很低。
您对如何使用 gremlin-java 或 gremlin-groovy 实现此(可能使用多个查询)有任何建议吗?谢谢!
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
和forembeddedcassandra
cassandrathrift
storage.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
neo4j - 清理 neo4jgraph 和 neo4jhagraph 的正确方法
像 TitanCleanup.clear(TitanGraph g) 一样,有一种方法可以清理 Neo4jGraph 和 Neo4jHaGraph。
titan - 将数据加载到 Titan
我目前正在运行 Titan Server (0.4) [通过 bin/titan.sh -c cassandra-es start] 并使用 rexster-console 加载示例数据:
如何在 Java 中使用 RexsterClient 执行上述相同的操作?本质上,是否有可能无需我将所有这些都嵌入到 client.execute() 中就可以访问图形?
谢谢你的帮助。
neo4j - 设置 gremlin 遍历的 fetch 大小
有没有办法设置 gremlin 遍历的获取大小。我在 gremlin 中进行了非常复杂的遍历。预计遍历会导致大量节点,并且迭代正在批量获取这些节点,因此在网络上花费了很长时间。有没有办法为 gremlin 提供获取大小,以便可以最小化这个时间。
neo4j - 图数据库的内存问题
我正在尝试对三个不同的图形数据库Titan、OrientDB和Neo4j进行基准测试。我想测量数据库创建的执行时间。作为测试用例,我使用这个数据集http://snap.stanford.edu/data/web-flickr.html。尽管数据存储在本地而不是计算机内存中,但我注意到它消耗了很多内存,不幸的是,过了一会儿 eclipse 崩溃了。为什么会这样?
以下是一些代码片段: Titan 图创建
OrientDB 图创建:
Neo4j 图创建:
编辑:我尝试了 BatchGraph 解决方案,似乎它将永远运行。它昨天运行了一整夜,从未结束。我不得不阻止它。我的代码有什么问题吗?
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
):
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”的数据库,我注意到它允许您选择要使用的数据库。
非常感谢你。
titan - Titan-all gradle pull 失败
我正在拉最新的泰坦 [在 Windows 和 ubuntu 上]
我看到以下错误:
谢谢你的帮助。
elasticsearch - 跨标记化字段的 Titan ES 正则表达式查询?
我正在运行 Titan 0.4.0 并尝试使用最新的REGEX
运算符进行 ES 字符串搜索。
我my_key
为我的 ES 索引创建了一个名为search
.
然后我添加一个顶点:
似乎REGEX
工作...
...但仅在我的标记化"123"
和"abc"
独立上:
但是,如果我尝试运行与我的完整值匹配的正则表达式,则不会检索到我的顶点(以下均未返回结果):
Titan中有没有办法以这种方式查询索引(正则表达式不带标记/分析的术语)?