다음 코드를 사용하여 dbpedia에서 국가에 대한 정보를 가져 오려고합니다. 그러나 나는 아무것도 얻지 못한다. 또한 가능한 정보를 찾는 방법.
public void getCountriesInformation() throws FileNotFoundException, IOException {
{
System.out.println(listOfCountries);
ParameterizedSparqlString qs = new ParameterizedSparqlString("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n "
+ "SELECT * { ?Subject rdf:type <http://dbpedia.org/page/" + listOfCountries.get(0) +"> . ?Subject ?Predicate ?Object } ORDER BY ?Subject LIMIT 10000 OFFSET 10000");
QueryExecution exec = QueryExecutionFactory.sparqlService("https://dbpedia.org/sparql", qs.asQuery());
//exec.setTimeout(10000000);
exec.setTimeout(10, TimeUnit.MINUTES);
ResultSet results = exec.execSelect();
ResultSetFormatter.outputAsCSV(new FileOutputStream(new File("C:/Users/leons/Desktop/CountryData.csv")), results);
//ResultSetFormatter.out(results);
}
//CSVCountryNameFetcher countryNameFetcher = new CSVCountryNameFetcher();
//countryNameFetcher.fetchDataFromCSV();
}
전체 쿼리가 잘못되었습니다.
국가는 DBpedia의 리소스이므로 술어를 사용하여 객체 위치에서 트리플로 발생하지 않습니다 rdf:type
. 이것은 말이되지 않습니다.
DBpedia의 네임 스페이스는 http://dbpedia.org/resource/
예제 쿼리는 다음과 같습니다.
SELECT * WHERE {
<http://dbpedia.org/resource/France> ?p ?o .
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다