use of com.orientechnologies.orient.graph.graphml.OGraphMLReader in project orientdb by orientechnologies.
the class OGremlinConsoleTest method testGraphMLImportIgnoreEAttribute.
@Test
public void testGraphMLImportIgnoreEAttribute() throws IOException {
final String INPUT_FILE = "src/test/resources/graph-example-fromexport.xml";
String dbUrl = "memory:testGraphMLImportIgnoreEAttribute";
new OGraphMLReader(new OrientGraphNoTx(dbUrl)).defineEdgeAttributeStrategy("friend", new OIgnoreGraphMLImportStrategy()).inputGraph(INPUT_FILE);
ODatabaseDocumentTx db = new ODatabaseDocumentTx(dbUrl);
db.open("admin", "admin");
try {
List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>("select from E"));
Assert.assertFalse(result.isEmpty());
for (ODocument d : result) {
Assert.assertFalse(d.containsField("friend"));
}
} finally {
db.close();
}
}
use of com.orientechnologies.orient.graph.graphml.OGraphMLReader in project orientdb by orientechnologies.
the class OGremlinConsoleTest method testGraphMLImportRenameVAttribute.
@Test
public void testGraphMLImportRenameVAttribute() throws IOException {
final String INPUT_FILE = "src/test/resources/graph-example-fromexport.xml";
String dbUrl = "memory:testGraphMLImportRenameVAttribute";
final OrientGraphNoTx graph = new OrientGraphNoTx(dbUrl);
try {
new OGraphMLReader(graph).defineVertexAttributeStrategy("__type__", new ORenameGraphMLImportStrategy("t")).inputGraph(INPUT_FILE);
ODatabaseDocumentTx db = new ODatabaseDocumentTx(dbUrl);
db.open("admin", "admin");
try {
List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>("select from Person"));
Assert.assertFalse(result.isEmpty());
for (ODocument d : result) {
Assert.assertTrue(d.containsField("t"));
Assert.assertFalse(d.containsField("__type__"));
}
} finally {
db.close();
}
} finally {
graph.shutdown();
}
}
use of com.orientechnologies.orient.graph.graphml.OGraphMLReader in project orientdb by orientechnologies.
the class OGremlinConsoleTest method testGraphMLImportDirect.
@Test
public void testGraphMLImportDirect() throws IOException {
final String INPUT_FILE = "src/test/resources/graph-example-fromexport.xml";
String dbUrl = "memory:testGraphMLImportDirect";
new OGraphMLReader(new OrientGraphNoTx(dbUrl)).inputGraph(INPUT_FILE);
ODatabaseDocumentTx db = new ODatabaseDocumentTx(dbUrl);
db.open("admin", "admin");
try {
boolean foundTypeVAttr = false;
boolean foundFriendEAttr = false;
List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>("select from V"));
Assert.assertFalse(result.isEmpty());
for (ODocument d : result) {
if (d.containsField("__type__"))
foundTypeVAttr = true;
}
Assert.assertTrue(foundTypeVAttr);
result = db.query(new OSQLSynchQuery<ODocument>("select from E"));
Assert.assertFalse(result.isEmpty());
for (ODocument d : result) {
if (d.containsField("friend"))
foundFriendEAttr = true;
}
Assert.assertTrue(foundFriendEAttr);
} finally {
db.close();
}
}
use of com.orientechnologies.orient.graph.graphml.OGraphMLReader in project orientdb by orientechnologies.
the class OGremlinConsoleTest method testGraphSONImport.
@Test
public void testGraphSONImport() throws IOException {
final String INPUT_FILE = "src/test/resources/graph-example-fromexport.xml";
String dbUrl1 = "memory:testGraphSONImport1";
String dbUrl2 = "memory:testGraphSONImport2";
final OrientGraphNoTx g1 = new OrientGraphNoTx(dbUrl1);
new OGraphMLReader(g1).inputGraph(INPUT_FILE);
// EXPORT IN GRAPHSON FORMAT
final ByteArrayOutputStream output = new ByteArrayOutputStream();
new GraphSONWriter(g1).outputGraph(output, null, null, GraphSONMode.NORMAL);
final OrientGraphNoTx g2 = new OrientGraphNoTx(dbUrl2);
ByteArrayInputStream is = new ByteArrayInputStream(output.toByteArray());
new OGraphSONReader(g2).inputGraph(is);
ODatabaseDocumentTx db = new ODatabaseDocumentTx(dbUrl2);
db.open("admin", "admin");
try {
boolean foundTypeVAttr = false;
boolean foundFriendEAttr = false;
List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>("select from V"));
Assert.assertFalse(result.isEmpty());
for (ODocument d : result) {
if (d.containsField("__type__"))
foundTypeVAttr = true;
}
Assert.assertTrue(foundTypeVAttr);
result = db.query(new OSQLSynchQuery<ODocument>("select from E"));
Assert.assertFalse(result.isEmpty());
for (ODocument d : result) {
if (d.containsField("friend"))
foundFriendEAttr = true;
}
Assert.assertTrue(foundFriendEAttr);
} finally {
db.close();
}
}
use of com.orientechnologies.orient.graph.graphml.OGraphMLReader in project orientdb by orientechnologies.
the class OGremlinConsole method importDatabase.
@Override
@ConsoleCommand(description = "Import a database into the current one", splitInWords = false)
public void importDatabase(@ConsoleParameter(name = "options", description = "Import options") String text) throws IOException {
checkForDatabase();
final List<String> items = OStringSerializerHelper.smartSplit(text, ' ');
final String fileName = items.size() <= 0 || (items.get(1)).charAt(0) == '-' ? null : items.get(1);
final String optionsAsString = fileName != null ? text.substring((items.get(0)).length() + (items.get(1)).length() + 1).trim() : text;
final Map<String, List<String>> options = parseOptions(optionsAsString);
final String format = options.containsKey("-format") ? options.get("-format").get(0) : null;
if ((format != null && format.equalsIgnoreCase("graphml")) || (fileName != null && (fileName.endsWith(".graphml") || fileName.endsWith(".xml")))) {
// GRAPHML
message("\nImporting GRAPHML database from " + fileName + " with options (" + optionsAsString + ")...");
try {
final OrientGraph g = (OrientGraph) OrientGraphFactory.getTxGraphImplFactory().getGraph(currentDatabase);
g.setUseLog(false);
g.setWarnOnForceClosingTx(false);
final long totalEdges = g.countEdges();
final long totalVertices = g.countVertices();
final File file = new File(fileName);
if (!file.exists())
throw new ODatabaseImportException("Input file '" + fileName + "' not exists");
InputStream is = new FileInputStream(file);
if (fileName.endsWith(".zip"))
is = new ZipInputStream(is);
else if (fileName.endsWith(".gz"))
is = new GZIPInputStream(is);
try {
new OGraphMLReader(g).setOptions(options).setOutput(new OCommandOutputListener() {
@Override
public void onMessage(final String iText) {
System.out.print("\r" + iText);
}
}).inputGraph(is);
g.commit();
currentDatabase.commit();
message("\nDone: imported %d vertices and %d edges", g.countVertices() - totalVertices, g.countEdges() - totalEdges);
} finally {
is.close();
}
} catch (ODatabaseImportException e) {
printError(e);
}
} else if ((format != null && format.equalsIgnoreCase("graphson")) || (fileName != null && (fileName.endsWith(".graphson")))) {
// GRAPHSON
message("\nImporting GRAPHSON database from " + fileName + " with options (" + optionsAsString + ")...");
try {
final OrientGraph g = (OrientGraph) OrientGraphFactory.getTxGraphImplFactory().getGraph(currentDatabase);
g.setUseLog(false);
g.setWarnOnForceClosingTx(false);
final long totalEdges = g.countEdges();
final long totalVertices = g.countVertices();
final File file = new File(fileName);
if (!file.exists())
throw new ODatabaseImportException("Input file '" + fileName + "' not exists");
InputStream is = new FileInputStream(file);
if (fileName.endsWith(".zip")) {
is = new ZipInputStream(is);
} else if (fileName.endsWith(".gz")) {
is = new GZIPInputStream(is);
}
try {
new OGraphSONReader(g).setOutput(new OCommandOutputListener() {
@Override
public void onMessage(final String iText) {
System.out.print("\r" + iText);
}
}).inputGraph(is, 10000);
// new OGraphMLReader(g).setOptions(options).inputGraph(g, fileName);
g.commit();
currentDatabase.commit();
message("\nDone: imported %d vertices and %d edges", g.countVertices() - totalVertices, g.countEdges() - totalEdges);
} finally {
is.close();
}
} catch (ODatabaseImportException e) {
printError(e);
}
} else if (format == null)
super.importDatabase(text);
else
throw new IllegalArgumentException("Format '" + format + "' is not supported");
}
Aggregations