private void createEdge(List<ODocument> documents, OClass edgeClass) { OrientGraph tx = null; try { tx = new OrientGraphFactory(getDatabase().getURL()).getTx(); for (ODocument createTo : documents) { tx.addEdge( null, tx.getVertex(documentModel.getObject().getIdentity()), tx.getVertex(createTo.getIdentity()), edgeClass.getName()); } } finally { if (tx != null) tx.shutdown(); } }
public static void createGraphDatabase() { OrientGraph graphDB = null; try { OServerAdmin admin = new OServerAdmin(URL_DB); admin.connect(ADMINISTRATOR_NAME, ADMINISTRATOR_PWD); if (admin.existsDatabase()) admin.dropDatabase(); admin.createDatabase("graph", "local"); graphDB = new OrientGraph(URL_DB, USERNAME, PASSWORD); graphDB.startTransaction(); Vertex root = graphDB.addVertex(null); root.setProperty(NAME, "Plant"); root.setProperty(DESCRIPTION, "This is the Plant"); Vertex cell = graphDB.addVertex(null); cell.setProperty(NAME, "Cell 1"); cell.setProperty(DESCRIPTION, "This is the Production Cell 1"); graphDB.addEdge(null, root, cell, CONTAINMENT_EDGE); Vertex cellComponent = graphDB.addVertex(null); cellComponent.setProperty(NAME, "Cell Element A1"); cellComponent.setProperty(DESCRIPTION, "This is an element of the production cell 1"); graphDB.addEdge(null, cell, cellComponent, COMPONENT_EDGE); cell = graphDB.addVertex(null); cell.setProperty(NAME, "Cell 2"); cell.setProperty(DESCRIPTION, "This is the Production Cell 2"); graphDB.addEdge(null, root, cell, CONTAINMENT_EDGE); cellComponent = graphDB.addVertex(null); cellComponent.setProperty(NAME, "Cell Element B1"); cellComponent.setProperty(DESCRIPTION, "This is an element of the production cell 2"); graphDB.addEdge(null, cell, cellComponent, COMPONENT_EDGE); String filePath = "./src/test/resources/file.pdf"; Vertex binaryVertex = graphDB.addVertex(null); binaryVertex.setProperty(NAME, "NoSQL Definition (single binary record)"); binaryVertex.setProperty(BINARY_DATA, loadFile(graphDB.getRawGraph(), filePath)); binaryVertex = graphDB.addVertex(null); binaryVertex.setProperty(NAME, "NoSQL Definition (multiple binary record)"); binaryVertex.setProperty(BINARY_DATA, loadFile(graphDB.getRawGraph(), filePath, 50000)); root = graphDB.addVertex(null); root.setProperty(NAME, "SimpleVertex"); Vertex prop = graphDB.addVertex(null); prop.setProperty(VALUE, new Date()); graphDB.addEdge(null, root, prop, CREATION_DATE_EDGE); prop = graphDB.addVertex(null); prop.setProperty(VALUE, loadFile(graphDB.getRawGraph(), filePath, 50000)); graphDB.addEdge(null, root, prop, FILE_EDGE); prop = graphDB.addVertex(null); prop.setProperty( VALUE, "This is a simple vertex with three properties: this description, a file and a date"); graphDB.addEdge(null, root, prop, DESCRIPTION); graphDB.stopTransaction(Conclusion.SUCCESS); graphDB.shutdown(); } catch (Exception e) { System.err.println( "An error occured during the creation of the database " + URL_DB + ": " + e.getMessage()); e.printStackTrace(); if (graphDB != null) graphDB.stopTransaction(Conclusion.FAILURE); } finally { if (graphDB != null) graphDB.shutdown(); } }