gpt4 book ai didi

azure - 如何在 Azure Cosmos DB 中导入图形数据库的数据?

转载 作者:行者123 更新时间:2023-12-01 06:01:18 25 4
gpt4 key购买 nike

文档表明,有一个数据迁移工具仅在将数据导入 Azure Cosmos DB 以便与 DocumentDB API 配合使用时起作用,但不适用于表 API 或图形 API。那么,有没有办法从其他来源导入数据以在CosmosDB图数据库中使用?

最佳答案

我通过下载 Graph API 演示项目来满足这种需求

https://github.com/Azure-Samples/azure-cosmos-db-graph-dotnet-getting-started

然后使用文本文件手动构建查询:

--INIT
--g.V().drop()


--CREATE
------
--vertex
g.addV('person').property('id', 'dave').property('firstName', 'Dave').property('lastName', 'Andersen').property('age', 49)
g.addV('person').property('id', 'mary').property('firstName', 'Mary').property('lastName', 'Andersen').property('age', 39)
--edge
g.V('dave').addE('knows').to(g.V('mary'))


--READ
--filter
--g.V().hasLabel('person').order().by('firstName', decr)
--project
--g.V().hasLabel('person').values('firstName')
--traverse
--g.V('thomas').outE('knows').inV().hasLabel('person')
--loop
--g.V('thomas').repeat(out()).until(has('id', 'robin')).path()
--g.V().count()
--g.E().count()


--UPDATE
--------
--g.V('thomas').property('age', 44)


--DELETE
--dropedge
--g.V('thomas').outE('knows').where(inV().has('id', 'mary')).drop()
--dropvertex
--g.V('thomas').drop()

然后从代码中循环遍历它:

string queriesPath = AppDomain.CurrentDomain.BaseDirectory + "queries.txt";

var queries = File.ReadAllLines(queriesPath).Where(l => !l.StartsWith("--") && !string.IsNullOrWhiteSpace(l));

foreach (var query in queries)
{
Console.WriteLine("Running " + query);

IDocumentQuery<dynamic> gremlinQuery = client.CreateGremlinQuery<dynamic>(graph, query);
while (gremlinQuery.HasMoreResults)
{
foreach (dynamic result in await gremlinQuery.ExecuteNextAsync())
{
Console.WriteLine($"\t {JsonConvert.SerializeObject(result)}");
}
}

Console.WriteLine();
}

关于azure - 如何在 Azure Cosmos DB 中导入图形数据库的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45018383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com