SPARQL在jena中执行查询,只给出前缀作为输出

时间:2018-04-02 05:18:19

标签: sparql jena

在SPARQL execdescribe查询下,在使用Jena查询运行时只给出了两个前缀作为输出,但是当我在virtuoso SPARQL端点上运行此查询时,它提供了完美的输出。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX db: <http://dbpedia.org/ontology/> 
PREFIX prop: <http://dbpedia.org/property/>
DESCRIBE ?movie ?author ?genre
WHERE { 
?movie rdf:type db:Film ;
prop:author ?author ;
prop:genre ?genre .
}
LIMIT 2
OFFSET 0

当我和Jena一起跑时,我只得到两行这样的输出,

@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .

下面是我正在使用的代码,但有一些查询工作正常,

String queryString = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>" + 
                "PREFIX db: <http://dbpedia.org/ontology/> " + 
                "PREFIX prop: <http://dbpedia.org/property/>" + 
                "DESCRIBE ?movie ?author ?genre" + 
                "WHERE { " + 
                "?movie rdf:type db:Film ;" + 
                "prop:author ?author ;" + 
                "prop:genre ?genre ." + 
                "}" + 
                "LIMIT 2" + 
                "OFFSET 0";

        QueryExecution qexec = QueryExecutionFactory.sparqlService("http://localhost:8890/sparql", queryString);
        Model results = qexec.execDescribe();

        results.write(System.out,"TTL");

它完美地为我提供了关于virtuoso SPARQL端点的输出。 下面是屏幕截图, SPARQL

1 个答案:

答案 0 :(得分:0)

根据@AKSW的评论中的建议,查询中存在空格问题。因此,在编辑了我的查询后,它将完美地正常工作。