bif:尝试通过java程序查询dbpedia时发生contain错误

bif:尝试通过java程序查询dbpedia时发生contain错误,java,sparql,dbpedia,Java,Sparql,Dbpedia,代码用于从java程序查询dbpedia,然后在html页面中显示结果 package jenaamem; import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QueryExecution; import com.hp.hpl.jena.query.QueryExecutionFactory; import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.j

代码用于从java程序查询dbpedia,然后在html页面中显示结果

package jenaamem;

import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP;

public class db2
{
static public void main(String...argv)
{
    try {
        String queryStr = "SELECT * WHERE{ ?s ?p ?o . ?o bif:contains' barack and obama and america' OPTION (score ?sc) } ORDER BY DESC (?sc) LIMIT 10 ";
        Query query = QueryFactory.create(queryStr);

        // Remote execution.
        QueryExecution qexec =   QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);
        // Set the DBpedia specific timeout.
        ((QueryEngineHTTP)qexec).addParam("timeout", "10000") ;

        // Execute.
        ResultSet rs = qexec.execSelect();
        ResultSetFormatter.out(System.out, rs, query);
        qexec.close();
    } catch (Exception e) {
    }


}
}


在这段代码中,我面临的问题是bif:contains显示错误,我甚至尝试过,然后我的问题仍然存在。

bif:contains
是一个前缀名称,但您没有为它定义前缀,因此ARQ解析器会抛出一个它应该抛出的错误


不幸的是,
bif:contains
是一个特定于Virtuoso的扩展,实际上没有任何相关前缀,因此您无法定义它。不过,您可以将其包含在
中,以便ARQ将其视为URI,而Virtuoso仍能理解它,即在您的查询中使用

如果您有问题,最好自己研究一下,并在此处发布具体问题。先生,谢谢您的回复,我已经更新了问题。先生,我试过了,但问题仍然存在。有没有任何方法可以直接将查询传递给virtuoso,而不允许jena解析查询并对其进行干涉