编写一个 SPARQL 查询,用聚合中的 COUNT 结果构造新的三元组

我正在使用 Protege 中的 snap SParqL 工具,因此要将数据添加到本体中,我必须使用 CONSTRUCT,因为它不支持 INSERT(该工具提供了断言构建回本体的新三元组的选项) .我想计算具有特定值的值并将这些值的计数断言回本体。我创建了一个关于学生和成绩的小测试本体来帮助我解决这个问题。我有以下有效的查询:

class MyScreenmanager(navController:NavigationController){

lateinit var viewModel:MyViewModel = HiltViewModelFactory(
            activity,navController.getBackStackEntry(MyScreen.route)
        ).create(MyViewModel::class.java)
}

这给了我一张表格,每个学生在一个列中,以及他们在下一列中的 A 级数。我接下来要做的是使用 ?tcount 将数据断言回本体。我尝试了各种方法,例如用 CONSTRUCT 替换 SELECT 或使用嵌入式查询:

SELECT ?student (COUNT(?test) AS ?tcount)
WHERE {?student test:tookTest ?test.
       ?test test:hasGrade test:A.}
GROUP BY ?student

我认为问题在于 ?tcount 不在周围查询的范围内。我尝试了几种不同的选项,例如使用 BIND 来 BIND ?tcount 或按 ?tcount 而不是 ?student 分组,但没有运气。

niewenge 回答:编写一个 SPARQL 查询,用聚合中的 COUNT 结果构造新的三元组

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3692.html

大家都在问