python - 如何让 Titan 图形数据库与 Python 一起工作?

标签 python titan rexster

我是新手,正在尝试让 Titan 使用 Python。我已经为此苦苦思索了一天半,却一无所获。我试过灯泡和 rexpro-python 但似乎没有任何效果。

rexpro-python 中,以下代码:

from rexpro import RexProConnection
conn = RexProConnection('localhost', 8184, 'graph')

将挂起并且服务器产生以下消息(对于 titan 版本 0.3.2、0.3.1 和 0.2.1)

13/09/18 16:59:27 WARN filter.RexProMessageFilter: unsupported rexpro version: 1

灯泡中:

from bulbs.config import Config, DEBUG
from bulbs.rexster import Graph

config = Config('http://localhost:8182/graphs/graph')
g = Graph(config)

产生以下错误:

SystemError: ({'status': '500', 'transfer-encoding': 'chunked', 'server': 'grizzly/2.2.16', 'connection': 'close', 'date': 'Wed, 18 Sep 2013 21:06:27 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json'}, '{"message":"","error":"javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: groovy.lang.MissingMethodException.idx() is applicable for argument types: () values: []\\nPossible solutions: is(java.lang.Object), any(), find(), any(groovy.lang.Closure), with(groovy.lang.Closure), _(groovy.lang.Closure)","api":{"description":"evaluate an ad-hoc Gremlin script for a graph.","parameters":{"rexster.returnKeys":"an array of element property keys to return (default is to return all element properties)","rexster.showTypes":"displays the properties of the elements with their native data type (default is false)","load":"a list of \'stored procedures\' to execute prior to the \'script\' (if \'script\' is not specified then the last script in this argument will return the values","rexster.offset.end":"end index for a paged set of data to be returned","rexster.offset.start":"start index for a paged set of data to be returned","params":"a map of parameters to bind to the script engine","language":"the gremlin language flavor to use (default to groovy)","script":"the Gremlin script to be evaluated"}},"success":false}')

在 Titan 服务器上也有类似的异常(exception)。有人让这个工作吗?

最佳答案

对于 rexpro-python,您遇到了版本问题。最新版本的 RexPro Python 将连接到 TinkerPop/Rexster 2.4.0。 Titan 尚不支持该版本。从 Titan 0.3.2 开始,它支持 TinkerPop 2.3.x。看起来这是在为 rexpro-python 兼容 2.4.0 之前的最后一次提交:

https://github.com/bdeggleston/rexpro-python/commit/3597f4ce5a4da69ec64f174aa1a064abf7524693

但您可能需要稍微回顾一下提交历史,以确保您得到了正确的。

Bulbs 看起来像是在调用手动索引,这是 Titan 不支持的。 gremlin-users 中有很多关于此的帖子和/或 areuliusgraphs邮件列表。查看这篇文章并引用您的确切问题:

https://groups.google.com/forum/#!msg/gremlin-users/s7Ag1tjbxLs/nC5WjtHh6woJ

简短的回答,Bulbs 似乎已更新以支持 Titan。也许,您仍然在某处存在一些版本不兼容问题。

关于python - 如何让 Titan 图形数据库与 Python 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18882453/

相关文章:

python - 过滤返回属性的对象

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

java - 设置泰坦的 Unresolved reference 文献

graph - 如何在TinkerPop图中增加顶点属性值

java - Titan 节点未启动

java - 泰坦,RexterClient :Message received response timeoutConnection (8000 s) at com.tinkerpop.rexster.client.RexsterClient.execute(RexsterClient.java:185)

Python-替换 pandas 数据框中的负无穷大值

python - 更新字典值时应用并行化

docker - 如何使用Rexster Docker镜像和灯泡在TinkerPop/Rextser中创建图形数据库?

python - 在 Raspberry Pi 上使用 Python 连接到 wifi