我正在尝试使用 dotNetRdf
这是我的代码:
SparqlRemoteEndpoint endpoint = new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org");
//Make a SELECT query against the Endpoint
SparqlResultSet results = endpoint.QueryWithResultSet("SELECT DISTINCT ?Concept WHERE {[] a ?Concept}");
foreach (SparqlResult result in results)
{
Console.WriteLine(result.ToString());
}
//Make a DESCRIBE query against the Endpoint
IGraph g = endpoint.QueryWithResultGraph("DESCRIBE ");
foreach (Triple t in g.Triples)
{
Console.WriteLine(t.ToString());
}
此代码在C#项目上效果很好,但是在Xamarin I内部,我在QueryWithResultSet
上有以下错误:
void SparqlRemoteEndpoint.QueryWithResultSet(string query, SparqlResultsCallback callback, object state)(+1 overload)
Makes a Query asynchronously where the expected Result is a SparqlResultSet i.e. SELECT and ASK Queries
我不明白我需要创建什么回调。
怎么了?
并非所有平台都支持同步HTTP操作,因此所有不支持此的平台都需要使用异步方法。
这是他们选择不支持所有平台上相同API的.NET平台的限制