如何将参数传递给 SPARQL 查询

How to pass parameters into a SPARQL query

如何将 var1 和 var2 传递到如下所示的 sparql 查询中。我有下面的代码,但它没有返回任何东西。

非常感谢您对此提供的帮助。谢谢你在adavnce

string var1, var2;
var1 = DropDownList1.SelectedValue.ToString();
var2 = DropDownList2.SelectedValue.ToString();
//Load first listbox
private const string loadlist1 = @"
                     PREFIX au: <http://semwebowl.somee.com/au/n3_notation#>
                                    SELECT DISTINCT ?ResearchArea 

                                    WHERE {
                                        [a  au:var1;
                                            au:ResearchArea var2;
                                            au:ResearchArea ?ResearchArea].
                                            }";

将问题分成两部分解决:

  1. 检查您的 SPARQL 查询是否正确。当您将正确的值直接放在查询文本中时,请确保它工作正常。就像@scotthenninger 所说的那样,您的查询似乎无效。
  2. 将参数传递到 SPARQL 查询中(参见 DotNetRDF API docs)。使用的方法取决于它是 URI (.SetUri()) 还是文本值。在参数化的 SPARQL 字符串上使用 .ToString() 方法来检查变量值插入字符串后的样子。