【发布时间】:2015-05-23 12:29:27
【问题描述】:
我想使用 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
请帮帮我, 谢谢。
【问题讨论】:
-
您的查询完全错误。你想提取什么?印度的摘要?还是 Junagadh 的摘要?
-
你好@Artemis,对不起,我在上面的描述中犯了一个错误。是的,我想提取 Junagadh 的摘要。你能告诉我确切的查询吗?
-
您放置的堆栈跟踪表明您需要在版本 1 中包含 XML 文件。您能否打开您尝试查询的文件并查看代码的第一行是什么?是
<?xml version="1.1"?>吗? -
我使用 xml 版本 1.0
-
请告诉我什么是错误。我写
标签: javascript c# asp.net sparql dbpedia