反转SPARQL中的字符串 [英] Reversing a string in SPARQL
本文介绍了反转SPARQL中的字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对可以在Wikidata Query Service上工作的解决方案特别感兴趣。
推荐答案
您问的是是否可能,而不是是否实用.
SELECT ?s (group_concat(?letter; separator='') AS ?r) {
BIND ("abcdefghijkl" AS ?s)
VALUES ?d1 { 0 1 2 3 4 5 6 7 8 9 }
VALUES ?d2 { 0 1 2 3 4 5 6 7 8 9 }
VALUES ?d3 { 0 1 2 3 4 5 6 7 8 9 }
BIND (100 * ?d3 + 10 * ?d2 + ?d1 + 1 AS ?i)
BIND (SUBSTR(?s, ?i, 1) AS ?letter)
}
GROUP BY ?s
该方法与Finn的响应中的方法类似,但它适用于长度不超过1000个字符的字符串。这将用作较大查询中的子查询。像group_concat
这样的聚合不能保证特定的顺序,因此此查询依赖于Blazegraph使用的依赖于实现的顺序,并且可能会混淆不同实现上的字符串。
如果用例按字符串的最后一个字符按相反顺序排序,则可以对此进行调整,以确保包含字符串的最后n字符。
这篇关于反转SPARQL中的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文