使用Transformer在查询中绑定变量

时间:2016-02-17 15:20:40

标签: java jena transformer

我想在查询中绑定特定的主题变量。例如,假设Op为subOp,以下是我尝试使用的变换器。但是,最后,当我打印query时,我的主题变量是相同的,并且没有被绑定。为什么呢?

Op BindedQueryWithKey = Transformer.transform(new TransformCopy(){
        public Op transform(OpTriple optp, Op subOp){
            Triple tp=optp.getTriple();
            if (tp.getSubject().isVariable() && tp.getSubject().toString().equalsIgnoreCase("userid"))
                {Triple newtp=new Triple(nodeId, tp.getPredicate(), tp.getObject());
            return new OpTriple(newtp);}
            else return optp;
        }
    }, subOp);

    Query query = OpAsQuery.asQuery(BindedQueryWithKey);

1 个答案:

答案 0 :(得分:0)

您没有覆盖TransformCopy操作,但添加了一个永远不会被Transformer.transform调用的新操作。

签名为public Op transform(OpTriple opTriple)