简体   繁体   English

Sparql:最后一个字符串

[英]Sparql: string after last

Assuming I have some triples like this 假设我有一些这样的三元组

:a ex:fileName "abc.txt".
:b ex:fileName "another.file.doc".

and assuming I want to create a SPARQL query that returns me the filename without a file extension? 并假设我想创建一个SPARQL查询,该查询返回没有文件扩展名的文件名? Like 喜欢

"abc"
"another.file"

Does SPARQL have an easy way of doing something like "substring before last" ? SPARQL是否有简单的方法来完成类似“最后一个子字符串”的操作?

You can use REPLACE() with a matching regexp: 您可以将REPLACE()与匹配的正则表达式配合使用:

SELECT ?file ?filename
WHERE {
  ?file ex:fileName ?rawFilename .

  BIND( REPLACE( ?rawFilename , '\\.[^.]*$', '' ) AS ?filename )
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM