Gunakan Java untuk terhubung ke instans DB Neptune - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan Java untuk terhubung ke instans DB Neptune

Bagian ini memandu Anda melalui menjalankan sampel Java lengkap yang terhubung ke instans Amazon Neptunus DB dan melakukan kueri. SPARQL

Ikuti petunjuk ini dari EC2 instans Amazon di cloud pribadi virtual (VPC) yang sama dengan instans DB Neptunus Anda.

Untuk menyambung ke Neptune menggunakan Java
  1. Instal Apache Maven pada instans Anda. EC2 Pertama, masukkan hal berikut untuk menambahkan repositori dengan paket Maven:

    sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

    Masukkan rangkaian nomor versi berikut untuk paket:

    sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

    Lalu Anda menggunakan yum untuk menginstal Maven:

    sudo yum install -y apache-maven
  2. Contoh ini diuji hanya dengan Java 8. Masukkan yang berikut ini untuk menginstal Java 8 pada EC2 instance Anda:

    sudo yum install java-1.8.0-devel
  3. Masukkan yang berikut ini untuk mengatur Java 8 sebagai runtime default pada EC2 instance Anda:

    sudo /usr/sbin/alternatives --config java

    Saat diminta, masukkan nomor untuk Java 8.

  4. Masukkan yang berikut ini untuk mengatur Java 8 sebagai kompiler default pada EC2 instance Anda:

    sudo /usr/sbin/alternatives --config javac

    Saat diminta, masukkan nomor untuk Java 8.

  5. Di direktori baru, buat file pom.xml, lalu buka file tersebut dalam editor teks.

  6. Salin hal berikut ke file pom.xml dan simpan (Anda biasanya dapat menyesuaikan nomor versi ke versi stabil terbaru):

    <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>
    catatan

    Jika Anda memodifikasi proyek Maven yang ada, dependensi yang diperlukan disorot dalam kode sebelumnya.

  7. Untuk membuat subdirektori untuk kode sumber contoh (src/main/java/com/amazonaws/), masukkan hal berikut ke baris perintah:

    mkdir -p src/main/java/com/amazonaws/
  8. Di direktori src/main/java/com/amazonaws/, buat file bernama App.java, lalu buka file tersebut dalam editor teks.

  9. Salin hal berikut ke dalam file App.java. Ganti your-neptune-endpoint dengan alamat instans DB Neptunus Anda.

    catatan

    Untuk informasi tentang menemukan nama host instans DB Neptune Anda, lihat Menghubungkan ke Titik Akhir 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. Gunakan perintah Maven berikut untuk mengonpilasi dan menjalankan sampel:

    mvn compile exec:java

Contoh sebelumnya mengembalikan hingga 10 dari triple (subject-predicate-object) dalam grafik dengan menggunakan ?s ?p ?o query dengan batas 10. Untuk meminta sesuatu yang lain, ganti kueri dengan SPARQL kueri lain.

Iterasi hasil dalam contoh mencetak nilai masing-masing variabel yang dkembalikan. Objek Value dikonversi menjadi String lalu dicetak. Jika Anda mengubah bagian SELECT dari kueri, Anda harus memodifikasi kodenya.