gpt4 book ai didi

python - 无法使用灯泡对 Titan GraphDB/Rexster 进行编程

转载 作者:搜寻专家 更新时间:2023-10-30 21:59:18 27 4
gpt4 key购买 nike

我有 Titan(在我的系统上运行嵌入式 cassandra)。

cd titan-cassandra-0.3.1
bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties

我有 rexster 服务器在运行

cd rexster-console-2.3.0
bin/rexster-console.sh

我能够使用 Gremlin 查询从 rexter shell 创建图表。

 g = rexster.getGraph("graph")
v1 = g.addVertex([name:"s1"])
v2 = g.addVertex([name:"s2"])
e1 = g.addEdge(v1, v2, "likes")

我已经在我的系统上安装了灯泡,如下所示。

sudo apt-get install python2.7-dev
sudo apt-get install libyaml-dev

sudo pip install https://github.com/espeed/bulbs/tarball/master

如果我在我的机器上从 ipython 尝试以下操作

In [1]: from bulbs.rexster import Graph

In [2]: g = Graph()

我收到以下错误。

---------------------------------------------------------------------------
LookupError Traceback (most recent call last)
/home/karthik/Projects/ryu_extras/<ipython-input-2-eb1ac0314e67> in <module>()
----> 1 g = Graph()

/usr/local/lib/python2.7/dist-packages/bulbs/rexster/graph.pyc in __init__(self, config)
54
55 def __init__(self, config=None):
---> 56 super(Graph, self).__init__(config)
57
58 # Rexster supports Gremlin


/usr/local/lib/python2.7/dist-packages/bulbs/base/graph.pyc in __init__(self, config)
56 self.factory = Factory(self.client)
57
---> 58 self.vertices = self.build_proxy(Vertex)
59 self.edges = self.build_proxy(Edge)
60

/usr/local/lib/python2.7/dist-packages/bulbs/base/graph.pyc in build_proxy(self, element_class, index_class)
122 if not index_class:
123 index_class = self.default_index
--> 124 return self.factory.build_element_proxy(element_class, index_class)
125
126 def load_graphml(self, uri):

/usr/local/lib/python2.7/dist-packages/bulbs/factory.pyc in build_element_proxy(self, element_class, index_class, index_name)
17 proxy_class = element_class.get_proxy_class()
18 element_proxy = proxy_class(element_class, self.client)
---> 19 primary_index = self.get_index(element_class,index_class,index_name)
20 element_proxy.index = primary_index
21 return element_proxy

/usr/local/lib/python2.7/dist-packages/bulbs/factory.pyc in get_index(self, element_class, index_class, index_name)
25 index_name = element_class.get_index_name(self.client.config)
26 index_proxy = self.build_index_proxy(element_class, index_class)
---> 27 index = index_proxy.get_or_create(index_name)
28 return index
29

/usr/local/lib/python2.7/dist-packages/bulbs/rexster/index.pyc in get_or_create(self, index_name, index_params)
78
79 """
---> 80 resp = self.client.get_or_create_vertex_index(index_name, index_params)
81 index = self.index_class(self.client,resp.results)
82 self.client.registry.add_index(index_name, index)

/usr/local/lib/python2.7/dist-packages/bulbs/rexster/client.pyc in get_or_create_vertex_index(self, index_name, index_params)
666 script = self.scripts.get('get_or_create_vertex_index')
667 params = dict(index_name=index_name, index_params=index_params)
--> 668 resp = self.gremlin(script, params)
669 #assert "MANUAL" in resp.content['results'][0]

670 result = {'name': index_name, 'type': 'manual', 'class': 'vertex'}

/usr/local/lib/python2.7/dist-packages/bulbs/rexster/client.pyc in gremlin(self, script, params, load)
354 if self.config.server_scripts is True:
355 params["load"] = load or [self.scripts.default_namespace]
--> 356 return self.request.post(gremlin_path, params)
357
358

/usr/local/lib/python2.7/dist-packages/bulbs/rest.pyc in post(self, path, params)
129
130 """
--> 131 return self.request(POST, path, params)
132
133 def delete(self, path, params=None):

/usr/local/lib/python2.7/dist-packages/bulbs/rest.pyc in request(self, method, path, params)
184 http_resp = self.http.request(uri, method, body, headers)
185
--> 186 return self.response_class(http_resp, self.config)
187
188

/usr/local/lib/python2.7/dist-packages/bulbs/rexster/client.pyc in __init__(self, response, config)
196 def __init__(self, response, config):
197 self.config = config
--> 198 self.handle_response(response)
199 self.headers = self.get_headers(response)
200 self.content = self.get_content(response)

/usr/local/lib/python2.7/dist-packages/bulbs/rexster/client.pyc in handle_response(self, http_resp)
220 headers, content = http_resp
221 response_handler = RESPONSE_HANDLERS.get(headers.status)
--> 222 response_handler(http_resp)
223
224 def get_headers(self,response):

/usr/local/lib/python2.7/dist-packages/bulbs/rest.pyc in not_found(http_resp)
37
38 def not_found(http_resp):
---> 39 raise LookupError(http_resp)
40 #return None

41

LookupError: ({'status': '404', 'transfer-encoding': 'chunked', 'server': 'grizzly/2.2.16', 'date': 'Sat, 10 May 2014 06:22:49 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json'}, '{"message":"Graph [emptygraph] could not be found"}')

这些是什么意思?

最佳答案

Titan 有自己的模块...

>>> from bulbs.titan import Graph
>>> g = Graph()

关于python - 无法使用灯泡对 Titan GraphDB/Rexster 进行编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23577849/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com