2015-01-14 20 views
1

我正在使用Rexster将数据加载到TitanDB中。在发布/放置顶点时,我可以在请求的主体中提供属性作为JSON。如果一个属性的值是一个数字,它将相应地被存储为一个数字,并且可以像这样被检索。例如,下面的身体会在后消息将创建的类型数的属性“分数”:如何使用数字属性进行POST/PUT边缘?

{ 
    "score": 5 
} 

投递/ 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边缘和它们的属性?

回答

1

我有理由相信,你可以张贴JSON的优势航线,但即使你不能,你可以使用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 
} 
+0

我试图在发送JSON身体,没有成功。显式类型系统,正如你所建议的那样,按预期工作,不过!现在,概述的查询将不会产生大于5的结果。感谢你的回答! – erik13579

相关问题