p.lokeshreddy
p.lokeshreddy

Reputation: 45

Importing data from oracle to neo4j using java API

Can u please share any links/sample source code for generating the graph using neo4j from Oracle database tables data .

And my use case is oracle schema table names as Nodes and columns are properties. And also need to genetate graph in tree structure.

Upvotes: 1

Views: 1784

Answers (3)

Pieter-Jan
Pieter-Jan

Reputation: 1685

Use JDBC to extract your oracle db data. Then use the Java API to build the corresponding nodes :

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();
}

Also remember to scale your transactions. I tend to use around 1500 creates per transaction and it works fine for me, but you might have to play with it a little bit.

Just do a SELECT * FROM table LIMIT 1000 OFFSET X*1000 with X being the value for how many times you've run the query before. Then keep those 1000 records stored somewhere in a collection or something so you can build your nodes with them. Repeat this until you've handled every record in your database.

Not sure what you mean with "And also need to genetate graph in tree structure.", if you mean you'd like to convert foreign keys into relationships, remember to just index the key and in stead of adding the FK as a property, create a relationship to the original node in stead. You can find it by doing an index lookup. Or you could just create your own little in-memory index with a HashMap. But since you're already storing 1000 sql records in-memory, plus you are building the transaction... you need to be a bit careful with your memory depending on your JVM settings.

Upvotes: 1

Luanne
Luanne

Reputation: 19373

Make sure you commit the transaction after creating the nodes with tx.success(), tx.finish().

If you still don't see the nodes, please post your code and/or any exceptions.

Upvotes: 3

Aravind Yarram
Aravind Yarram

Reputation: 80194

You need to code this ETL process yourself. Follow the below

  1. Write your first Neo4j example by following this article.
  2. Understand how to model with graphs.
  3. There are multiple ways of talking to Neo4j using Java. Choose the one that suits your needs.

Upvotes: 0

Related Questions