Java を使用して Neptune DB インスタンスに接続する - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Java を使用して Neptune DB インスタンスに接続する

このセクションでは、Amazon Neptune DB インスタンスに接続し、SPARQL クエリを実行する完全な Java サンプルを実行する方法について説明します。

Neptune DB インスタンスと同じ仮想プライベートクラウド (VPC) の Amazon EC2 インスタンスからこれらの手順を実行してください。

Java を使用して Neptune に接続するには
  1. Apache Maven を EC2 インスタンスにインストールします。最初に、Maven パッケージを使用してリポジトリを追加するには、次のように入力します。

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

    パッケージのバージョン番号を設定するには、次のように入力します。

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

    続いて、yum を使用して Maven をインストールできます。

    sudo yum install -y apache-maven
  2. この例は Java 8 のみでテストされています。EC2 インスタンスで Java 8 をインストールするには、次のように入力します。

    sudo yum install java-1.8.0-devel
  3. EC2 インスタンスで Java 8 をデフォルトランタイムとして設定するには、次のように入力します。

    sudo /usr/sbin/alternatives --config java

    プロンプトが表示されたら、Java 8 の数を入力します。

  4. EC2 インスタンスで Java 8 をデフォルトコンパイラとして設定するには、次のように入力します。

    sudo /usr/sbin/alternatives --config javac

    プロンプトが表示されたら、Java 8 の数を入力します。

  5. 新しいディレクトリで pom.xml ファイルを作成してから、テキストエディタで開きます。

  6. 以下を pom.xml ファイルにコピーし保存します (通常、バージョン番号を最新の安定バージョンに調整できます)。

    <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>
    注記

    既存の Maven プロジェクトを変更する場合、必要な依存関係が前述のコードにおいて強調表示されます。

  7. ソースコード例 (src/main/java/com/amazonaws/) のサブディレクトリを作成するには、コマンドラインで次のように入力してください。

    mkdir -p src/main/java/com/amazonaws/
  8. src/main/java/com/amazonaws/ ディレクトリで App.java という名前のファイルを作成してから、テキストエディタで開きます。

  9. App.java ファイルに次の内容をコピーします。を Neptune DB インスタンスのアドレスyour-neptune-endpointに置き換えます。

    注記

    Neptune DB インスタンスのホスト名を見つける方法については、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. 次の Maven コマンドを使用してサンプルをコンパイルおよび実行します。

    mvn compile exec:java

前の例では、10 個の制限を持つ?s ?p ?oクエリを使用して、グラフ内のトリプル (subject-predicate-object) のうち最大 10 個を返します。その他の対象にクエリを実行するには、クエリを別の SPARQL クエリで置き換えます。

この例では、結果の反復は返された各変数の値を出力します。Value オブジェクトは String に変換され、その後出力されます。クエリの SELECT 部分を変更した場合は、コードを変更する必要があります。