Fin*_*sen 0 string sparql wikidata
是否可以在SPARQL中反转字符串,所以“ abc”变为“ cba”。可替代地,可以基于相反的字符串排序。
我对在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
Run Code Online (Sandbox Code Playgroud)
该方法与Finn的响应中的方法类似,但适用于长度不超过1000个字符的字符串。这将用作较大查询中的子查询。像group_concat这样的聚合不能保证特定的顺序,因此此查询依赖于Blazegraph使用的与实现相关的顺序,并且可能使字符串在其他实现上混乱。
如果用例按相反的顺序按字符串的最后一个字符排序,则可以对其进行调整,以确保包括字符串的最后n个字符。
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |