Heroku RestAPI和Neo4j

Heroku RestAPI和Neo4j,heroku,neo4j,Heroku,Neo4j,有人能用JDK1.6和Heroku帮助解决这些Neo4j(1.9)错误和RestApi吗 代码的目的只是演示在Java中使用cypher和Neo4j的功能。我知道只有RestAPI在Heroku工作 package com.example; import java.util.List; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.grap

有人能用JDK1.6和Heroku帮助解决这些Neo4j(1.9)错误和RestApi吗

代码的目的只是演示在Java中使用cypher和Neo4j的功能。我知道只有RestAPI在Heroku工作

package com.example;

import java.util.List;

import org.neo4j.graphdb.Direction;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.helpers.collection.*;
import org.neo4j.rest.graphdb.RestAPI;
import org.neo4j.rest.graphdb.RestAPIFacade;
import org.neo4j.rest.graphdb.RestGraphDatabase;
import org.neo4j.rest.graphdb.query.RestCypherQueryEngine;
import org.neo4j.rest.graphdb.util.*;
import org.springframework.stereotype.Component;
import java.util.Map;


 import com.example.IDatabaseConnector;
//import org.neo4j.rest.graphdb.RestGraphDatabase;
//import org.neo4j.

@Component
//public class Neo4jDatabaseConnector implements IDatabaseConnector {
public class Neo4jDatabaseConnector implements IDatabaseConnector{

    Node aNode;
    Node first;
    Node second;
    Relationship relation;
    private static GraphDatabaseService GraphDb;
    private static RestAPI restAPI;
    Transaction txn;

    private static enum RelTypes implements RelationshipType
    {
        KNOWS,
        USAGE
    }

    public void showNode( )
    {

        // have to add code for cypher
        RestCypherQueryEngine rcqe = new RestCypherQueryEngine(restAPI);
        //Then just execute your cypher statements using rcqe.query().
     // int length=0;
        String countNodes = "START n=node(*) RETURN count(*)";
        String createNodes = "CREATE (n {name: 'Trevor Oakley'})";
         rcqe.query(createNodes, null);


     // QueryResult <Map<String,Object>> result = rcqe.query(countNodes, null);

        //for  (Map<String, Object> row:result){
        //  length++;   
        //}
        //System.out.println("length="+length);


     // rcqe.query(countNodes, Map<String, Object> row:result);
        //  rcqe.query(countNodes, Map<String,Object>:result)
        //  rcqe.
/*   ExecutionEngine engine = new ExecutionEngine(GraphDb);
        int length=-1;
        try{
            ExecutionResult result = engine.execute("start n=node(*) return n");
            if (result == null){
                length = 0;
            } else
            {
                for (@SuppressWarnings("unused")
                    Map<String, Object> row:result){
                        length++;   
                    }
            }
        } catch (NullPointerException e) {
        //  _log.error(e.getMessage(),e);
            length=-2;
        }

         System.out.println("len="+length);
         */

    }

    public Neo4jDatabaseConnector() {
        //GraphDb=new GraphDatabaseFactory().newEmbeddedDatabase(Neo4j_DBPath);
    }
    public int createDBRest()
    {
         restAPI = new RestAPIFacade(System.getenv("NEO4J_URL"), 
                   System.getenv("NEO4J_USERNAME"), 
                   System.getenv("NEO4J_PASSWORD"));
        try{
              GraphDb = new RestGraphDatabase(restAPI);
        }
            catch (Exception e){
                    return 1;
            }

           return 0;
    }
    public int createDB(String dbLoc) {

        System.out.println("db loc ="+dbLoc);
        int error = 0;
try{

        GraphDb=new GraphDatabaseFactory().newEmbeddedDatabase(dbLoc); 
    //GraphDb=new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(dbLoc);
        System.out.println("db loc ="+dbLoc);
        String  stringDB = GraphDb.toString();
        System.out.println("connection  ="+stringDB);
}
catch (Exception e){
    System.out.println("error - ");
    error = 1;
}
    return erro

r;
    }

Problem accessing /hello. Reason:

