[英]sparql - regex doesn't work as case insensitive
我在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'))}";
在某些情况下可以正常工作,而在其他情况下则不能。任何人都可以帮助我。
您可以尝试以下方法:
FILTER (regex(str(?name), ...
即在str()
包装?name
。 这将确保第一个参数是字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.