假设我有一个包含三个不同年级学生的图表。
示例图:
<http://some/graph#John_Doe> rdf:type <http://some/graph/ontology#Student>
<http://some/graph#John_Doe> <http://some/graph#hasGrade> <http://some/graph#Grade_3>
<http://some/graph#Grade_3> rdf:type <http://some/graph/ontology#Grade>
我想为班级Grade的每个实例创建一个名为GradeStrength的属性,以存储该年级的学生人数。
对于上面的例子,它看起来像:
<http://some/graph#Grade_3> <http://some/graph#gradeStrength> 1^^xsd:integer
目前我使用以下两个单独的查询来执行此操作 -
- 在图表上运行 SELECT + GROUP BY 查询以获取每个年级的计数
- 遍历 1. 的结果行以创建一串三元组
- 在图上运行 INSERT DATA 更新查询
如何通过使用 INSERT 和 GROUP BY 构造的单个 SPARQL/Update 查询来实现这一点?我尝试编写这样的查询,但在 Blazegraph 中失败了。