Запрос в OrientDB

#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.

Ответ №1:

Я попробовал ваш код, и вам нужно поставить галочки, когда вы выполняете запрос, чтобы он стал:

 String query = "select expand(shortestPath) from (select shortestPath(#10:0,#10:2,'BOTH'))";
 

введите описание изображения здесь

Я использовал этот CSV-файл.

введите описание изображения здесь

Надеюсь, это поможет.

С уважением