kmc*_*mee 6 gremlin azure-cosmosdb
我希望使用Azure Cosmos DB Graph-API快速插入多个顶点.大多数当前的Microsoft示例逐个创建顶点并为每个顶点执行Gremlin查询,如下所示:
IDocumentQuery<dynamic> query = client.CreateGremlinQuery<dynamic>(graph, "g.addV('person').property('id', 'thomas').property('name', 'Thomas').property('age', 44)");
while (query.HasMoreResults)
{
foreach (dynamic result in await query.ExecuteNextAsync()) {
Console.WriteLine($"\t {JsonConvert.SerializeObject(result)}");
}
Console.WriteLine();
}
query = client.CreateGremlinQuery<dynamic>(graph, "g.addV('person').property('id', 'mary').property('name', 'Mary').property('lastName', 'Andersen').property('age', 39)");
while (query.HasMoreResults)
{
foreach (dynamic result in await query.ExecuteNextAsync()) {
Console.WriteLine($"\t {JsonConvert.SerializeObject(result)}");
}
Console.WriteLine();
}
Run Code Online (Sandbox Code Playgroud)
然而,当我想创建几千个顶点和边缘以初始填充图形时,这不太理想,因为这可能需要一些时间.
这是与Microsoft.Azure.Graphs库v0.2.0-preview
如何有效地将多个顶点一次添加到Cosmos DB中,以便稍后使用Graph API语法进行查询?
我发现种子图的最快方法实际上就是使用Document API.利用这种技术,我已经能够在一台开发机器上每秒插入5500多个顶点/边.诀窍是理解Cosmos对边缘和顶点的期望格式.只需通过gremlin API向图表添加几个顶点和边,然后通过转到Azure中的Data Explorer并执行文档查询来检查这些文档的格式SELECT * FROM c.
在工作中,我构建了一个轻型ORM,它使用反射来获取边和顶点的POCO,并将它们转换为您在门户中看到的格式.我希望尽快开源,此时我很可能会发布一个Nuget包和随附的博客文章.希望在此期间,这将有助于指明您正确的方向,如果您对此方法有更多疑问,请告诉我.
| 归档时间: |
|
| 查看次数: |
2138 次 |
| 最近记录: |