0

OrientDB のグラフ バージョンを使用します。ここで、変数にインデックスを付けたいスキーマのないクラスを作成しました。この変数は、最初にプロパティになる必要があります。しかし、このプロパティを文字列型 (またはバイナリ型など) で作成しようとすると、次のように応答します。

com.orientechnologies.orient.core.exception.OSchemaException: The database contains some schema-less data in the property 'clazz.clazz_name' that is not compatible with the type STRING. Fix those records and change the schema again [ONetworkProtocolHttpDb]

だから私は何かを修正する必要がありますが、何ですか?インデックスを作成できるように変数をプロパティにすることは、どの文字で禁止されていますか? (ところで、リストもオプションではありません)

4

1 に答える 1

1

確かに私が作成した問題がありました。プロパティを作成する必要があるスーパークラスを作成しました。サブクラスの 1 つが、文字列ではなくリストを挿入しました。したがって、サブタイプのすべての頂点を照会する場合

final Iterable<Vertex> iterable = this.graph.getVerticesOfClass("clazz");

OLinkedList を見たところで、すべてのタイプの clazz_name を出力しvertex.getProperty("clazz_name").getClass().getName()ました。これらの頂点を再挿入すると、問題が解決しました。

于 2015-02-19T09:50:09.030 に答える