使用java API将数据从oracle导入neo4j

时间:2013-10-04 07:52:28

标签: neo4j

请您分享使用neo4j从Oracle数据库表数据生成图表的任何链接/示例源代码。

我的用例是oracle架构表名称作为节点,列是属性。并且还需要在树结构中进行基因图形化。

3 个答案:

答案 0 :(得分:3)

确保在使用tx.success(),tx.finish()创建节点后提交事务。

如果您仍然没有看到节点,请发布您的代码和/或任何例外情况。

答案 1 :(得分:1)

使用JDBC提取oracle db数据。然后使用Java API构建相应的节点:

GraphDatabaseService db;

try(Transaction tx = db.beginTx()){
    Node datanode = db.createNode(Labels.TABLENAME);
    datanode.setProperty("column name", "column value"); //do this for each column.
    tx.success();
}

还记得扩展您的交易。我倾向于每次交易使用大约1500个创建,它对我来说很好,但你可能不得不玩它一点点。

只需执行SELECT * FROM表LIMIT 1000 OFFSET X * 1000,其中X是您之前运行查询的次数的值。然后将这1000条记录保存在集合中的某个位置,以便您可以使用它们构建节点。重复此操作,直到处理完数据库中的每条记录为止。

不确定你的意思“并且还需要在树形结构中进行图形化。”,如果你的意思是你想将外键转换为关系,请记住只是索引键而不是添加FK作为属性,创建与原始节点的关系。您可以通过索引查找找到它。或者您可以使用HashMap创建自己的小内存索引。但是因为你已经在内存中存储了1000条sql记录,而且你正在构建事务......你需要对内存有点小心,具体取决于你的JVM设置。

答案 2 :(得分:0)

您需要自己编写此ETL过程的代码。请按照以下

  1. 按照this article.
  2. 撰写您的第一个Neo4j示例
  3. 了解如何model with graphs
  4. 有多种与Neo4j using Java.交谈的方式选择适合您需求的方式。