我必须对SPARQL中的regex()提出疑问。我想将一个变量替换为一个变量,该变量有时包含一个带有逗号的短语,而另一个变量仅包含逗号之前的内容。例如,如果变量包含“我喜欢它,好”,我想获取一个包含“我喜欢它”的新变量。我不知道要使用哪些常规表达式。
这是strbefore
的用例,您根本不需要strbefore
。作为一般提示,我建议您阅读(或略读)regex
第17节的目录。它列出了所有SPARQL函数,虽然您不需要记住所有功能,但至少可以了解其中的功能。 (这对所有程序员和语言都是一个很好的建议:浏览目录和索引。)此查询1显示如何使用SPARQL 1.1 Query Language Recommendation:
strbefore
select ?x ?prefix where {
values ?x { "we invited the strippers, jfk and stalin" }
bind( strbefore( ?x, "," ) as ?prefix )
}
1。参见---------------------------------------------------------------------------
| x | prefix |
===========================================================================
| "we invited the strippers, jfk and stalin" | "we invited the strippers" |
---------------------------------------------------------------------------