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
-
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
-
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
-
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.
-
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.
-
Di direktori baru, buat file
pom.xml
, lalu buka file tersebut dalam editor teks. -
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.
-
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/
-
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-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); } } } } } -
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.