亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Javascript查詢DBpedia小應用

系統(tǒng) 1972 0

上一篇文章 中,我們了解了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

?

?

Javascript查詢DBpedia小應用


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级特黄牲大片免费视频 | 国产精品一区二区久久沈樵 | 中文字幕在线免费播放 | 午夜在线视频网站 | 欧美一级爱爱视频 | 在线视频免费国产成人 | 免费视频网站一级人爱视频 | 久久久国产麻豆 | 伊人久久综合谁合综合久久 | 夜夜摸天天操 | 免费观看日本污污ww网站精选 | 精品一区二区乱码久久乱码 | 欧美成人三级一区二区在线观看 | 精品午夜寂寞黄网站在线 | 成 人 黄 色 大 片全部 | 久久99精品久久久久久黑人 | 国产牛牛| 欧洲毛片真人 | 欧美一级毛片日韩一级 | 欧美日韩中文字幕在线视频 | 久久精品亚洲日本波多野结衣 | 成人免费观看高清在线毛片 | 2020国产精品永久在线观看 | 日本不卡免费高清视频 | 国产精品久久久久久久久夜色 | 一级毛片成人免费看a | 日日碰狠狠添天天爽爽爽 | 中文字幕免费在线看线人动作大片 | 日韩欧美精品在线视频 | 男女69式互添在线观看 | 久青草青综合在线视频 | 亚洲成人第一页 | 天天色播 | 精品国产一区二区三区四区色 | 午夜宅男在线观看 | 亚洲精品高清国产一久久 | 亚洲黄色自拍 | 奇米第 | 久久精品观看影院2828 | 无码免费一区二区三区免费播放 | 国内外一级毛片 |