Неподдерживаемый тип записи. Исключение: OrientDb, Gremlin, Java.

Я использую Groovy Gremlin в своем классе Java для обхода orient-db и вижу следующую проблему. Если я использую:

g.V('@class','Person').has('city-name','NY').in('city-depends').toList()

Я получаю людей в зависимости от города, и если я пытаюсь использовать преобразование, чтобы также получить друзей человека, используя друзей края

g.V('@class','Person').has('city-name','NY').in('city-  depends').transform({[it,it.in('friends').toList()]}).toList()

Мне нужна информация о людях, проживающих в городе, с информацией о их друзьях (не только идентификатор края)

Трассировки стека:

com.orientechnologies.orient.core.exception.OStorageException: Error on executing command: 

at com.orientechnologies.orient.client.remote.OStorageRemote.handleException(OStorageRemote.java:1481)

at com.orientechnologies.orient.client.remote.OStorageRemote.command(OStorageRemote.java:1059)

at com.orientechnologies.orient.client.remote.OStorageRemoteThread.command(OStorageRemoteThread.java:430)

at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59)

at orientdb.prototype.OrientGremlinExample.getActivityByResource(OrientGremlinExample.java:87)

at orientdb.prototype.OrientGremlinExample.main(OrientGremlinExample.java:26)

Caused by: java.lang.IllegalArgumentException: Unsupported record type: 0

at com.orientechnologies.orient.core.record.ORecordFactoryManager.newInstance(ORecordFactoryManager.java:93)

at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryProtocol.readIdentifiable(OChannelBinaryProtocol.java:121)

at com.orientechnologies.orient.client.remote.OStorageRemote.command(OStorageRemote.java:1023)

... 4 more

Caused by: java.lang.IllegalArgumentException: Record type '0' is not supported

at com.orientechnologies.orient.core.record.ORecordFactoryManager.getFactory(ORecordFactoryManager.java:108)

at com.orientechnologies.orient.core.record.ORecordFactoryManager.newInstance(ORecordFactoryManager.java:91)

... 6 more

Код:

OGremlinHelper.global().create();

ScriptEngine engine = new GremlinGroovyScriptEngineFactory().getScriptEngine();

engine.getBindings(ScriptContext.ENGINE_SCOPE).put("g", graph);

OCommandGremlin command = new OCommandGremlin(" ...... ");

Map<String, Object> params = new HashMap<String, Object>();

List agg1 = graph.getRawGraph().command(command).execute(params);

System.out.println("Result:-- " + agg1);

person Sabari    schedule 15.04.2014    source источник
comment
Я также прочитал и использовал traverse в orientdb sql, который получил бы весь солнечный график набора результатов (со всеми ребрами и его атрибутами). Есть ли какая-либо функция, эквивалентная гремлину, для получения результатов, подобных этому. Спасибо !!   -  person Sabari    schedule 15.04.2014
comment
Какой релиз вы используете? Попробуйте 1.7-SNAPSHOT.   -  person Lvca    schedule 16.04.2014
comment
@Lvca Спасибо за ответ. Я использую 2.5.0-SNAPSHOT библиотек gremlin-java и 1.7-rc1 orient. См. список: --- com.tinkerpop.gremlin - gremlin-java -2.5.0-SNAPSHOT, com.orienttechnologies-orient-commons -1.7-rc2, com.orienttechnologies-orientdb-core-1.7-rc2, com.orienttechnologies-orientdb-graphdb-1.7-rc2, com.orienttechnologies-orientdb-client-1.7-rc2, com.orienttechnologies-orientdb-object-1.7 -rc2, com.orienttechnologies-orientdb-enterprise-1.7-rc2,   -  person Sabari    schedule 16.04.2014
comment
Я вижу, вы используете rc2, а не rc1. Можете ли вы попробовать последнюю версию 1.7-SNAPSHOT?   -  person Lvca    schedule 17.04.2014
comment
Спасибо @Lvca. Я попробую с 1.7-SNAPSHOT. Но на данный момент моим приоритетом является получение показателей производительности orientdb с помощью orientDbSQL. Помощь с этим также будет принята с благодарностью. stackoverflow.com/questions/23156580/   -  person Sabari    schedule 18.04.2014