Neo4j Native Java API


I dette kapittelet skal vi utvikle og teste en Java Application hjelp Neo4j Native Java API. Vi vil diskutere om Neo4j Cypher Java API i neste kapittel.

Før utvikle programmet, kan du se "Neo4j Java Environment Setup" kapittel til setup Eclipse IDE for å utvikle dette programmet

Neo4j Native Java API Eksempel

Dette eksemplet viser hvordan du kan utvikle en Java-applikasjon i Eclipse IDE for å utvikle og teste Neo4j Native Java API Eksempel

Følg alle trinnene som er nevnt i "Neo4j Java Environment Setup "kapittel

Trinn 1 Anmeldelser - Lag en Java-programmet i samme Java-prosjektet

Nå begynner du å skrive Neo4j Java API koding for å utføre Neo4j DB operasjoner

Trinn 2
- Lag en Neo4j Database
GraphDatabaseFactory dbFactory = new GraphDatabaseFactory (); GraphDatabaseService db = dbFactory.newEmbeddedDatabase ("C: /TPNeo4jDB");

Det skaper en Schema /Database for oss på den angitte banen som vist below.This ligner "CREATE DATABASE" kommando av Oracle SQL

Trinn 3
-. Begynn Neo4j Database transaksjonen til å begå våre endringer
prøve (Transaksjons tx = graphDb.beginTx ()) {//Utfør DB operasjoner tx.success ();}

Så for vår Java Program kildekode ser ut
pakken com.tp.neo4j.java.examples, import org. neo4j.graphdb.GraphDatabaseService, import org.neo4j.graphdb.Transaction, import org.neo4j.graphdb.factory.GraphDatabaseFactory; public class Neo4jJavaAPIDBOperation {public static void main (String [] args) {GraphDatabaseFactory dbFactory = new GraphDatabaseFactory (); GraphDatabaseService db = dbFactory.newEmbeddedDatabase ("C: /TPNeo4jDB"); prøv (Transaksjons tx = db.beginTx ()) {//Utfør DB operasjoner tx.success (); }}}

Trinn 4 Anmeldelser - For å opprette noder, trenger vi label navn. Opprett en Enum ved å implementere Neo4j Java API "Label" grensesnitt
pakken com.tp.ne4oj.java.examples;. Import org.neo4j.graphdb.Label; offentlig enum Guider implementerer Etikett {JAVA, Scala, SQL, NEO4J; }

Trinn 5 Anmeldelser - Lag Knuter og angi egenskaper til dem

Lag to noder
Node javaNode = db.createNode (Tutorials.JAVA); Node scalaNode = db.createNode (Tutorials.SCALA);

Angi egenskaper til dem
javaNode.setProperty ("TutorialID", "JAVA001"); javaNode.setProperty ("tittel", "Lær Java"); javaNode.setProperty ("NoOfChapters" "25"); javaNode.setProperty ("Status", "Fullført"); scalaNode.setProperty ("TutorialID", "SCALA001"); scalaNode.setProperty ("Tittel", "Lær Scala"); scalaNode.setProperty ("NoOfChapters", "20"); scalaNode.setProperty ("Status", "Fullført ");

Trinn 6 Anmeldelser - Å skape relasjoner, trenger vi relasjonstyper. Så lage en enum ved å implementere Neo4j "RelationshipType"
pakken com.tp.neo4j.java.examples;. Import org.neo4j.graphdb.RelationshipType; offentlige enum TutorialRelationships implementerer RelationshipType {JVM_LANGIAGES, NON_JVM_LANGIAGES;}

Trinn 7 Anmeldelser - Lag Forholdet mellom noder og angi egenskaper til det

Lag et forhold fra Java Node til Scala Node
Sivil forhold = javaNode.createRelationshipTo (scalaNode, TutorialRelationships.JVM_LANGIAGES); < p> Angi egenskaper til dette relationship
relationship.setProperty("Id","1234");relationship.setProperty("OOPS","YES");relationship.setProperty("FP","YES");

Step 8
- Slutt kildekode
pakken com.tp.neo4j.java.examples, import org.neo4j.graphdb.GraphDatabaseService, import org.neo4j.graphdb.Node, import org.neo4j.graphdb.Relationship;. import org.neo4j.graphdb.Transaction, import org.neo4j.graphdb.factory.GraphDatabaseFactory; public class Neo4jJavaAPIDBOperation {public static void main (String [] args) {GraphDatabaseFactory dbFactory = new GraphDatabaseFactory (); GraphDatabaseService db = dbFactory.newEmbeddedDatabase ("C: /TPNeo4jDB"); prøve (Transaksjons tx = db.beginTx ()) {Node javaNode = db.createNode (Tutorials.JAVA); javaNode.setProperty ("TutorialID", "JAVA001"); javaNode.setProperty ("Tittel", "Lær Java"); javaNode.setProperty ("NoOfChapters", "25"); javaNode.setProperty ("Status", "Fullført"); Node scalaNode = db.createNode (Tutorials.SCALA); scalaNode.setProperty ("TutorialID", "SCALA001"); scalaNode.setProperty ("Tittel", "Lær Scala"); scalaNode.setProperty ("NoOfChapters", "20"); scalaNode.setProperty ("Status", "Fullført"); Forholdet forholdet = javaNode.createRelationshipTo (scalaNode, TutorialRelationships.JVM_LANGIAGES); relationship.setProperty ("Id", "1234"); relationship.setProperty ("OOPS", "JA"); relationship.setProperty ("FP", "JA"); tx.success (); } System.out.println ("Ferdig med hell");}}

Trinn 9 Anmeldelser - Før du utfører denne Java Program, sjekk din Neo4j er i avslutningsmodus eller ikke. Hvis ikke, klikker du på "Stop" knappen til showdown det

Trinn 10 Anmeldelser -.. Execute Java Program og observere produksjonen i Eclipse IDE Console

Velg vår Neo4j Database mappen og klikk på "Start" -knappen

Når Dette DB er startet vellykket, tilgang Neo4j Browser ved å klikke på "http: //localhost: 7474". linken for å observere våre data

Trinn 11 Anmeldelser - Type kommandoen nedenfor på $ teksten av Neo4j dataleseren
MATCH (a) - [r: JVM_LANGIAGES] -> (b) RETURN r

Klikk på "Java" Node å vise det er egenskaper

Klikk på "Scala" Node å vise det er egenskaper

Klikk på Sivil å se det er egenskaper

NB -

Hvis vår Neo4j Server er oppe og går ved å henvise vår nyopprettede databasen, så kan vi ikke kjøre programmet så serveren er allerede fått lås for denne databasen.

Så når vi utfører vår forrige program, vil vi få noen feil stack trace

java.io.IOException: Kunne ikke låse låsefil C:. \\ TPNeo4jDB \\ lock fordi en annen prosess har allerede låsen

For å unngå dette problemet, må du først stoppe vår server, og deretter kjøre programmet.

På grunn av standard Neo4j DB Server godtar bare en lås på en gang. I Realtime søknadene vil Ne04J DBA folk oppdaterer DB egenskaper for å tillate noen antall låser på en gang.