Я хочу преобразовать базу данных MySQL> 1mn в базу данных графа, потому что это сильно привязанные данные сетевого типа. У бесплатной версии Neo4J были некоторые ограничения, над которыми я думал, что могу столкнуться, поэтому я установил OrientDB (Community 2.2.0) (на Ubuntu Server 16.04) и получил его работу. Теперь мне нужно получить к нему доступ из Python (3.5.1+), поэтому я пытаюсь использовать pyorient (1.5.2). (Я пытался TinkerPop, так как я в конечном счете хочу использовать Gremlin, и не могли получить Gremlin консоль, чтобы поговорить с OrientDB.)Доступ к OrientDB из Python
Следующий простой код Python, чтобы подключиться к одному из тестовых графиков в OrientDB:
import pyorient
username="user"
password="password"
client = pyorient.OrientDB("localhost", 2424)
session_id = client.connect(username, password)
print("SessionID=",session_id)
db_name="GratefulDeadConcerts"
if client.db_exists(db_name, pyorient.STORAGE_TYPE_MEMORY):
print("Database",db_name,"exists")
client.db_open(db_name, username, password)
else:
print("Database",db_name,"doesn't exist")
дает странные ошибки:
SessionID= 27
Database GratefulDeadConcerts exists
Traceback (most recent call last):
File "FirstTest.py", line 18, in <module>
client.db_open(db_name, username, password)
File "/home/tom/MyProgs/TestingPyOrient/env/lib/python3.5/site-packages/pyorient/orient.py", line 379, in db_open
.prepare((db_name, user, password, db_type, client_id)).send().fetch_response()
File "/home/tom/MyProgs/TestingPyOrient/env/lib/python3.5/site-packages/pyorient/messages/database.py", line 141, in fetch_response
info = OrientVersion(release)
File "/home/tom/MyProgs/TestingPyOrient/env/lib/python3.5/site-packages/pyorient/otypes.py", line 202, in __init__
self._parse_version(release)
File "/home/tom/MyProgs/TestingPyOrient/env/lib/python3.5/site-packages/pyorient/otypes.py", line 235, in _parse_version
self.build = int(self.build)
ValueError: invalid literal for int() with base 10: '0 (build [email protected]; 2016'
кто-нибудь знает, что это такое и как я могу это исправить? Должен ли я использовать TinkerPop вместо этого? Если так, я отправлю отдельный вопрос о моей борьбе с этим.
Привет @TomG, я попробовал ваш случай, и я получил вашу же ошибку с ODB сообщества 2.2.0, но не с 2.1.x версии. Не могли бы вы открыть проблему в [Github] (https://github.com/orientechnologies/orientdb/issues)? – LucaS
также сталкивается с этим ... мы надеемся, что дальнейшее исследование будет проведено в рамках [выпуск 200] (https://github.com/mogui/pyorient/issues/200) –