問題タブ [orientdb2.2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
orientdb - OrientDB fetchPlan を使用して SQL トラバースを返す方法
Java と SQL の両方で、頂点のリストを再帰的に処理して、リンクされたすべてのノードを取得できます。しかし、fetchPlan を使用すると、同じ結果が得られないようです。
これにより、正しいグラフが返されます (すべてのノードが親にリンクされていますが、同じ子ノードを共有する他の親にはリンクされていません)。
同じグラフを返すフェッチ プランを探しています。以下に貼り付けたのは、近いが他のルート ノードをプルする fetchPlan です。1 つの親のすべての子のみが必要です。
私のDBには2つの頂点とそれらを接続する1つのエッジがあります。親 -> エッジ -> 子。子供は複数の親にリンクされている可能性がありますが、親のビューからは、自分の子供が親に接続されていないことだけを見たいと思っています。
orientdb - systemd は、Ubuntu 16.04 で起動した直後に OrientDB を停止します
Ubuntu 16.04 LTS で OrientDB をデーモン (起動時に有効) として実行しようとしています。問題は、systemd が開始を指示した直後に停止を呼び出しているように見えることです。このsystemdサービスファイルは、OrientDBのドキュメントで推奨されているとおりです。
orientdb.log:
シスログ:
何か案は?
orientdb - Orientdb で Edge メタデータを照会するにはどうすればよいですか?
大量のノードが存在する大きなグラフをクエリする代わりに、メタデータから「own」という名前のエッジに関する情報を知りたいです。エッジ 'own' のすべての 'from' および 'to' クラスのような情報が必要です。
私はこれを試しました - select expand(properties) from ( select expand(classes) from metadata:schema ) where name = 'Customers'
class = Customers のノードに関する情報を知ることができます。同様に、「own」という名前のエッジに関する情報を知りたいです。ありがとう。
回答 - Allesandro からの提案の後、私は を使用して上記のことを行うことができます。プロパティ own.in LINK 順で作成
プロパティを作成する own.out LINK 顧客
select expand(properties) from ( select expand(classes) from metadata:schema ) where name = 'own'
- 「所有」という名前のこのエッジが、ここに示されている方法で 10 個のクラスの間に作成されていると考えてみましょう - customer -> own -> order -> own -> order_detail -> own -> item -> own -> .....の上
ここで、 select expand(properties) from ( select expand(classes) from metadata:schema ) where name = 'Own' によって、エッジ所有のメタデータをクエリしたい
そして、エッジがすべてのクラスを特定の順序で関連付けていることを知っています。customer -> order -> order_detail -> item -> ... など
ありがとう。
orientdb - OrientDB Network Binary Protocol - CLASS の作成時に返されるものは?
クラスを作成するときの出力の最後の 2 バイト (ラップされたレコードの一部とそうでない部分) の意味は何ですか?
コマンド「CREATE CLASS Foo EXTENDS V」を発行しました。これは出力です(プロトコルの私の理解で注釈が付けられています):
レコード自体が「result」という名前のフィールドにデコードされます。結果の値は整数で、42 にデコードされる varint 84 としてエンコードされます。その後、0 の後続バイトがあります。
結果の値 42 は何を意味しますか? 末尾の 0 は何を意味しますか?
私はプロトコル バージョン 36 を使用していることに注意してください。
ありがとう!
orientdb - OrientDB 2.2.7 CSV の ETL が DateTime フィールドをロードしない?
ETL ローダーを使用してロードする簡単な例を取得しようとしていますが、何か不足しているに違いありません。私は Stack Overflow のさまざまなスレッドをたどり、extractors に関するドキュメントを参照してきましたが、私の試みでは不足しています。
ここに私のデータがあります: vertices.csv
これを PLOCAL データベースにロードするために、2 つの JSON ファイルを設定しています。
頂点.json
およびcommonVertices.json
次のコマンドで oetl.sh を使用してロードしています。
デバッグ情報を含む出力は次のとおりです。
読み込まれますが、次のクエリで示されるように、日付フィールドにデータが入力されていません。
これまでのところ、いじくり回すと、「dateFormat」および「columns」フィールドをcommonVertices.jsonファイルから除外すると、ETLは日付をインポートするようですが、そうすることでDATEをインポートする可能性がありますが、インポートしません時間。
私はこれに少し行き詰まっています。バグのように見えますが、OrientDBを初めて使用するので、簡単な解決策があるユーザーエラーに過ぎないことを願っています。
いつものように、どんな助けも大歓迎です!
orientdb - OrientDB 分散モード: データがさまざまなノードに分散されない
2 つのノードで OrientDB Enterprise 2.7 を開始しました。これが私のセットアップの外観です。
これで、User と Notes の 2 つの Vertex クラスができました。エッジタイプのポステッド付き。すべての Vertex と Edge にはプロパティがあります。両方の Vertex クラスにも一意のインデックスがあります。
Java API を使用してデータのプッシュを開始しました。
ノートとエッジについても同様です。私は約 20 万人のユーザーと 350 万のメモを作成しています。ここで、すべてのデータが 1 つのノードにのみ送信されることに気付きました。
「clusters」コマンドを実行すると、すべてのクラスターが同じノード上に作成されているため、すべてのデータが 1 つのノードにのみ存在することがわかります。
1 つのノードの CPU は 99% で、他のノードは 1% 未満です。
クラスター内のすべてのノードにデータが均一に分散されるようにするにはどうすればよいですか?
更新: データベースは両方のノードに伝播されます。ノード スタジオの両方にログインして、リストされたデータベースを確認できます。また、任意のノードにクエリを実行しても同じ結果が得られるため、ノードは同期しています。
一方のノードの Server Log は、もう一方のノードでもほぼ同じです。