2016-03-05 60 views
-2

如何將var1和var2傳遞到下面顯示的sparql查詢中。我有下面的代碼,但它沒有返回任何東西。如何將參數傳遞到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]. 
              }"; 
+2

您可能想要檢查SPARQL查詢 - 它缺少三重模式中的主題 – scotthenninger

+2

您應該在詢問之前做一些研究工作。快速搜索顯示如何將參數傳遞到SPARQL查詢中:http://www.dotnetrdf.org/api/dotNetRDF~VDS.RDF.Query.SparqlParameterizedString.html – CaptSolo

+0

您好我嘗試了dotnetrdf文檔,但沒有運氣。我正在使用上面的sparql查詢解析一個本體符號3文件。任何幫助表示讚賞。 – ama

回答

3

通過分離其解決問題分成兩個部分:

  1. 檢查你的SPARQL查詢是正確的。確保在查詢文本中直接輸入正確的值時它可以正常工作。就像@scotthenninger表示您的查詢似乎無效。
  2. 將參數傳遞到SPARQL查詢中(請參閱DotNetRDF API docs)。要使用的方法取決於它是URI(.SetUri())還是文本值。在參數化的SPARQL字符串上使用.ToString()方法來檢查將變量值插入字符串後的外觀。