找不到QueryFactory的符号 - jena API

时间:2011-03-25 15:16:15

标签: jena

import java.io.*;
import com.hp.hpl.jena.datatypes.xsd.XSDDatatype.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.db.*;
import com.hp.hpl.jena.db.impl.*;
import com.hp.hpl.jena.graph.compose.*;
import com.hp.hpl.jena.graph.query.*;
import com.hp.hpl.jena.graph.*;
import com.hp.hpl.jena.vocabulary.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.rdf.model.ModelMaker.*;
import com.hp.hpl.jena.mem.*;
import com.hp.hpl.jena.mem.faster.*;

class Firstsparql{

    public static void main(String[] args){
        // Open the bloggers RDF graph from the filesystem
        InputStream in = new FileInputStream(new File("foaf.rdf"));

        // Create an empty in-memory model and populate it from the graph
        Model model = ModelFactory.createMemModelMaker().createModel();
        model.read(in,null); // null base URI, since model URIs are absolute
        in.close();

        // Create a new query
        String queryString =
        "PREFIX foaf: <http://xmlns.com/foaf/0.1/> " +
        "SELECT ?url " +
        "WHERE {" +
        "      ?contributor foaf:name \"Jon Foobar\" . " +
        "      ?contributor foaf:weblog ?url . " +
        "      }";

        Query query = QueryFactory.create(queryString);

        // Execute the query and obtain results
        QueryExecution qe = QueryExecutionFactory.create(query, model);
        ResultSet results = qe.execSelect();

        // Output query results
        ResultSetFormatter.out(System.out, results, query);

        // Important – free up resources used running the query
        qe.close();
        }
}

嗨,我在我的类路径中包含了jena.jar文件,但仍然无法识别某些变量和方法。 ihope他们没有在jena api中定义..还有其他api我需要include.pls..let me..know。感谢。

2 个答案:

答案 0 :(得分:0)

您的CLASSPATH需要包含Jena lib目录中的所有.jar个文件,而不仅仅是jena.jar

答案 1 :(得分:0)

除了上面的建议,您可以在http://www.openjena.org/documentation.html上阅读有关jena架构的信息。

特别是,Jena的流程SPARQL查询称为ARQ。 ARQ.jar涉及QueryFactory。