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