javascript - 如何在 Javascript 中查询 Dbpedia

标签 javascript sparql semantic-web dbpedia spotlight-dbpedia

我想用 Javascript 从 Dbdepdia 获取土木工程英文文章的摘要。这是我尝试过的但失败了。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<style type="text/css">

</style>
</head>
    <script type="text/javascript">
    var url = "http://dbpedia.org/sparql";
    var query = "\
     PREFIX dbpedia2: <http://dbpedia.org/resource/>\
     PREFIX Abs: <http://dbpedia.org/ontology/>\
    SELECT ?abstract\
   WHERE {\
            ?s dbpedia2:Civil_engineeringe\"@en;\ Abs:abstract ?abstract\ 
    }";

这是我如何编码 url 以将其传递给 ajaxx

 var queryUrl = encodeURI( url+"?query="+query+"&format=json" );
    $.ajax({
        dataType: "jsonp",  
        url: queryUrl,
        success: function( _data ) {
            var results = _data.results.bindings;
            for ( var i in results ) {
                var res = results[i].abstract.value;
                alert(res);
            }
        }
    });
</script>
    <body></body>

</html>

最佳答案

我对多行字符串使用不同的方法,我直接将它用于针对 DBPedia 的 SPARQL 查询编写。

var query = [
 "PREFIX dbpedia2: <http://dbpedia.org/resource/>",
 "PREFIX Abs: <http://dbpedia.org/ontology/>",
 "SELECT ?abstract",
 "WHERE {",
    "?s dbpedia2:Civil_engineeringe\"@en;",
    "Abs:abstract ?abstract",
 "}"
].join(" ");

我这样做是因为这样可以让我在出现编码问题时调整行分隔符,还可以让我在必要时轻松地注释掉行。

现在,一旦我需要运行查询,我就会对查询本身进行编码并将其附加到 URL。

请小心包装整个查询字符串的方式,因为它可能会将键、值和等号编码为转义字符。

我是这样做的:

var queryUrl = url+"?query="+ encodeURIComponent(query) +"&format=json";

关于javascript - 如何在 Javascript 中查询 Dbpedia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22769701/

相关文章:

java - 如何在 SPARQL 中过滤 DBpedia 结果

java - 在 jena 中以通用方式查询 RDF 模型的最佳方法是什么? (sparql 或使用集合和迭代器)

sparql - Sesame 2.8.4 子查询限制错误修复?

javascript - 将 facebook token 从客户端发送到服务器的正确方法

javascript - JavaScript 中的函数 return 是什么?

cassandra - 如何在 cassandra 集群上完成 SPARQL 查询处理?

java - 当我使用 Model 作为返回类型启动 "@Web method"时出错

javascript - 在表单 slider 上按设定步骤设置值

javascript - 是否可以在 window.location 加载新 URL 后调用函数?

curl - 使用 cURL 更新 openrdf-sesame 端点中的三元组