我的 Java 项目创建了真实的顶点还是不真实的?
My Java project creates real vertex or are irreal?
我对Java和OrientDB的关系有点问题。
首先:我将我的 ETL 与在 OrientDB 中创建的数据库连接起来。
其次:我将我的 CSV 数据导入我的 Java 项目。
第三:我可以在我的 Java 项目中为 OrientDB 创建顶点和边。
第四:我尝试在数据库顶点和边中引入CSV数据
一切正常,但是当我在 OrientDB 中启动查询时,我看不到数据。
我的问题在哪里?谁能帮帮我?
提前致谢。
代码如下:
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.TransactionalGraph;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.orient.OrientGraph;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class csvToOrientdb {
public static void main(String[] args) {
csvToOrientdb cto = new csvToOrientdb();
cto.run();
}
public void run() {
TransactionalGraph graph = new OrientGraph("plocal:mydb", "admin", "admin");
BufferedReader br = null;
String dato = "";
String csvSplitBy = ";";
int numDumb = 1;
int keyNum = 1;
Vertex Key, DeveloperEmail, CertificatePublicKey, CertificateFingerprint, DeveloperName, CertificateSubjectCommonName;
Edge relacion1, relacion2, relacion3, relacion4, relacion5, relacion6, relacion7, relacion8, relacion9;
try {
for (int i = 0; i < numDumb; i++) {
String csvFile = "C:\Users\DANI\Desktop\dumps\dump_" + i;
try {
br = new BufferedReader(new FileReader(csvFile));
while ((dato = br.readLine()) != null) {
String[] datos = dato.split(csvSplitBy, 15);
Key = graph.addVertex(datos[0]);
Key.setProperty("sha256", datos[1]);
Key.setProperty("packageName", datos[2]);
Key.setProperty("origin", datos[3]);
Key.setProperty("versionCode", datos[4]);
Key.setProperty("certificateValidityGapRoundedYears", datos[10]);
DeveloperEmail = graph.addVertex(datos[5]);
DeveloperName = graph.addVertex(datos[6]);
DeveloperName.setProperty("developerAddress", datos[13]);
DeveloperName.setProperty("developerPrivacy", datos[14]);
DeveloperName.setProperty("developerWeb", datos[7]);
CertificatePublicKey = graph.addVertex(datos[8]);
CertificateFingerprint = graph.addVertex(datos[9]);
CertificateSubjectCommonName = graph.addVertex(datos[11]);
CertificateSubjectCommonName.setProperty("certificateIssuerCommonName", datos[12]);
relacion1 = graph.addEdge(null, CertificateFingerprint, DeveloperEmail, "used_by ");
relacion2 = graph.addEdge(null, DeveloperEmail, Key, "developer_of ");
relacion3 = graph.addEdge(null, CertificateFingerprint, Key, "sign ");
relacion4 = graph.addEdge(null, DeveloperName, DeveloperEmail, "has_email ");
relacion5 = graph.addEdge(null, CertificateSubjectCommonName, CertificateFingerprint, "in_cert ");
relacion6 = graph.addEdge(null, CertificateSubjectCommonName, CertificatePublicKey, "appears_with ");
relacion7 = graph.addEdge(null, CertificatePublicKey, CertificateFingerprint, "in_cert ");
relacion8 = graph.addEdge(null, DeveloperEmail, CertificateFingerprint, "sign_with ");
relacion9 = graph.addEdge(null, CertificatePublicKey, CertificateSubjectCommonName, "sign_in ");
keyNum++;
System.out.println("Dumb done numer : " + i + " keys: " + keyNum);
graph.commit();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
graph.rollback();
} finally {
graph.shutdown();
}
}
}
我用这个 csv 试过你的代码
Class_0;one;two;three;four;Class_5;Class_6;seven;Class_8;Class_9;ten;Class_11;twelve;thirteen;fourteen
我可以看到数据了。
希望对您有所帮助。
我对Java和OrientDB的关系有点问题。
首先:我将我的 ETL 与在 OrientDB 中创建的数据库连接起来。
其次:我将我的 CSV 数据导入我的 Java 项目。
第三:我可以在我的 Java 项目中为 OrientDB 创建顶点和边。
第四:我尝试在数据库顶点和边中引入CSV数据
一切正常,但是当我在 OrientDB 中启动查询时,我看不到数据。
我的问题在哪里?谁能帮帮我?
提前致谢。
代码如下:
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.TransactionalGraph;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.orient.OrientGraph;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class csvToOrientdb {
public static void main(String[] args) {
csvToOrientdb cto = new csvToOrientdb();
cto.run();
}
public void run() {
TransactionalGraph graph = new OrientGraph("plocal:mydb", "admin", "admin");
BufferedReader br = null;
String dato = "";
String csvSplitBy = ";";
int numDumb = 1;
int keyNum = 1;
Vertex Key, DeveloperEmail, CertificatePublicKey, CertificateFingerprint, DeveloperName, CertificateSubjectCommonName;
Edge relacion1, relacion2, relacion3, relacion4, relacion5, relacion6, relacion7, relacion8, relacion9;
try {
for (int i = 0; i < numDumb; i++) {
String csvFile = "C:\Users\DANI\Desktop\dumps\dump_" + i;
try {
br = new BufferedReader(new FileReader(csvFile));
while ((dato = br.readLine()) != null) {
String[] datos = dato.split(csvSplitBy, 15);
Key = graph.addVertex(datos[0]);
Key.setProperty("sha256", datos[1]);
Key.setProperty("packageName", datos[2]);
Key.setProperty("origin", datos[3]);
Key.setProperty("versionCode", datos[4]);
Key.setProperty("certificateValidityGapRoundedYears", datos[10]);
DeveloperEmail = graph.addVertex(datos[5]);
DeveloperName = graph.addVertex(datos[6]);
DeveloperName.setProperty("developerAddress", datos[13]);
DeveloperName.setProperty("developerPrivacy", datos[14]);
DeveloperName.setProperty("developerWeb", datos[7]);
CertificatePublicKey = graph.addVertex(datos[8]);
CertificateFingerprint = graph.addVertex(datos[9]);
CertificateSubjectCommonName = graph.addVertex(datos[11]);
CertificateSubjectCommonName.setProperty("certificateIssuerCommonName", datos[12]);
relacion1 = graph.addEdge(null, CertificateFingerprint, DeveloperEmail, "used_by ");
relacion2 = graph.addEdge(null, DeveloperEmail, Key, "developer_of ");
relacion3 = graph.addEdge(null, CertificateFingerprint, Key, "sign ");
relacion4 = graph.addEdge(null, DeveloperName, DeveloperEmail, "has_email ");
relacion5 = graph.addEdge(null, CertificateSubjectCommonName, CertificateFingerprint, "in_cert ");
relacion6 = graph.addEdge(null, CertificateSubjectCommonName, CertificatePublicKey, "appears_with ");
relacion7 = graph.addEdge(null, CertificatePublicKey, CertificateFingerprint, "in_cert ");
relacion8 = graph.addEdge(null, DeveloperEmail, CertificateFingerprint, "sign_with ");
relacion9 = graph.addEdge(null, CertificatePublicKey, CertificateSubjectCommonName, "sign_in ");
keyNum++;
System.out.println("Dumb done numer : " + i + " keys: " + keyNum);
graph.commit();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
graph.rollback();
} finally {
graph.shutdown();
}
}
}
我用这个 csv 试过你的代码
Class_0;one;two;three;four;Class_5;Class_6;seven;Class_8;Class_9;ten;Class_11;twelve;thirteen;fourteen
我可以看到数据了。
希望对您有所帮助。