端点上的Sparql查询

时间:2013-04-11 07:56:50

标签: asp.net c#-4.0 sparql

我想在端点运行以下sparql查询:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?name WHERE{?person foaf:name ?name.FILTER regex(str(?name), "+ns+","i")}

我在Visual Studio上使用C#进行编码,并将此查询发送到端点。它应该在没有任何区分大小写的情况下检查结果,但是以这种方式编写查询会在visual studio中出错。我该如何纠正?

1 个答案:

答案 0 :(得分:2)

更新(根据作者的澄清说明“问题所在”):

您需要正确转义“符号,以便它包含在SPARQL查询字符串中。目前[i]之前的[”]表示文本字符串的结尾。难怪你收到错误信息。

有关转义规则,请参阅MSDN: String literals

  • 要么“转义为\”,要么将字符串设为C#verbatim literal并转义为“”

检查Querying with SPARQL examples的DotNetRdf文档。

它显示了如何运行SPARQL查询(使用DotNetRdf)以及如何将变量值注入查询(您尝试使用“+ ns +”和“i”)。

此外:

  • answers.semanticweb.com是一个提出语义Web / RDF / SPARQL问题的好地方
  • 请描述您所得到的错误(Ren在上面的评论中提到的内容)