Usar o Java para conectar-se a uma instância de banco de dados do Neptune - Amazon Neptune

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar o Java para conectar-se a uma instância de banco de dados do Neptune

Esta seção descreve a execução de um exemplo completo de Java que se conecta a uma instância de banco de dados do Amazon Neptune e executa uma consulta do SPARQL.

Siga essas instruções de uma EC2 instância da Amazon na mesma nuvem privada virtual (VPC) da sua instância de banco de dados Neptune.

Como conectar-se ao Neptune usando o Java
  1. Instale o Apache Maven na sua EC2 instância. Se estiver usando o Amazon Linux 2023 (preferencial), use:

    sudo dnf update -y sudo dnf install maven -y

    Se estiver usando o Amazon Linux 2, baixe o binário mais recente em https://maven.apache.org/download.cgi:

    sudo yum remove maven -y wget https://dlcdn.apache.org/maven/maven-3/ <version>/binaries/apache-maven-<version>-bin.tar.gz sudo tar -xzf apache-maven-<version>-bin.tar.gz -C /opt/ sudo ln -sf /opt/apache-maven-<version> /opt/maven echo 'export MAVEN_HOME=/opt/maven' >> ~/.bashrc echo 'export PATH=$MAVEN_HOME/bin:$PATH' >> ~/.bashrc source ~/.bashrc
  2. Este exemplo foi testado apenas com o Java 8. Digite o seguinte para instalar o Java 8 na sua EC2 instância:

    sudo yum install java-1.8.0-devel
  3. Digite o seguinte para definir o Java 8 como o tempo de execução padrão na sua EC2 instância:

    sudo /usr/sbin/alternatives --config java

    Quando solicitado, insira o número do Java 8.

  4. Digite o seguinte para definir o Java 8 como o compilador padrão na sua EC2 instância:

    sudo /usr/sbin/alternatives --config javac

    Quando solicitado, insira o número do Java 8.

  5. Em um novo diretório, crie um arquivo pom.xml e abra-o em um editor de texto.

  6. Copie o seguinte no arquivo pom.xml e salve-o (geralmente é possível ajustar os números da versão para a versão estável mais recente):

    <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.amazonaws</groupId> <artifactId>RDFExample</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>RDFExample</name> <url>https://maven.apache.org</url> <dependencies> <dependency> <groupId>org.eclipse.rdf4j</groupId> <artifactId>rdf4j-runtime</artifactId> <version>3.6</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <mainClass>com.amazonaws.App</mainClass> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
    nota

    Se estiver modificando um projeto existente do Maven, a dependência necessária será destacada no código anterior.

  7. Para criar subdiretórios para o código-fonte de exemplo (src/main/java/com/amazonaws/), digite o seguinte na linha de comando:

    mkdir -p src/main/java/com/amazonaws/
  8. No diretório src/main/java/com/amazonaws/, crie um arquivo denominado App.java e abra-o em um editor de texto.

  9. Copie o seguinte no arquivo App.java. your-neptune-endpointSubstitua pelo endereço da sua instância de banco de dados Neptune.

    nota

    Para obter informações sobre como localizar o nome do host da instância de banco de dados do Neptune, consulte a seção Conectar-se a endpoints do Amazon Neptune.

    package com.amazonaws; import org.eclipse.rdf4j.repository.Repository; import org.eclipse.rdf4j.repository.http.HTTPRepository; import org.eclipse.rdf4j.repository.sparql.SPARQLRepository; import java.util.List; import org.eclipse.rdf4j.RDF4JException; import org.eclipse.rdf4j.repository.RepositoryConnection; import org.eclipse.rdf4j.query.TupleQuery; import org.eclipse.rdf4j.query.TupleQueryResult; import org.eclipse.rdf4j.query.BindingSet; import org.eclipse.rdf4j.query.QueryLanguage; import org.eclipse.rdf4j.model.Value; public class App { public static void main( String[] args ) { String sparqlEndpoint = "https://your-neptune-endpoint:port/sparql"; Repository repo = new SPARQLRepository(sparqlEndpoint); repo.initialize(); try (RepositoryConnection conn = repo.getConnection()) { String queryString = "SELECT ?s ?p ?o WHERE { ?s ?p ?o } limit 10"; TupleQuery tupleQuery = conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString); try (TupleQueryResult result = tupleQuery.evaluate()) { while (result.hasNext()) { // iterate over the result BindingSet bindingSet = result.next(); Value s = bindingSet.getValue("s"); Value p = bindingSet.getValue("p"); Value o = bindingSet.getValue("o"); System.out.print(s); System.out.print("\t"); System.out.print(p); System.out.print("\t"); System.out.println(o); } } } } }
  10. Use o comando do Maven a seguir para compilar e executar o exemplo:

    mvn compile exec:java

O exemplo anterior retorna até 10 dos triples (subject-predicate-object) no gráfico usando a ?s ?p ?o consulta com um limite de 10. Para consultar outro elemento, substitua a consulta por outra consulta do SPARQL.

A iteração dos resultados no exemplo imprime o valor de cada variável retornada. O objeto Value é convertido em um String e, em seguida, é impresso. Se alterar a parte SELECT da consulta, você deverá modificar o código.