gpt4 book ai didi

SPARQL - 获取大量可选数据并组合行

转载 作者:行者123 更新时间:2023-12-04 05:25:52 27 4
gpt4 key购买 nike

我想请求一个 field 的房间数量:
这就是我得到的:

ah:room     <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/room/3>     -
ah:room <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/room/ajax-foyer> -
ah:room <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/room/ajaxbalkon> -
ah:room <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/room/bovenzaal> -
ah:room <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/room/foyer> -
ah:room <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/room/grote-repetitielokaal>

接下来,我想获得多行返回。
ah:attachment   <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/attachment/1>   -
ah:attachment <http://data.artsholland.com/venue/04df157e-fc47-4448-83ed-d0a8c577d7dd/attachment/2>

我已经搜索到意识到这一点。找到了 group_concat 解决方案,但我想不通。

my used query in the sparql browser

最佳答案

要获得房间数量,请使用 COUNT运营商。您应该将它与 GROUP BY 结合使用子句,这告诉运算符(operator)将哪些结果聚合在一起。例如:

SELECT ?venue (COUNT(?room) as ?nrOfRooms)
WHERE {
?venue a ah:Venue ;
ah:room ?room .
}
GROUP BY ?venue
GROUP_CONCAT实际上的工作原理非常相似。我没有详细查看您的查询,因此这可能与实际数据的外观不太相符,但大致上,您所做的如下:
SELECT ?venue (GROUP_CONCAT(?attach) as ?attachments)
WHERE {
?venue a ah:Venue ;
ah:room ?room ;
ah:attachment ?attach .
}
GROUP BY ?venue

至于对 OPTIONAL 子句内的变量进行聚合,这应该没有区别。

关于SPARQL - 获取大量可选数据并组合行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13220435/

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