查询函数Javascript查询DBpedia小应用

本文介绍如何使用SPARQLWrapper.js从DBpedia中获取包含特定字符串的词条信息,并展示了具体的SPARQL查询语句及完整的JavaScript实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间紧张,先记一笔,后续优化与完善。

    上一篇文章中,我们了解了SPARQL、SPARQL Endpoint,并单简做了一个SPARQLWrapper.js,来从DBpedia中查询了一些数据。

    本文则实验利用SPARQLWrapper.js来读取DBpedia的数据,并显示出来。

 

    

标目

    通过入输一个英文单词,然后返回WIKI中关相的息信。

    那么要主要处理的题问就是怎样的SPARQL句语够能查询到我们须要的货色。

 

    

先看一段单简的SPARQL查询句语

PREFIX : <http://aabs.purl.org/music#>
SELECT ?instrument
WHERE {
 :andrew :playsInstrument ?instrument .
}

    首先定义一个域名空间http://aabs.purl.org/music#。

    然后选择这子样的instrument量变,他足满:

    主语是http://aabs.purl.org/music#andrew,谓语是http://aabs.purl.org/music#playsInstrument,宾语是该instrument。

    

 

    

bif:contains()

    bif:contains()是contains()函数的变种函数,义思名顾是判断是不是包括的函数。

    利用这个我们能查询到我们须要的数据了。

prefix foaf: <http://xmlns.com/foaf/0.1/> 
select distinct ?url ?alma ?comment 
where { 
?s foaf:name ?sname . 
?sname bif:contains 'China'. 
?s foaf:depiction ?url . 
?s dbpedia-owl:wikiPageExternalLink ?alma . 
?s rdfs:comment ?comment . 
} 
limit 10
这段SPARQL句语是查询包括China的名字的词条,然后将其图片的url、homepage的url,以及简介返回来回。

    上面让我们把个整程序写完。

 

    

整完代码

    每日一道理
漫漫人生路,谁都难免会遭遇各种失意或厄运。在凄风苦雨 惨雾愁云的考验面前,一个强者,是不会向命运低头的。风再冷,不会永远不息;雾再浓,不会经久不散。风息雾散,仍是阳光灿烂。
<html>
<head>
    <meta charset="utf-8">
    <title>SPARQL DEMO</title>
    <script src="SPARQLWrapper.js"></script>
    <script>
    
    var $ = function(id){
            return document.getElementById(id);
        },
        sparql = new SPARQLWrapper("http://dbpedia.org/sparql"),
        results = [];
    
    function getInfo(name){
        name = name.replace(/\s/g, "_");
        var command = "prefix foaf: <http://xmlns.com/foaf/0.1/> "
                        + "select distinct ?url ?alma ?comment "
                        + "where { "
                        + "?s foaf:name ?sname . "
                        + "?sname bif:contains '" + name + "'. "
                        + "?s foaf:depiction ?url . "
                        + "?s dbpedia-owl:wikiPageExternalLink ?alma . "
                        + "?s rdfs:comment ?comment . "
                        + "} "
                        + "limit 10";
            sparql.setQuery(command);
            sparql.query(function(json){
                showInfo((eval("(" + json + ")")).results.bindings);
            });
    }
    
    function showInfo(results){
        var text = "";
        if(results.length !== 0){
            for(var i = 0; i < results.length; i++){
                text += "<img src = '" + results[i].url.value + "' /><br />";
                text += "homepage:" + "<a href = '" + results[i].alma.value + "' >" + results[i].alma.value + "</a><br />";
                text += "<p>" + results[i].comment.value + "</p><br /><br /><br />";
                $("result").innerHTML = text;
            }
        }else{
            $("result").innerHTML = "没有任何关相息信!";
        }
        
    }
                    
    </script>
</head>
<body>
<p>现在只持支英文查询。</p>
<input type="text" id="name"/>
<input type="button" onclick="getInfo(document.getElementById('name').value);" value="Wiki Search" />
<div id="result"></p>


</body>
</html>
 

    

遗留题问

    

    不太楚清中文怎么查询,若有晓得的友人,烦麻告诉一下,感谢。

    

 

    

例子

    http://pan.baidu.com/share/link?shareid=293219&uk=855675565

 

 

文章结束给大家分享下程序员的一些笑话语录: 那是习惯决定的,一直保持一个习惯是不好的!IE6的用户不习惯多标签,但是最终肯定还是得转到多标签的浏览器。历史(软件UI)的进步(改善)不是以个人意志(习惯)为转移的!


内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值