Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di Java per connettersi a un'istanza database Neptune
Questa sezione illustra l'esecuzione di un esempio Java completo che si connette a un'istanza DB di Amazon Neptune ed esegue una query. SPARQL
Segui queste istruzioni da un'EC2istanza Amazon nello stesso cloud privato virtuale (VPC) della tua istanza Neptune DB.
Per connettersi a Neptune tramite Java
-
Installa Apache Maven sulla tua istanza. EC2 Per aggiungere un archivio con un pacchetto Maven, immettere prima quanto segue:
sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
Per impostare il numero di versione per i pacchetti, immettere quanto segue.
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
Potrai quindi utilizzare yum per installare Maven:
sudo yum install -y apache-maven
-
Questo esempio è stato testato solo con Java 8. Inserisci quanto segue per installare Java 8 sulla tua istanza: EC2
sudo yum install java-1.8.0-devel
-
Immettete quanto segue per impostare Java 8 come runtime predefinito sull'EC2istanza:
sudo /usr/sbin/alternatives --config java
Quando richiesto, immetti il numero per Java 8.
-
Immettete quanto segue per impostare Java 8 come compilatore predefinito sulla vostra EC2 istanza:
sudo /usr/sbin/alternatives --config javac
Quando richiesto, immetti il numero per Java 8.
-
In una nuova directory , creare un file
pom.xml
, quindi aprirlo in un editor di testo. -
Copia quanto segue nel file
pom.xml
e salvalo (di solito puoi modificare i numeri di versione in base all'ultima versione stabile):<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 stai modificando un progetto Maven esistente, la dipendenza necessaria è evidenziata nel codice precedente.
-
Per creare sottodirectory per il codice sorgente di esempio (
src/main/java/com/amazonaws/
), immettere quanto segue nella riga di comando:mkdir -p
src/main/java/com/amazonaws/
-
Nella directory
src/main/java/com/amazonaws/
, creare un file denominatoApp.java
, quindi aprirlo in un editor di testo. -
Copiare quanto segue nel file
App.java
. Replace (Sostituisci)your-neptune-endpoint
con l'indirizzo della tua istanza DB di Neptune.Nota
Per informazioni su come trovare il nome host dell'istanza database Neptune, consulta la sezione Connessione agli endpoint 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); } } } } } -
Per compilare ed eseguire l'esempio, usare il comando Maven seguente:
mvn compile exec:java
L'esempio precedente restituisce fino a 10 delle triple (subject-predicate-object) nel grafico utilizzando la ?s ?p ?o
query con un limite di 10. Per eseguire una query per qualcos'altro, sostituite la query con un'altra SPARQL interrogazione.
L'iterazione dei risultati dell'esempio stampa il valore di ogni variabile restituita. L'oggetto Value
viene convertito in String
e quindi stampato. Se modifichi la parte SELECT
della query, dovrai modificare il codice.