rdf:在Jena API中输入SPARQL不起作用?

问题描述 投票:0回答:1

为什么用于SPARQL的Jena API(Java)不能为rdf:type的查询提供任何结果?其他SPARQL查询工作得很好。例如,此查询无效:

SELECT DISTINCT ?p{
    ?p rdf:type :AAA
}

完整代码:

String queryString=listOfPrefixesOntNormXML+" \n"
                   +"SELECT DISTINCT ?p{ ?p rdf:type :AAA }";
System.out.println(queryString);

Query query = QueryFactory.create(queryString); 
           QueryExecution qExe = QueryExecutionFactory.sparqlService( "http://dbpedia.org/sparql", query );
           ResultSet results = qExe.execSelect();
           ResultSetFormatter.out(System.out, results, query) ;

完整的queryString:

PREFIX : <http://www.co-ode.org/ontologies/pizza/pizza.owl#> 
PREFIX owl: <http://www.w3.org/2002/07/owl#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX xml: <http://www.w3.org/XML/1998/namespace> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX owl11: <http://www.w3.org/2006/12/owl11#> 
PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#> 
PREFIX owl11xml: <http://www.w3.org/2006/12/owl11-xml#> 

SELECT DISTINCT ?p{ ?p rdf:type :AAA }
sparql jena
1个回答
3
投票

因为您正在向DBpedia端点提出查询,寻找不存在的rdf:type:AAA

如果你把它改成dbo:Book,它应该有用,因为rdf:type存在于DBpedia中!

© www.soinside.com 2019 - 2024. All rights reserved.