Кажется, я обнаружил ошибку с функцией BIND
SPARQL в Virtuoso. Я запускаю это в 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 , результаты исчезнут. Почему результаты исчезают, если я связываю некоторые манипуляции со строками с другой переменной?