【发布时间】:2020-05-30 04:21:12
【问题描述】:
我有一个 SPARQL 查询返回我想要的,保存一件事。当我使用 GROUP_CONCAT 时,我会在结果中收到一个空字符串。当分组的值是null 时,我希望它只是返回集中的null。您可以在下面的示例中看到我的?team 结果返回"" 而不是像?end 那样简单地返回null。在空字符串的情况下,我的?person 值实际上是null。有没有办法让?team 也返回null?
SPARQL 查询:
SELECT ?event ?start ?end ?team {
SELECT ?event ?start ?end (GROUP_CONCAT(DISTINCT ?person;SEPARATOR=",") AS ?team) {
?event a cls:Event ;
prop:startDate ?start .
OPTIONAL {
?event prop:endDate ?end .
?event prop:teamMember ?person .
}
FILTER (?start >= "2020-05-25" && ?start < "2020-08-31")
} GROUP BY ?event ?start ?end
} ORDER BY ?start
结果:
| event | start | end | team |
|-------------|------------|------------|--------------------------------------------------------------|
| event:Test1 | 2020-05-27 | | "" |
| event:Test3 | 2020-05-28 | 2020-05-29 | "http://foo.bar/person/smith,http://foo.bar/person/williams" |
| event:Test2 | 2020-05-29 | | "" |
【问题讨论】:
标签: sparql