如何通过带灯泡的rexster连接到orientdb图?

时间:2014-02-20 10:54:34

标签: python orientdb tinkerpop bulbs rexster

所以,我在mac-osx上使用python3.2和灯泡,使用rexster和orientdb。详细说明:

orientdb - 从他们的页面标准下载

〜/工作区/ orientdb社区-1.7-RC1

运行服务器./bin/server.sh

数据库 - orientdb数据库 〜/数据库/ orientdb的/ dev-DB-01

rexster - 来自github的标准结帐 git clone git://github.com/tinkerpop/rexster.wiki.git~/ workspace /

配置/ rexster.xml:

        ...
        <graph>
        <graph-enabled>true</graph-enabled>
        <graph-name>dev-db-01</graph-name>
        <graph-type>orientgraph</graph-type>
        <graph-location>local:*<path to...>*/databases/orientdb/dev-db-01</graph-location>
        <properties>
            <username>admin</username>
            <password>admin</password>
        </properties>
        <extensions>
            <allows>
                <allow>tp:gremlin</allow>
            </allows>
        </extensions>
    </graph>
    ...

Python代码:

from bulbs.rexster import Graph
from bulbs.config import Config
config = Config("http://localhost:8182/dev-db-01/", username="admin", password="admin")
g = Graph(config)

问题:

Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rexster/graph.py", li ne 56, in __init__                                                 

    super(Graph, self).__init__(config)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/base/graph.py", line  58, in __init__                                                 

    self.vertices = self.build_proxy(Vertex)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/base/graph.py", line  124, in build_proxy                                             

    return self.factory.build_element_proxy(element_class, index_class)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/factory.py", line 19,  in build_element_proxy                                      

    primary_index = self.get_index(element_class,index_class,index_name)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/factory.py", line 27,  in get_index                                                

    index = index_proxy.get_or_create(index_name)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rexster/index.py", li ne 80, in get_or_create                                            

    resp = self.client.get_or_create_vertex_index(index_name, index_params)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rexster/client.py", l ine 668, in get_or_create_vertex_index                              

    resp = self.gremlin(script, params)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rexster/client.py", l ine 356, in gremlin                                                 

    return self.request.post(gremlin_path, params)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rest.py", line 131, i n post                                                    

    return self.request(POST, path, params)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rest.py", line 186, i n request                                                 

    return self.response_class(http_resp, self.config)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rexster/client.py", l ine 198, in __init__                                                

    self.handle_response(response)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rexster/client.py", l ine 222, in handle_response                                         

    response_handler(http_resp)   File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/bulbs/rest.py", line 39, in  not_found                                                

    raise LookupError(http_resp) LookupError: ({'date': 'Thu, 20 Feb 2014 07:08:20 GMT', 'status': '404', 'access-control-allow-origin': '*', 'content-lengt h': '0', 'server': 'grizzly/2.2.16'}, b'')

我认为是python代码配置中的url不正确(我尝试了各种变体)。但我不知道;如果我保持rexster.xml不变并只使用标准图形构造函数,它就可以工作;但那是一个问题,因为它没有向我想要的orientdb数据库添加节点,dev-db-01,它将它们放在默认数据库中。因此,为了确保我连接到正确的数据库,除了我创建的orientdb数据库之外,我禁用了所有数据库。

如何正确连接?

1 个答案:

答案 0 :(得分:3)

网址应包含路径中的/ graphs /:

http://localhost:8182/graphs/dev-db-01/