OrientDB (コミュニティ版 v1.7-rc2) / Oriento (0.4.0) で実験中
関数
function linkChildToParent(oChild, oParent) {
return (
oDB.edge.from(oChild).to(oParent)
.create({"@class": 'OrgUnit_isPartOf_OrgUnit'})
.tap(log)
.return(oChild)
);
}
例外で失敗する
C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\node_modules\bluebird\js\main\async.js:93
throw res.e;
^
OrientDB.RequestError: Cannot find a command executor for the command request: sql.#11.1
at Operation.parseError (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\protocol\operation.js:806:13)
at Operation.consume (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\protocol\operation.js:396:35)
at Connection.process (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\connection.js:324:17)
at Connection.handleSocketData (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\connection.js:250:17)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:764:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:426:10)
at emitReadable (_stream_readable.js:422:5)
at readableAddChunk (_stream_readable.js:165:9)
From previous event:
at Function.Promise$All [as all] (C:\Users\Udo\workspace\NodeOrient\node_modules\bluebird\js\main\promise.js:193:12)
at generateDependents (C:\Users\Udo\workspace\NodeOrient\setupOrgDB.js:202:35)
From previous event:
at Function.Promise$Join [as join] (C:\Users\Udo\workspace\NodeOrient\node_modules\bluebird\js\main\join.js:118:15)
at BinaryTransport.populateDB (C:\Users\Udo\workspace\NodeOrient\setupOrgDB.js:219:20)
だから私は見つけるまでドライバーにデバッグしました
function createEdge (db, config, from, to) {
var command = "CREATE EDGE",
className, attributes;
config = edgeConfig(config);
className = config[0];
attributes = config[1];
command += ' ' + className + ' FROM ' + edgeReference(from) + ' TO ' + edgeReference(to);
if (attributes) {
command += ' CONTENT ' + JSON.stringify(attributes);
}
return db.query(command);
}
直前のコマンドの内容return db.query(command);は
CREATE EDGE OrgUnit_isPartOf_OrgUnit FROM (#11.1) TO (#11.0)
次に、(ブラウザー ベースの) コンソールを使用して、OrgUnit_isPartOf_OrgUnit が実際に Edge から継承されていることを確認しました。また、OrgUnit を OrgUnit Vertices にリンクし、OrgUnit が Vertex から派生していることも確認しました。また、レコード #11.1 と #11.0 が実際にデータベースに存在することを再確認しました。
それから私は発行しました
CREATE EDGE OrgUnit_isPartOf_OrgUnit FROM (#11.1) TO (#11.0)
コンソールで直接取得
com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException: Cannot find a command executor for the command request: sql.#11:1
これは基本的に同じ例外です。Googleで、この例外の Javadocを見つけました。しかし、これは私をまったく助けませんでした。
何が問題で、どうすれば修正できますか?