FirstTestingClass.java
package com.mycompany.sparqlwithjena1;
import org.apache.jena.query.Query;
import org.apache.jena.query.QueryFactory;
import org.apache.jena.query.ResultSet;
import org.apache.jena.query.ResultSetFormatter;
import org.apache.jena.sparql.engine.http.QueryEngineHTTP;
public class FirstTestingClass {
public static void main(String[] args)
{
sparqlQuery();
}
static void sparqlQuery()
{
String url4= "http://dbpedia.org/sparql/";
String queryString =
"PREFIX ol: <http://www.openlinksw.com/schemas/virtrdf#> "+
" SELECT ?person ?x"+
" WHERE { "+
" ?person a ?x . "+
//" FILTER ( regex( str(?person) , 'resource' ,'i') ) ."+
" }";
Query query = QueryFactory.create(queryString);
QueryEngineHTTP qe= new QueryEngineHTTP(url4,queryString);
ResultSet result = qe.execSelect();
ResultSetFormatter.out(result, query);
qe.close();
}
}
这给出了这种输出
| 人 | x |
| http://www.openlinksw.com/virtrdf-data-formats#default-iid | ol:QuadMapFormat |
| http://www.openlinksw.com/virtrdf-data-formats#default-iid-nullable | ol:QuadMapFormat |
我只粘贴了两个输出元组,输出中有超过 100 个元组。那么为什么会这样呢?是因为自动取消引用 URL 吗?
我尝试在 librdf.org 上查询相同的 URL(=url4)。它只给出一个元组作为输出。
我还尝试通过自动转换为 N3 形式来检查 rdf-translator.appspot.com 上的三元组形式的 URL(=url4)。它还显示给定查询应该只有一个元组。
请帮忙看看我哪里做错了?我是初学者请解释一下。