        Error reading as JSON ''
    Caused by:

    java.lang.RuntimeException: Error reading as JSON ''
        at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:57)
        at org.neo4j.rest.graphdb.util.JsonHelper.jsonToSingleValue(JsonHelper.java:62)
        at org.neo4j.rest.graphdb.RequestResult.toEntity(RequestResult.java:114)
        at org.neo4j.rest.graphdb.RequestResult.toMap(RequestResult.java:120)
        at org.neo4j.rest.graphdb.ExecutingRestRequest.toMap(ExecutingRestRequest.java:187)
        at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:475)
        at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:495)
        at org.neo4j.rest.graphdb.RestAPIFacade.query(RestAPIFacade.java:233)
        at org.neo4j.rest.graphdb.query.RestCypherQueryEngine.query(RestCypherQueryEngine.java:50)
        at com.example.Neo4jDatabaseConnector.showNode(Neo4jDatabaseConnector.java:53)
        at com.example.HelloServlet.doGet(HelloServlet.java:22)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
        at org.eclipse.jetty.server.Server.handle(Server.java:349)
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:910)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
        at java.lang.Thread.run(Thread.java:679)
    Caused by: java.io.EOFException: No content to map to Object due to end of input
        at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2775)
        at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718)
        at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
        at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:55)
        ... 34 more
    Caused by:

    java.io.EOFException: No content to map to Object due to end of input
        at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2775)
        at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718)
        at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
        at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:55)
        at org.neo4j.rest.graphdb.util.JsonHelper.jsonToSingleValue(JsonHelper.java:62)
        at org.neo4j.rest.graphdb.RequestResult.toEntity(RequestResult.java:114)
        at org.neo4j.rest.graphdb.RequestResult.toMap(RequestResult.java:120)
        at org.neo4j.rest.graphdb.ExecutingRestRequest.toMap(ExecutingRestRequest.java:187)
        at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:475)
        at org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:495)
        at org.neo4j.rest.graphdb.RestAPIFacade.query(RestAPIFacade.java:233)
        at org.neo4j.rest.graphdb.query.RestCypherQueryEngine.query(RestCypherQueryEngine.java:50)
        at com.example.Neo4jDatabaseConnector.showNode(Neo4jDatabaseConnector.java:53)
        at com.example.HelloServlet.doGet(HelloServlet.java:22)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
        at org.eclipse.jetty.server.Server.handle(Server.java:349)
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:910)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
        at java.lang.Thread.run(Thread.java:679)
