0

2.2 のリリース前の約 6 か月間、いくつかのベース クエリを開発していました。

CREATE CLASS Flag_Definitions EXTENDS V
CREATE PROPERTY Flag_Definitions.V_status EMBEDDEDMAP STRING
CREATE PROPERTY Flag_Definitions.V_branding EMBEDDEDMAP STRING
CREATE PROPERTY Flag_Definitions.Block_type EMBEDDEDMAP STRING

CREATE VERTEX Flag_Definitions SET title = "developer reference for all data flags", V_status = {"ACTIVE":"Normal active record", "SUSPENDED":"Currently inactive record","DELETED":"Discontinued record maintained for archiving"}, Block_type = {"Prop":"Holds text from a data object property","HTML":"Holds basic HTML for content","Container":"Holds other blocks"}

しかし今、スタジオでこのエラーが発生しています

{"errors":[{"code":400,"reason":400,"content":"Map found but entries are not defined as :\r\n\tDB name=\"TestDB\""}]}

コンソールからは、言い回しが少し異なります

Map found but entries are not defined as <key>:<value>

いずれにせよ、「SET mapfield = {"key":"val"}」という形式は機能していないようで、説明が見つかりません。github の orient コード(118 行目)も調べましたが、2 つの部分があるため、形式は 117 行目のチェックに合格するはずです。

4

1 に答える 1

0

これを解決しました。Flag_Definitions オブジェクトとは関係ありませんが、作成されたすべての頂点にデフォルトのステータス フラグが適用されていました。

CREATE PROPERTY V.flags EMBEDDEDMAP STRING
ALTER PROPERTY V.flags DEFAULT {"status":"ACTIVE"} 

問題は、DEFAULT である必要があります。

DEFAULT '{"status":"ACTIVE"}'

同様に、私はに変更 DEFAULT sysdate()する必要がありましたDEFAULT "sysdate()"

于 2016-07-13T19:35:33.583 に答える