2014-02-20 22 views
6

Also, ich benutze Python3.2 und Glühbirnen auf Mac-OSX mit Rexster und Orientdb. Details:Wie verbinde ich mich mit Orientdb Graph durch Rexster mit Glühbirnen?

Orientdb - Standard-Download von ihrer Seite

~/Arbeitsbereich/Orientdb-community-1.7-rc1

Ausführen des Servers, ./bin/server.sh

Datenbank - Orientdb Datenbank ~/databases/orientdb/dev-db-01

rexst er - Standard Kasse von Github git clone git: //github.com/tinkerpop/rexster.wiki.git ~/Arbeitsbereich/

config/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-Code:

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) 

Problem:

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

Was ich glaube ist, dass die URL in der Konfiguration des Python-Codes falsch ist (Ich habe alle Arten von Variationen ausprobiert). Aber das weiß ich nicht; es funktioniert, wenn ich die rexster.xml unberührt lasse und einfach den Standardgraphenkonstruktor verwende; Aber dann ist das ein Problem, weil es keine Knoten zu der orientdb-Datenbank hinzufügt, die ich will, dev-db-01, sondern sie in eine Standarddatenbank legt. Um sicherzustellen, dass ich mich mit der richtigen Datenbank verbunden habe, habe ich alle außer der von mir erstellten orientdb-Datenbank deaktiviert.

Wie kann ich die Verbindung richtig herstellen?

Antwort

3

Die URL-include/Diagramme/im Pfad:

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

Vielen Dank Mann, Sie sind ein Lebensretter und ein kompletter Chef! Ein wahrer Gentleman und Gelehrter. Vielleicht sollten die Dokumente dies widerspiegeln und auch ein bisschen mehr über die Verbindung mit Rexster erweitern ... Ich könnte ein Beispiel schreiben, wenn Sie denken, dass Sie das mögen würden. :) –

+0

Hallo @AdamMiller - ja, die Dokumente müssen aktualisiert werden - Rexster hat das/graphs/path Präfix eine Weile zurück, so dass die Bulbs Dokumente müssen es widerspiegeln. Du hast recht, der Bulbs Quickstart basiert auf dem Neo4j Server, aber es ist vielleicht gut, das auf TinkerPop Rexster umzustellen, da es zum Standard wird. Mehr Docs und Pull-Anfragen sind immer willkommen :) Danke Adam. – espeed

+1

Sicher werde ich versuchen und daran arbeiten für dich. :) Du hast mir geholfen, ich will zurückhelfen. –