0

我想在端点运行以下 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 中产生错误。我该如何纠正?

4

1 回答 1

2

更新(基于作者澄清“i”是问题所在):

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

请参阅MSDN:转义规则的字符串文字:

  • “转义为\”或使字符串成为C#逐字文字并转义为“”

查看 DotNetRdf 文档以使用 SPARQL 示例进行查询

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

还:

  • answers.semanticweb.com是询问语义网/RDF/SPARQL 问题的好地方
  • 请描述您遇到的错误(Ren 在上面的评论中提出的问题)
于 2013-04-11T19:16:25.027 回答