如何 POST / PUT 编号为 属性 的边?

How to POST / PUT edge with number property?

我正在使用 Rexster 将数据加载到 TitanDB 中。 posting / 放置顶点时,我可以在请求正文中提供 JSON 属性。如果 属性 的值是一个数字,它将相应地存储为一个数字,并且可以这样检索。例如,以下正文将在 post 消息中创建一个 属性 "score" 类型的数字:

{
  "score": 5
}

但是,当 POSTing / PUTing 边时,属性似乎只能作为查询参数提供,例如:

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

在这种情况下,不幸的是,5 始终被视为字符串:“5”。因此,包括数字运算/比较在内的查询不起作用。例如,以下查询仍将 return posted 边(尽管 posted 分数为 5):

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

有没有办法 POST / PUT 边及其属性,以便考虑数字类型?

我有理由相信你可以 POST JSON 到边缘路线,但即使你不能,你也可以使用 Rexster 的显式类型系统来正确 post 你的整数:

$ 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
}