Sparql - 按字母顺序排序的问题

Joh*_*Jai 2 allegrograph sparql

我使用AllegroGraph和Sparql来查询结果.我试图基于字母顺序排序,但Sparql给大写更多的偏好.下面是类似的数据和查询,类似于我的问题.

数据:

<http://mydomain.com/person1> <http://mydomain.com/name> "John"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://mydomain.com/person>

<http://mydomain.com/person2> <http://mydomain.com/name> "Abraham"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://mydomain.com/person>    

<http://mydomain.com/person3> <http://mydomain.com/name> "edward"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://mydomain.com/person>
Run Code Online (Sandbox Code Playgroud)

我试图根据名字的字母顺序排序 - 所以结果应该是亚伯拉罕,爱德华和约翰.但结果是亚伯拉罕,约翰和爱德华,因为爱德华从小案开始.请让我知道如何实现这一目标.

查询:

select ?person ?name where
{
  ?person <http://mydomain.com/name> ?name.
  ?person <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://mydomain.com/person>.
  } order by asc(str(?name))
Run Code Online (Sandbox Code Playgroud)

And*_*dyS 7

SPARQL 1.1: order by asc(UCASE(str(?name)))