Gremlin查询以获取有关子图中所有边的信息

时间:2018-07-27 19:55:50

标签: azure-cosmosdb gremlin

我目前正在使用Azure Gremlin。在这个问题中,我需要在单个API调用中获取有关所有边缘的信息,这样就不必在每个节点上都调用API。 我正在使用以下查询来获取有关节点的所有信息:

g.V('A').repeat(__.inE().simplePath()).emit().dedup().tree()

这里A是子图的根节点。该查询提供了有关节点的所有信息,但请帮助我进行一次查询,以在一次调用中获得子图中的所有边。

预先感谢您:)

1 个答案:

答案 0 :(得分:0)

您的查询完全无效,因为它无效(除非CosmosDB支持hyperedges,我敢肯定情况并非如此)。无论如何,要获得所有优势,

public class DragAndDropTest {  

    @Test
    public void dragAndDropTest(){
        System.setProperty("webdriver.chrome.driver", "C:\\Project\\Selenium\\chromedriver.exe");   
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.seleniumeasy.com/test/drag-and-drop-demo.html");
        driver.manage().window().maximize();
        DragAndDrop dragandDrop = new DragAndDrop(driver);
        dragandDrop.dragAnItem();               
        String droppedText = dragandDrop.droppedItem();
        System.out.println("AfterDrop:" + droppedText); 
        Assert.assertTrue(droppedText.equals("Draggable 1"));
        driver.close();
        driver.quit();  


    }

} 

如果您只想遍历传入边缘:

g.V('A').
  repeat(__.bothE().where(without('e')).store('e').otherV()).
  cap('e')

如果仅对边缘属性感兴趣,则可以添加g.V('A'). repeat(__.inE().where(without('e')).store('e').outV()). cap('e')