String 如何使用sparql查找字符串中特定字符的位置

String 如何使用sparql查找字符串中特定字符的位置,string,position,sparql,charindex,String,Position,Sparql,Charindex,我正试图找到一个解决方案,用sparql在sting中找到一个角色 我尝试了下面的代码,但在SPARQL中似乎没有像CHARINDEX这样的选项 我想找到URI中使用的最后一个“/”的位置(我使用STR函数将其转换为字符串)。所以我可以做一些类似于“在这个字符串中找到的最后一个反斜杠之后,给我这个字符串的所有字符” 在Sql中,我只需使用charindex()查找字符,并使用LEN()函数定义字符串的长度 按主题排序 前缀skos: 挑选* 在哪里{ ?主题a skos:概念。 绑定(STRAF

我正试图找到一个解决方案,用sparql在sting中找到一个角色

我尝试了下面的代码,但在SPARQL中似乎没有像CHARINDEX这样的选项

我想找到URI中使用的最后一个“/”的位置(我使用STR函数将其转换为字符串)。所以我可以做一些类似于“在这个字符串中找到的最后一个反斜杠之后,给我这个字符串的所有字符”

在Sql中,我只需使用charindex()查找字符,并使用LEN()函数定义字符串的长度

按主题排序

前缀skos: 挑选* 在哪里{ ?主题a skos:概念。 绑定(STRAFTER(STR(?受试者),“begrip/”)作为测试)


}

使用标准SPARQL是不可能的。不过,有些triple Store确实支持自定义功能,因此您可以查看一下当前triple Store的文档,或者您可能会发现一些奇怪的字符串破解,它们结合了
replace
strlen
等-用例是什么?获取URI的本地名称?是的,
strlen
replace
可以做到这一点,例如
bind(strlen(replace(str(?iri),“(.+/)(.+)$,“$1”))as?r)
使用标准SPARQL是不可能的。不过,有些triple Store确实支持自定义功能,因此您可以查看一下当前triple Store的文档,或者您可能会发现一些奇怪的字符串破解,它们结合了
replace
strlen
等-用例是什么?获取URI的本地名称?是的,
strlen
replace
可以做到这一点,例如
bind(strlen(replace(str(?iri),“(.+/)(.+)$,“$1”))as?r)