我正在使用Rexster将数据加载到TitanDB中。发布/放置顶点时,我可以在请求的正文中提供JSON属性。如果属性的值是数字,则它将相应地存储为数字,并且可以如此检索。例如,以下正文将在帖子消息中创建一个类型为number的属性“score”:
{
"score": 5
}
但是,当POSTing / PUTing边缘时,似乎属性只能作为查询参数提供,例如:
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边缘及其属性,以便考虑数字类型?
答案 0 :(得分: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
}