我是新手,正在尝试让 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/