【发布时间】:2019-10-31 13:19:36
【问题描述】:
我想我在 Virtuoso 中发现了 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,而是关于 Virtuoso,DBpedia 背后的 SPARQL 处理器。这需要进一步分析。我鼓励您提出issue to the Virtuoso project on GitHub。 (请注意,您的第一个
FILTER是多余的,因为您的第二个FILTER包含@enlangtag。)
标签: sparql rdf dbpedia virtuoso