2014-05-10 4 views
1

Titan (내 시스템에서 실행중인 내장형 cassandra 포함)이 있습니다.전구를 사용하여 Titan GraphDB/Rexster를 프로그래밍 할 수 없습니다.

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

나는 rexster 서버 내가 그렘린 쿼리를 사용하여 rexter 쉘에서 그래프를 만들 수 있어요

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

를 실행 있습니다.

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

다음과 같이 시스템에 전구를 설치했습니다. 나는 내 컴퓨터

In [1]: from bulbs.rexster import Graph 

In [2]: g = Graph() 

에 ipython에서 다음 시도 할 경우

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

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

나는 다음과 같은 오류가 발생합니다.

--------------------------------------------------------------------------- 
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"}') 

이들은 무엇을 의미합니까?

답변

4

타이탄은 자신의 모듈을 가지고 ...

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