如何在 FIWARE orion 中的两个实体之间创建连接查询?
How to create a join query between two entities in FIWARE orion?
我有两个具有多对一关系的实体 A(帖子)和 B(用户),我想做一个 SQL 连接来一起列出帖子和用户。
我尝试了以下查询,但它只是 returns 一个空数组。
我找不到与此相关的任何其他文档,所有教程仅引用一个 id。
https://{{orion}}/v2/entities?q=Post.createdBy==User.id&options=count,keyValues&limit=100
我也试过这个变体,但结果相同:
https://{{orion}}/v2/entities?q=createdBy==id&options=count,keyValues&limit=100
并且我检查了至少有一个实体与我手动检查的匹配
https://{{orion}}/v2/entities?q=createdBy==urn:ngsi-ld:User:78bc5cac26d1b3abe27cb2cf94b1015a3710958f
这个查询上面returns一个实体。
| Post | | User |
|------------------| |--------------|
| ID | | ID |
| Type | | Type |
| Message | | Username |
| CreatedBy: UserId|
In orion 数据类型:
"createdBy": {
"type": "Relationship",
"value": "urn:ngsi-ld:User:78bc5cac26d1b3abe27cb2cf94b1015a3710958f",
"metadata": {}
},
简短的回答是,您不能使用 Orion 提供的 NGSI API 进行这种连接操作。
NGSI API面向上下文管理,即以实体及其属性的形式检索和更新上下文信息。它不是设计成 SQL 风格的语言,这会涉及很多复杂性。 Orion 是上下文代理,而不是关系数据库 ;)
幸运的是,这种连接操作可以由客户端完成,对 Orion 进行多次查询。
我有两个具有多对一关系的实体 A(帖子)和 B(用户),我想做一个 SQL 连接来一起列出帖子和用户。 我尝试了以下查询,但它只是 returns 一个空数组。 我找不到与此相关的任何其他文档,所有教程仅引用一个 id。
https://{{orion}}/v2/entities?q=Post.createdBy==User.id&options=count,keyValues&limit=100
我也试过这个变体,但结果相同:
https://{{orion}}/v2/entities?q=createdBy==id&options=count,keyValues&limit=100
并且我检查了至少有一个实体与我手动检查的匹配
https://{{orion}}/v2/entities?q=createdBy==urn:ngsi-ld:User:78bc5cac26d1b3abe27cb2cf94b1015a3710958f
这个查询上面returns一个实体。
| Post | | User |
|------------------| |--------------|
| ID | | ID |
| Type | | Type |
| Message | | Username |
| CreatedBy: UserId|
In orion 数据类型:
"createdBy": {
"type": "Relationship",
"value": "urn:ngsi-ld:User:78bc5cac26d1b3abe27cb2cf94b1015a3710958f",
"metadata": {}
},
简短的回答是,您不能使用 Orion 提供的 NGSI API 进行这种连接操作。
NGSI API面向上下文管理,即以实体及其属性的形式检索和更新上下文信息。它不是设计成 SQL 风格的语言,这会涉及很多复杂性。 Orion 是上下文代理,而不是关系数据库 ;)
幸运的是,这种连接操作可以由客户端完成,对 Orion 进行多次查询。