Java – neo4j connection string
•
Java
I use neo4j as the graphic database of my research papers. It is difficult for me to put neo4j2 3.1 connect with simple JDBC connection
This is a very simple code that I use to connect to neo4j
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
Main(){
try {
Class.forName("org.neo4j.jdbc.Driver");
}catch (Exception ex){
}
}
public static void main(String[] args) {
try {
Connection con = DriverManager.getConnection("jdbc:neo4j://localhost:7474");
try(Statement stmt = con.createStatement()) {
ResultSet rs = stmt.executeQuery("MATCH (n:User) RETURN n.name");
while(rs.next()) {
System.out.println(rs.getString("n.name"));
}
}
}catch (Exception ex) {
ex.printStackTrace();
}
}
}
This is a log showing some problems with the rest authentication scheme
> Aug 27,2015 10:20:25 PM org.neo4j.jdbc.Driver createDatabases INFO: > Embedded Neo4j support not enabled > org/neo4j/graphdb/GraphDatabaseService Aug 27,2015 10:20:25 PM > org.neo4j.jdbc.Driver createDatabases INFO: Embedded Neo4j support not > enabled org/neo4j/graphdb/GraphDatabaseService Starting the Apache > HTTP client Couldn't find any helper support the HTTP_None challenge > scheme. Unauthorized (401) - Unauthorized at > org.restlet.resource.ClientResource.doError(ClientResource.java:612) > at > org.restlet.resource.ClientResource.handleInbound(ClientResource.java:1202) > at > org.restlet.resource.ClientResource.handle(ClientResource.java:1069) > at > org.restlet.resource.ClientResource.handle(ClientResource.java:1044) > at > org.restlet.resource.ClientResource.handle(ClientResource.java:950) > at org.restlet.resource.ClientResource.get(ClientResource.java:658) > at org.neo4j.jdbc.rest.Resources.readJsonFrom(Resources.java:97) at > org.neo4j.jdbc.rest.Resources$DiscoveryClientResource.readInformation(Resources.java:135) > at > org.neo4j.jdbc.rest.Resources.getDiscoveryResource(Resources.java:65) > at > org.neo4j.jdbc.rest.Resources.getDiscoveryResource(Resources.java:60) > at > org.neo4j.jdbc.Neo4jConnection.getDiscoveryResource(Neo4jConnection.java:80) > at > org.neo4j.jdbc.Neo4jConnection.createExecutor(Neo4jConnection.java:69) > at org.neo4j.jdbc.Neo4jConnection.<init>(Neo4jConnection.java:61) at > org.neo4j.jdbc.Connections$4.doCreate(Connections.java:51) at > org.neo4j.jdbc.Connections.create(Connections.java:62) at > org.neo4j.jdbc.Driver.connect(Driver.java:64) at > org.neo4j.jdbc.Driver.connect(Driver.java:36) at > java.sql.DriverManager.getConnection(DriverManager.java:571) > Unauthorized (401) - Unauthorized at > java.sql.DriverManager.getConnection(DriverManager.java:233) at > Main.main(Main.java:20) at > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) at > com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
I'm using neo4j2 3.1, because it has the default authentication of user name neo4j
Solution
Then try these,
Neo4jConnection conn;
ResultSet rs;
public static void main(String[] args) {
try{
final Driver driver = new Driver(); //org.neo4j.jdbc.Driver
final Properties props = new Properties();
props.put("user","your username");
props.put("password","your password");
String url="jdbc:neo4j://localhost:7474";
conn = driver.connect(url,props);
Statement stmt = conn.createStatement()
rs = stmt.executeQuery("MATCH (n:User) RETURN n.name");
while(rs.next()) {
System.out.println(rs.getString("n.name"));
}
}
catch (sqlException e) {
throw new RuntimeException(e);
}
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
