sparql - regex不能区分大小写

时间:2012-05-25 14:13:43

标签: sparql

我在C#中使用SemWeb.Sparql.dll通过C#在sparql中执行一些查询 我需要将给定的字符串变量与我的本体中的字符串(rdfs:label)进行比较,但我需要这种比较不区分大小写,所以我使用了正则表达式函数。我使用了这个查询:

disease = "'^" + disease + "'";
string query = prefixes + @"
               Select ?a ?name Where{
               ?a ?c owl:Class .
               ?a rdfs:label ?name.
               FILTER (Regex(?name," + @disease + ",'i'))}";

在某些情况下可以正常工作,而在其他情况下则不然。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

FILTER (regex(str(?name), ...

即。在?name中换str()。这将确保第一个参数是一个字符串。