【发布时间】:2016-02-18 02:00:07
【问题描述】:
我想在查询中绑定特定的主题变量。例如,假设 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);
【问题讨论】:
-
作为字符串的主题不太可能是“userid”(相对 URI)。在代码中依赖 toString 也是不好的。检查它是一个 URI 并在节点上使用
getURI()并检查绝对 URI。
标签: java jena transformer