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>

我正试着根据名字的字母顺序排序——所以结果应该是亚伯拉罕,爱德华,然后是约翰。但结果是亚伯拉罕,约翰,然后是爱德华因为爱德华的案子比较小。请让我知道如何做到这一点。

查询:

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))

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

相关内容

  • 没有找到相关文章

最新更新