1

Rexster を使用してデータを TitanDB にロードしています。頂点を投稿/配置するときに、リクエストの本文でプロパティを JSON として提供できます。プロパティの値が数値の場合、対応して数値として格納され、数値として取得できます。たとえば、次の本文は、投稿メッセージに数値型のプロパティ「スコア」を作成します。

{
  "score": 5
}

ただし、エッジを POST / PUT する場合、プロパティはクエリパラメーターとしてのみ提供できるようです。たとえば、次のようになります。

POST .../graphs/graph/edges?_outV=256&_label=review&_inV=512&score=5

この場合、残念ながら、5 は常に文字列 "5" と見なされます。したがって、数値演算/比較を含むクエリは機能しません。たとえば、次のクエリは引き続き投稿されたエッジを返します (投稿されたスコアが 5 であるにもかかわらず)。

v(256).outE('review').filter{it.getProperty('score')>9}

数値型が考慮されるように、エッジとそのプロパティを POST / PUT する方法はありますか?

4

1 に答える 1

1

JSON をエッジ ルートに POST できるとかなり確信していましたが、できない場合でも、Rexster の明示的な型システムを使用して整数を適切に投稿できます。

$ curl -X POST "http://localhost:8182/graphs/tinkergraph/edges?_outV=1&_inV=2&_label=knows&score=(i,5)"

{
  "version":"2.7.0-SNAPSHOT",
  "results": {
    "score":5,"_id":"0","_type":"edge","_outV":"1","_inV":"2","_label":"knows"
  },
  "queryTime":31.79554
}
于 2015-01-14T11:43:42.617 に答える