package.com.example;
导入java.util.List;
导入org.neo4j.graphdb.Direction;
导入org.neo4j.graphdb.GraphDatabaseService;
导入org.neo4j.graphdb.Node;
导入org.neo4j.graphdb.Relationship;
导入org.neo4j.graphdb.RelationshipType;
导入org.neo4j.graphdb.Transaction;
导入org.neo4j.graphdb.factory.GraphDatabaseFactory;
导入org.neo4j.helpers.collection.*;
导入org.neo4j.rest.graphdb.RestAPI;
导入org.neo4j.rest.graphdb.RestAPIFacade;
导入org.neo4j.rest.graphdb.RestGraphDatabase;
导入org.neo4j.rest.graphdb.query.RestCypherQueryEngine;
导入org.neo4j.rest.graphdb.util.*;
导入org.springframework.stereotype.Component;
导入java.util.Map;
导入com.example.IDatabaseConnector;
//导入org.neo4j.rest.graphdb.RestGraphDatabase;
//导入org.neo4j。
@组成部分
//公共类Neo4jDatabaseConnector实现IDatabaseConnector{
公共类Neo4jDatabaseConnector实现IDatabaseConnector{
节点阳极;
节点优先;
第二节点;
关系;
私有静态GraphDatabaseService GraphDb;
私有静态RestAPI RestAPI;
事务txn;
私有静态枚举RelTypes实现RelationshipType
{
知道,,
用法
}
公共void showNode()
{
//必须为密码添加代码
RestCypherQueryEngine rcqe=新的RestCypherQueryEngine(restAPI);
//然后使用rcqe.query()执行您的密码语句。
//整数长度=0;
String countNodes=“开始n=node(*)返回计数(*)”;
String createNodes=“CREATE(n{name:'Trevor Oakley'})”;
query(createNodes,null);
//QueryResult result=rcqe.query(countNodes,null);
//用于(地图行:结果){
//长度++;
//}
//System.out.println(“长度=”+长度);
//查询(countNodes,映射行:result);
//查询(countNodes,Map:result)
//rcqe。
/*ExecutionEngine=新的ExecutionEngine(GraphDb);
整数长度=-1;
试一试{
ExecutionResult=engine.execute(“开始n=node(*)返回n”);
如果(结果==null){
长度=0;
}否则
{
对于(@SuppressWarnings(“未使用”)
地图行:结果){
长度++;
}
}
}捕获(NullPointerException e){
//_log.error(e.getMessage(),e);
长度=-2;
}
System.out.println(“len=”+长度);
*/
}
公共Neo4jDatabaseConnector(){
//GraphDb=new GraphDatabaseFactory().newEmbeddedDatabase(Neo4j_DBPath);
}
public int createDBRest()
{
restAPI=newrestapifacade(System.getenv(“NEO4J_URL”),
System.getenv(“NEO4J_用户名”),
System.getenv(“NEO4J_密码”);
试一试{
GraphDb=新的RestGraphDatabase(restAPI);
}
捕获(例外e){
返回1;
}
返回0;
}
public int createDB(字符串dbLoc){
System.out.println(“db loc=“+dbLoc”);
整数误差=0;
试一试{
GraphDb=新GraphDatabaseFactory().newEmbeddedDatabase(dbLoc);
//GraphDb=新GraphDatabaseFactory().newEmbeddedDatabaseBuilder(dbLoc);
System.out.println(“db loc=“+dbLoc”);
String stringDB=GraphDb.toString();
System.out.println(“connection=“+stringDB”);
}
捕获(例外e){
System.out.println(“错误-”);
误差=1;
}
返回错误
R
}
访问/hello时出现问题。原因:
读取为JSON“”时出错
原因:
java.lang.RuntimeException:读取为JSON“”时出错
位于org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:57)
位于org.neo4j.rest.graphdb.util.JsonHelper.jsonToSingleValue(JsonHelper.java:62)
位于org.neo4j.rest.graphdb.RequestResult.toEntity(RequestResult.java:114)
位于org.neo4j.rest.graphdb.RequestResult.toMap(RequestResult.java:120)
位于org.neo4j.rest.graphdb.ExecutingRestRequest.toMap(ExecutingRestRequest.java:187)
位于org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:475)
位于org.neo4j.rest.graphdb.ExecutingRestAPI.query(ExecutingRestAPI.java:495)
位于org.neo4j.rest.graphdb.RestAPIFacade.query(RestAPIFacade.java:233)
位于org.neo4j.rest.graphdb.query.RestCypherQueryEngine.query(RestCypherQueryEngine.java:50)
位于com.example.Neo4jDatabaseConnector.showNode(Neo4jDatabaseConnector.java:53)
位于com.example.HelloServlet.doGet(HelloServlet.java:22)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
位于org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
位于org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
位于org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
位于org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
位于org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
位于org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
位于org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:11
String neo4jURL = System.getenv("NEO4J_URL");
        String user="user";
        String password="password";

        try{
        URL url = new URL(neo4jURL);
        String userInfo = url.getUserInfo();
        String[] userDetails = userInfo.split(":");
        user = userDetails[0];
        password = userDetails[1];

        } catch (MalformedURLException e) {
        //
        }