带有绑定的SPARQL错误

问题描述 投票:1回答:1

我认为我发现了SPARQL的BIND功能存在错误。我正在http://dbpedia.org/snorql/

中运行

请考虑以下代码:

SELECT DISTINCT ?label ?companyShort
WHERE{
        ?org rdf:type dbo:Company ;
            rdfs:label ?label .        
        #BIND (UCASE(SUBSTR(?label,1,3)) as ?companyShort)
        filter langMatches( lang(?label), "EN" )
        filter(?label="About.com"@en)
}

这的行为符合预期。现在,删除BIND上的注释,结果poof消失。如果将某些字符串操作绑定到另一个变量,结果为什么会消失?

sparql rdf dbpedia
1个回答
0
投票

其他人可能会提供此行为的原因,但是您可以通过将标签过滤器更改为str(?label)="About.com"来解决此问题,因此查询如下:

SELECT DISTINCT ?label ?companyShort
WHERE{
        ?org rdf:type dbo:Company ;
            rdfs:label ?label .        
        BIND (UCASE(SUBSTR(?label,1,3)) as ?companyShort)
        filter langMatches( lang(?label), "EN" )
        filter(str(?label)="About.com")
}
© www.soinside.com 2019 - 2024. All rights reserved.