#orientdb
#orientdb
Вопрос:
Я пытаюсь напечатать запрос через консоль Java, но ничего не выходит. это мой код, который может мне помочь. Я новичок в OrientDB и только учусь. Мне нужен запрос, чтобы узнать кратчайший путь между двумя узлами и распечатать этот запрос на консоли Java. Это не дает мне никаких ошибок, но ничего не выходит.
public class Graph {
private static final String DB_PATH = "C:/OrientDataBase/shortest_path";
static OrientGraphNoTx DBGraph;
static OrientGraphFactory factory;
public static void main(String[] args) {
factory = new OrientGraphFactory("plocal:" DB_PATH);
DBGraph = factory.getNoTx();
HashMap<String, Vertex> nodes = new HashMap<String, Vertex>();
for(int i = 0; i <= 1000; i )
{
Vertex v = DBGraph.addVertex("class:V");
v.setProperty("vertexID", i "");
nodes.put(i "", v);
}
try(BufferedReader br = new BufferedReader(new FileReader("C:/OrientDataBase/sp1.csv"))) {
int i=0;
for(String line; (line = br.readLine()) !=null ; ) {
if(i==0){
i ;
}
else{
String[] vertices = line.split(",");
String vertex1 = vertices[0];
String vertex2 = vertices[1];
String weight= vertices[2];
vertex2 = vertex2.replaceAll(" ", "");
Vertex v1 = nodes.get(vertex1);
Vertex v2 = nodes.get(vertex2);
Edge eLives = DBGraph.addEdge(null, v1, v2, "belongs");
eLives.setProperty("weight", weight);
System.out.println(v1 "," v2 "," weight);
String query = "select expand(shortestPath) from (select shortestPath(#10:0,#10:2,BOTH))";
Iterable<OrientVertex> res = DBGraph.command(new OCommandSQL(query)).execute();
while(res.iterator().hasNext()){
OrientVertex v = res.iterator().next();
System.out.println("rid: " v.getId().toString() "tn:" v.getProperty("n"));
}
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
Комментарии:
1. Пожалуйста, не вандализируйте свой пост. Обратите внимание, что как только вы размещаете вопрос или ответ на этом сайте, эти публикации становятся частью коллективных усилий других людей, которые также внесли свой вклад в этот контент. Сообщения, которые потенциально полезны для других, не должны удаляться, за исключением чрезвычайных обстоятельств. Даже если сообщение больше не полезно для первоначального автора, эта информация по-прежнему полезна для других, которые могут столкнуться с подобными проблемами в будущем — такова основополагающая философия Stack Exchange.