これは、pyorient github のクローズされた issue#211 の抜粋です。すでに回答がいくつかあるかもしれませんが、エラーは自明ではなく、pyorient を使用してクラスの存在をテストする例を提供するため、ここに投稿しました。したがって、ここに抜粋があります:
クラスの存在を照会する方法をテストしていたので、ここでGRAPHの例として使用されている動物データベースで遊んでいました
### Create the Vertex Animal
cluster_id = client.command("create class Animal extends V")
print(cluster_id)
### Insert a new value
client.command("insert into Animal set name = 'rat', specie = 'rodent'")
次に、db_name 'Animals' を使用してデータベースを照会すると、次の例外応答を受け取りました (これは、ここで説明されていない他の状況でも発生します)。
PyOrientCommandException: -
クラスの存在をテストするための私のクエリ:
sql_query = "SELECT FROM ( SELECT expand( classes ) FROM metadata:schema ) WHERE name = '{}')".format('Animal')
client.query(sql_query)
完全な出力エラー:
---------------------------------------------------------------------------
PyOrientCommandException Traceback (most recent call last)
<ipython-input-21-a6b7ac6435cb> in <module>()
----> 1 client.query(sql_query)
/home/jo/anaconda3/envs/aenv/lib/python3.5/site-packages/pyorient/orient.py in query(self, *args)
417 def query(self, *args):
418 return self.get_message("CommandMessage") \
--> 419 .prepare(( QUERY_SYNC, ) + args).send().fetch_response()
420
421 def query_async(self, *args):
/home/jo/anaconda3/envs/aenv/lib/python3.5/site-packages/pyorient/messages/commands.py in fetch_response(self)
142
143 # decode header only
--> 144 super( CommandMessage, self ).fetch_response()
145
146 if self._command_type == QUERY_ASYNC:
/home/jo/anaconda3/envs/aenv/lib/python3.5/site-packages/pyorient/messages/base.py in fetch_response(self, *_continue)
259 # already fetched, get last results as cache info
260 elif len(self._body) is 0:
--> 261 self._decode_all()
262 self.dump_streams()
263 return self._body
/home/jo/anaconda3/envs/aenv/lib/python3.5/site-packages/pyorient/messages/base.py in _decode_all(self)
243
244 def _decode_all(self):
--> 245 self._decode_header()
246 self._decode_body()
247
/home/jo/anaconda3/envs/aenv/lib/python3.5/site-packages/pyorient/messages/base.py in _decode_header(self)
176 raise PyOrientCommandException(
177 exception_class.decode( 'utf8' ),
--> 178 [ exception_message.decode( 'utf8' ) ]
179 )
180
PyOrientCommandException: -
utf8
デコードが認識していない「影」文字を取得するようなものですか? Jupyterノートブック、ANACONDA pythonディストリビューション3.5、pyorient v.1.4.9のコードでUbuntu 16.04を実行しています
何か助けはありますか?