问题描述
我是格雷姆林的新手。我正在尝试根据某些条件获得一些随机顶点。但是,如果我在一些数学计算中使用样本方法,那么它将无法正常工作。但是,如果我给出整数值,它就可以正常工作。
以下查询工作正常:
export class DoughnutChart extends Component {
render() {
return (
<Doughnut
data={this.props.chartdataSet}
options={{
title: {
display: true,text: this.props.title,fontSize: 18,},align:'start',legend: {
display: true,position: "bottom",reverse:true,labels :{
padding:10,BoxWidth:12
}
},}}
height={220}
/>
);
}
}
以下查询无效:
g.V().hasLabel('Person').sample(1)
实际上,基于人数,我应该在样本方法内执行一些数学计算。预先感谢
解决方法
这是您要运行的Gremlin有趣的一点。我以前没见过有人尝试过。可悲的是,由于sample()
没有接受Traversal
作为参数,因此无法使用。只需要一个数字。除了在Gremlin之外进行计算外,没有解决此问题的方法,如果您需要根据查询中的数据选择样本量,这将无济于事。 sample()
不是唯一以这种方式运行的步骤。我创建了TINKERPOP-2414来跟踪此问题。
您需要做的是:g.V().hasLabel('Person').sample(Math.round(4/2).intValue())
克里姆林宫运行在一个时髦的外壳中。如有疑问,可以检查如何将Long转换为Integer,以便可以使用以Integer作为参数的示例函数。