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 proses berjalannya sampel Java lengkap yang menyambungkan ke instans DB Amazon Neptune dan melakukan kueri SPARQL.
Ikuti petunjuk ini dari instans Amazon EC2 di virtual private cloud (VPC) yang sama seperti instans Neptune DB Anda.
Untuk menyambung ke Neptune menggunakan Java
-
Install Apache Maven pada instans EC2 Anda. Jika menggunakan Amazon Linux 2023 (lebih disukai), gunakan:
sudo dnf update -y sudo dnf install maven -yJika menggunakan Amazon Linux 2, unduh biner terbaru dari 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 -
Contoh ini diuji hanya dengan Java 8. Masukkan hal berikut ini untuk menginstal Java 8 pada instans EC2 Anda:
sudo yum install java-1.8.0-devel -
Masukkan hal berikut untuk mengatur Java 8 sebagai runtime default pada instans EC2 Anda:
sudo /usr/sbin/alternatives --config javaSaat diminta, masukkan nomor untuk Java 8.
-
Masukkan hal berikut untuk mengatur Java 8 sebagai compiler default pada instans EC2 Anda:
sudo /usr/sbin/alternatives --config javacSaat diminta, masukkan nomor untuk Java 8.
-
Di direktori baru, buat file
pom.xml, lalu buka file tersebut dalam editor teks. -
Salin hal berikut ke file
pom.xmldan 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.
-
Untuk membuat subdirektori untuk kode sumber contoh (
src/main/java/com/amazonaws/), masukkan hal berikut ke baris perintah:mkdir -psrc/main/java/com/amazonaws/ -
Di direktori
src/main/java/com/amazonaws/, buat file bernamaApp.java, lalu buka file tersebut dalam editor teks. -
Salin hal berikut ke dalam file
App.java. Gantiyour-neptune-endpointdengan 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); } } } } } -
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 mengajukan kueri untuk sesuatu yang lain, gantikan kueri tersebut dengan kueri SPARQL 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.