如何在vs 2010中为dbpedia运行sparql查询以获得抽象
how to run sparql query in javascript for dbpedia in vs 2010 to get abstract?
我想使用sparql从dbpedia获取摘要。我想在Visual Studio c#中在asp.net中运行以下查询。这是我所做的。
<script>
var query= "'
PREFIX dbpedia: <http://dbpedia.org/resource/>'
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>'
SELECT ?abstract'
WHERE {'
?s dbpedia:Junagadh
dbpedia-owl:abstract ?abstract'
}";
var queryUrl = url + "?query=" + encodeURIComponent(query) + "&format=json";
$.ajax({
dataType: "jsonp",
url: queryUrl,
success: function (_data) {
var results = _data.results.bindings;
for (var i in results) {
var src = results[i].abstract.value;
$('body').append(src);
}
}
});
我想在浏览器中对输入的搜索词进行抽象。这里我进入了"印度"。当我运行这段代码时,我没有在浏览器中得到输出。
所以我的问题是如何从javascript执行这个查询并在浏览器中获得结果?
请帮帮我,谢谢你。
编辑# 1:我尝试了你建议的示例链接来运行sparql查询。我尝试了示例中给出的代码,但在第17行中出现如下错误。
Version number '1.1' is invalid. Line 1, position 16.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Xml.XmlException: Version number '1.1' is invalid. Line 1, position 16.
source Error:
Line 16: //Make a SELECT query against the Endpoint
Line 17: SparqlResultSet results = endpoint.QueryWithResultSet("SELECT DISTINCT ?Concept WHERE {[] a ?Concept}");
Line 18: foreach (SparqlResult result in results)
Line 19: {
Stack Trace:
[XmlException: Version number '1.1' is invalid. Line 1, position 16.]
System.Xml.XmlTextReaderImpl.Throw(Exception e) +76
System.Xml.XmlTextReaderImpl.Throw(String res, String arg) +126
System.Xml.XmlTextReaderImpl.ParseXmlDeclaration(Boolean isTextDecl) +3983351
System.Xml.XmlTextReaderImpl.Read() +239
VDS.RDF.Parsing.SparqlXmlParser.Parse(SparqlXmlParserContext context) in e:'mercurial'dotnetrdf'Libraries'core'net40'Parsing'SPARQLXMLParser.cs:376
VDS.RDF.Parsing.SparqlXmlParser.Load(ISparqlResultsHandler handler, TextReader input) in e:'mercurial'dotnetrdf'Libraries'core'net40'Parsing'SPARQLXMLParser.cs:101
VDS.RDF.Parsing.SparqlXmlParser.Load(ISparqlResultsHandler handler, StreamReader input) in e:'mercurial'dotnetrdf'Libraries'core'net40'Parsing'SPARQLXMLParser.cs:124
VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(ISparqlResultsHandler handler, String sparqlQuery) in e:'mercurial'dotnetrdf'Libraries'core'net40'Query'SPARQLRemoteEndpoint.cs:309
VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(String sparqlQuery) in e:'mercurial'dotnetrdf'Libraries'core'net40'Query'SPARQLRemoteEndpoint.cs:284
test.Page_Load(Object sender, EventArgs e) in c:'Users'MKS'Documents'Visual Studio 2010'WebSites'WebSite3'test.aspx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
请帮帮我,谢谢你。
您的查询完全错误。当您编写SPARQL查询时,您需要询问三重?s ?p ?o
。如果你看一下你的查询,那里有4个项目。因此,如果您需要所有语言的摘要,您需要请求:
SELECT ?abstract
WHERE {
dbpedia:Junagadh dbpedia-owl:abstract ?abstract.
}
如果您需要为摘要使用特定的语言,则需要相应地对其进行过滤。例如,英文摘要为:
SELECT ?abstract
WHERE {
dbpedia:Junagadh dbpedia-owl:abstract ?abstract.
filter(lang(?abstract)='en')
}
如果你需要知道如何在。net环境中编写SPARQL,请阅读这些示例
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- j查询utc offSets的时差
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何处理node.js节点mongodb中的连接和查询队列
- 如何从 HTML 查询中删除项目
- 从查询字符串参数推断出正确的数据类型
- 将curl查询转换为jQuery.ajax()
- 触发媒体查询断点时刷新页面
- 使用DynamoDB查询返回
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- 如何将PHP get查询转换为Meteor's HTTP.get()
- AngularJS:获取链接中没有哈希的查询字符串值
- 捕获初始RedQueryBuilder查询中的SQL问题
- AngularJS,如何更改查询字符串
- 具有大型几何图形的基于沙发的空间查询
- 在php中提交数据时,如果某些值为null,而某些值为非null,如何进行查询
- 如何在javascript中创建查询SPARQL多行
- 为使用dbpedia的sparql查询生成url
- 显示sparql查询结果的问题
- 如何在vs 2010中为dbpedia运行sparql查询以获得抽象