2
我使用AllegroGraph和Sparql查詢結果。我正在嘗試按字母順序進行排序,但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))
感謝安迪,它的工作就像一個魅力:) –