使用ColdFusion连接到neo4j

jpm*_*yob 5 coldfusion neo4j

有没有人使用ColdFusion成功连接到neo4j?

我可以使用本指南作为起点连接到neo4j 1.6.1:http://ghostednotes.com/2010/04/29/using-neo4j-graph-databases-with-coldfusion .然而,这是一个短暂的成功.我已经卸载了neo4j 1.6.1并安装了1.7.

我现在在Windows XP上运行Apache,CF 9.0.1作为本地开发盒.我添加...\neo4j-community-1.7\lib到我的CF类路径和库在CF服务器的Java类路径中列出.neo4j运行正常,因为我可以使用他们的管理员界面:http:// localhost:7474/webadmin /#.CF和Apache也运行良好.我每天都用它们.

虽然下面的代码有效,但我真的很想"看看"使用neo4j web管理员发生了什么.因此,我可以在使用CF应用程序中的数据时协调我的学习neo4j.

代码:(作品)

    dbroot = "/tmp/neo4jtest1/";
    graphDb = createObject('java', 'org.neo4j.kernel.EmbeddedGraphDatabase');
    graphDb.init( dbroot & 'var/myFirstGraphDB');
Run Code Online (Sandbox Code Playgroud)

所以我尝试连接到neo4j db graph.db.但是代码失败了.

代码:(失败)

    graphDb = createObject('java', 'org.neo4j.kernel.EmbeddedGraphDatabase');
    graphDb.init( dbroot & 'graph.db');
Run Code Online (Sandbox Code Playgroud)

错误:

    Object instantiation exception.
    An exception occurred while instantiating a Java object. The class must not be an interface or an abstract class. Error: ''. 
Run Code Online (Sandbox Code Playgroud)

如果我删除它".",graph.db在neo4j数据文件夹创建一个"graphdb",并成功连接到它.但是,他们的管理员无法查看该数据库:(

我是新手,所以请愚蠢地回答你的问题.

otu*_*man 4

好吧,我认为你想要实现的目标是不可能的。无法在 CF 中访问 Neo4J(通过 Java)并使管理界面正常工作(适用警告 1)。

如果您已将 Neo4J 包的所有 jar 放入 Adob​​e CF 中,那么 Neo4J 管理界面很可能正在查看它自己的 Neo4J 文件系统。当您创建嵌入式服务器时,它不会连接到同一数据库,因为它根本无法连接。

嵌入式 Neo4J 不像标准数据库连接那样工作。一个嵌入式 Neo4J 读取和写入一个目录位置(关键词:目录,它不会打开单个文件,而是打开一大堆文件)。任何两个 Neo4J 实例都不能访问相同的目录位置(注意事项 2 适用)。

好的,注意事项:

1- 理论上,可以通过编程方式手动启动管理界面,以便它使用您通过 Java 创建的嵌入式服务器。Java 代码看起来很简单(取自使用带有嵌入式数据库的服务器(包括 Web 管理)):

// Create your embedded graph db somewhere
src = CreateObject("java", "org.neo4j.server.WrappingNeoServerBootstrapper")
      .init(graphDb);
srv.start();
// The server is now running
// until we stop it:
srv.stop();
Run Code Online (Sandbox Code Playgroud)

我没有得到这个工作,主要是因为管理服务器有一堆与我的设置的其余部分不兼容的依赖项,所以我无法建议上面的工作效果如何。

2-可以让 1 个读/写 Neo4J 访问一个位置,然后让多个只读 Neo4J (EmbeddedReadOnlyGraphDatabase) 读取同一位置(但我从未尝试过)。

您可以选择使用 REST 接口 - 手动或通过Neo4J Java REST 绑定(虽然有点慢)。

在深入研究之前,可能值得阅读部署方案文档。

至少有一个 CF/Neo4J 桥接器,但它相当不完整。我正在开发一个,但我需要弄清楚是否可以将其开源!