在sparql中使用正则表达式拆分逗号分隔的字符串

时间:2013-11-06 19:28:54

标签: regex sparql

我必须在SPARQL中提出有关regex()的问题。 我想替换一个变量,有时包含一个带逗号的短语,另一个变量包含逗号之前的变量。 例如,如果变量包含“我喜欢它,确定”,我想得到一个包含“我喜欢它”的新变量。我不知道使用哪种常规表达。

1 个答案:

答案 0 :(得分:4)

这是strbefore的用例,您根本不需要regex。一般来说,我建议您至少浏览一下SPARQL 1.1 Query Language Recommendation第17节的目录。它列出了所有SPARQL函数,虽然你不需要记住它们,但至少你会知道它们是什么。 (这对所有程序员和语言都是很好的建议:浏览目录和索引。)此查询 1 显示如何使用strbefore

select ?x ?prefix where { 
  values ?x { "we invited the strippers, jfk and stalin" }
  bind( strbefore( ?x, "," ) as ?prefix )
}
---------------------------------------------------------------------------
| x                                          | prefix                     |
===========================================================================
| "we invited the strippers, jfk and stalin" | "we invited the strippers" |
---------------------------------------------------------------------------

1。见Strippers, JFK, and Stalin Illustrate Why You Should Use the Serial Comma