[java] Java Apache Jena에서 제공하는 SPARQL 쿼리 결과 처리 방법은?

Apache Jena는 Java에서 RDF 데이터를 다루는 라이브러리로, SPARQL 쿼리를 실행하여 RDF 데이터를 조회할 수 있습니다. SPARQL 쿼리 결과를 처리하는 방법에 대해 알아보겠습니다.

SPARQL 쿼리를 실행하고 결과를 처리하기 위해 Apache Jena는 QueryExecution 인터페이스와 ResultSet 인터페이스를 제공합니다. 이를 사용하여 SPARQL 쿼리 실행 결과를 가져올 수 있습니다.

다음은 SPARQL 쿼리를 실행하고 결과를 처리하는 예제 코드입니다:

import org.apache.jena.query.*;

public class SparqlExample {
    public static void main(String[] args) {
        String sparqlQuery = "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n" +
                "SELECT ?name\n" +
                "WHERE { ?person foaf:name ?name }";

        // SPARQL 쿼리 실행
        Query query = QueryFactory.create(sparqlQuery);
        QueryExecution queryExecution = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);

        try {
            // 쿼리 결과 가져오기
            ResultSet resultSet = queryExecution.execSelect();

            // 결과 처리
            while (resultSet.hasNext()) {
                QuerySolution solution = resultSet.next();
                String name = solution.getLiteral("name").getString();
                System.out.println("Name: " + name);
            }
        } finally {
            queryExecution.close();
        }
    }
}

이 코드는 “http://dbpedia.org/sparql” 서비스에서 SPARQL 쿼리를 실행하고 결과를 출력하는 예제입니다. 쿼리에서는 foaf 네임스페이스를 사용하여 RDF 그래프에서 name 속성을 조회합니다.

위의 코드에서는 Apache Jena 라이브러리를 사용하고 있으며, Maven 또는 Gradle을 통해 의존성을 추가해야 합니다. Apache Jena의 공식 웹사이트를 참조하여 의존성 설정 방법을 확인할 수 있습니다.

참고 문서:

위의 예제 코드와 참고 문서를 통해 Java Apache Jena에서 제공하는 SPARQL 쿼리 결과를 처리하는 방법을 익힐 수 있습니다.