【发布时间】:2012-04-20 17:42:33
【问题描述】:
这里有没有人使用 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 Server Java 类路径中。 neo4j 运行良好,因为我可以使用他们的管理员界面:http://localhost:7474/webadmin/#。 CF 和 Apache 也运行良好。我每天都使用它们。
虽然下面的代码有效,但我真的很想“看看”使用 neo4j 网络管理员发生了什么。所以我可以在 CF 应用程序中使用数据的同时协调我学习 neo4j。
代码:(作品)
dbroot = "/tmp/neo4jtest1/";
graphDb = createObject('java', 'org.neo4j.kernel.EmbeddedGraphDatabase');
graphDb.init( dbroot & 'var/myFirstGraphDB');
所以我尝试连接到 neo4j db graph.db 。但是代码失败了。
代码:(失败)
graphDb = createObject('java', 'org.neo4j.kernel.EmbeddedGraphDatabase');
graphDb.init( dbroot & 'graph.db');
错误:
Object instantiation exception.
An exception occurred while instantiating a Java object. The class must not be an interface or an abstract class. Error: ''.
如果我删除graph.db 中的".",它确实会在neo4j 数据文件夹中创建一个“graphdb”,并成功连接到它。但是,他们的管理员无法查看该数据库:(
我是新手,所以请你的回答低一点。
【问题讨论】:
-
所以基本问题是你可以创建一个graphdb文件,但你不能创建一个扩展名为.db的文件是吗?并且错误发生在 init() 上。这将表明“类”是 init 所需的。您是否应该传递一个“扩展”论点?您引用的示例中不包含 .db。
-
我不确定马克 - 在这一点上,我试图在连接到 DSN 和向它提供查询之间画出相似之处 - 满足 neo4j 的需求......有趣的是,那个 graphdb 发生了一些事情连接,它现在也抛出了那个错误......如果我只是添加一个“2”所以我要去“graphdb2” - 它会创建一个新的数据库文件夹等,并成功地进行操作 - 但我相信这会改变太 - 它一直被“锁定”或其他东西 - 我只是不知道为什么......
标签: coldfusion neo4j