问题标签 [azure-cosmosdb-gremlinapi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure-cosmosdb - Azure Cosmos Graph 在顶点属性中嵌套边顶点
我有两个顶点:
1)顶点1:{ id: 1, name: “john” }
2)顶点2:{ id: 2, name: “mary” }
从 1 到 2 有一条边,名为“children”。
是否可以像这样使用 gremlin 返回嵌套在 1 中的 2?
谢谢!
在@noam621 的帮助下我的解决方案 ---------------------------------
它返回以下对象:
.union 与 project 是将所有对象合并到一个对象中的关键。valueMap(true).fold() 是获取边缘中所有对象的基础,如果边缘不返回任何顶点,则合并有助于使用默认值。
由于某些 Azure Cosmos gremlin 限制,只能将值作为数组值获取。因此,我在我的应用程序代码中最终确定了对象格式。现在没关系。
谢谢!
azure - 根据边属性选择顶点
我有一个复杂的场景。所以我试图创建一个如下示例。
您可能已经观察到它student1
属于 2 个类(class1 和 class4)。并student1
写入登录log1
。class1
但是如果我运行这个查询g.V('111').as('l').in().as('s').in().as('c').project('log','student','class').by(select('l').by('name')).by(select('s').by('name')).by(select('c').by('name'))
它返回重复数据,如下所示。
预期的行为是只返回来自 class1 的日志。为了实现这一点,我向边缘添加了一个属性class_id
,logs
但不确定如何应用条件来返回去重结果,即返回属于同一类的日志。
非常感谢您对查询的任何帮助。
node.js - 了解 CosmosDB Gremlin API 中的“x-ms-request-charge”和“x-ms-total-request-charge”
我正在使用gremlin (version 3.4.6)
包来查询针对 Gremlin (Graph) API 的 Cosmos DB 帐户。代码相当简单:
代码工作得很好,我得到了结果。结果对象具有如下attributes
所示的属性:
如果您注意到,有两件事与请求费用相关(基本上我的查询有多贵):x-ms-request-charge
和x-ms-total-request-charge
.
我对此有三个问题:
- 两者有什么区别?
- 我注意到它
x-ms-request-charge
总是以非零值的形式出现0
。x-ms-total-request-charge
这是为什么?和 - 我应该使用哪个值来计算请求费用?我的猜测是使用
x-ms-total-request-charge
它,因为它是一个非零值。
在我们讨论的过程中,如果有人能告诉我和之间的区别,我将不胜x-ms-server-time-ms
感激x-ms-total-server-time-ms
。
python - 在 Azure 函数中使用 python 进行 Gremlin 操作
Is 正在尝试使用 Python(Http 触发器)创建 Azure 函数以从 gremlin 图中获取数据。我使用 from gremlin_python.driver import client 作为 clientDriver 来导入库,它在本地运行良好。
当我将相同的代码部署到 Azure 门户并运行代码时,出现 500 内部错误。尝试一些更改后,我可以看到“从 gremlin_python.driver 导入客户端作为 clientDriver”导入语句不起作用(当我删除这段代码时)
当我们在 VSCode 中运行代码时,我们正在创建一个虚拟环境并安装 gremlin 包,因此它在本地而不是在 Azure 门户中工作。
有人可以帮我解决这个问题。
azure-cosmosdb - 使用特定于区域的 Gremlin API 端点时 Cosmos Graph DB 自动故障转移?
按照本文中的建议,我已将我的应用程序配置为使用特定于区域的 Gremlin 端点,以便始终将读取和写入定向到同一数据中心中的主副本(Cosmos DB 帐户是多主的,并且部署了应用程序到 AKS 上的每个区域)。我的问题是:如果发生区域性 Cosmos DB 中断,使用特定于区域的 Gremlin 连接字符串时会出现什么行为?引用受中断影响的区域端点的应用程序是否会自动重定向到 Cosmos 副本健康的区域?
azure-cosmosdb - 对于 Cosmos DB 和/或图形数据库,我是否可以让 O(1000s) 个顶点连接到单个顶点和 O(1000s) 个顶点属性?
我有一个具有以下模式的图表:
我在这里有几个设计问题:
有多少执行文档可以挂在单个顶点上而不影响性能?例如,每个“步骤”都可能有数百个“执行”。我使用两条边来连接它们——“has_runs”(来自步骤→执行)和“execution_step”(来自执行→步骤)。
图数据库(Cosmos DB 或任何图数据库)是否旨在处理与单个顶点关联的数千个顶点和边?
每个“执行”都有(理论上)与之相关的无限属性,但它可能是 10 < x < 100 个属性。那样可以么?图形数据库是否支持顶点外的大量属性?
我见过的所有演示似乎都有 < 10 个属性。
gremlin - 在 gremlin 查询中显示特定组织的员工列表及其当前状态
以上是获取具有当前活动状态的员工列表的查询,这里我正在获取具有当前活动状态的员工列表,但我还需要那些仍然没有任何状态的员工,我需要一个查询来获取所有员工列表及其状态(如果存在),如果特定员工没有状态,这些员工列表也应在此列表中显示为空状态。
gremlin - 如何使用 gremlin QL 递归地获取所有子顶点及其边缘(两者的属性)?
我发现下面的查询非常适合获取给定单个顶点的所有子顶点和边及其属性
但是我如何递归地执行上述操作,即对于给定的顶点,它将遍历其所有子节点并返回每个(顶点)及其传出边及其所有属性(顶点和边)......即某些东西像上面一样,但是在它找到的每个子顶点的循环中......有没有办法使用 gremlin 来做到这一点?