sparql和elasticsearch構建知識圖譜搜索引擎

sparql和elasticsearch構建知識圖譜搜索引擎是最新實驗室的給mooc中國的項目的主要技術

給mooc中國做的知識圖譜,先吐槽一番再說,學校在划水,老師不關心,自己沒補助。當作自己學習一下知識吧。

elasticsearch是之前使用的全文檢索工具,在速度上很快,分佈式具有優勢。sparql是rdf的標準檢索語言,我們使用的數據庫是jena,雖然有點慢,但目前數據量比較小,他們也發現不了。


整體框架:圖譜構建、圖譜存儲、圖譜搜索、圖譜可視化

圖譜構建: 主要採用之前一個師兄的c語言的知識點數據,然後爬取了百度百科的數據,然後根據分面(實驗室的一個概念)建立子節點。知識點間的關係主要通過文本相似度來確定,就是圖譜中的一些點和點的關係,這樣圖譜就構建好啦。(ps:知識圖譜的來源划水會導致後面沒法增加更好的功能,沒和充分利用圖譜優勢)

圖譜存儲: 就是把mysql數據庫中的數據導入rdf數據庫jena中,主要就是設計存儲好模式就好啦。

圖譜搜索:

  1. 主要進行知識點的搜索,爲了提高速度,並沒有使用sparql的regex匹配,採用把知識點的id和名稱存入到ES中,檢索時候得到的是知識點的id,這樣就可以進行第二步的sparql查詢
  2. sparql查詢,在jena引擎中,存儲採用的是jena的TDB,之後打算使用fuseki,可以將rdf數據庫TDB共享出去,理論上速度也會提升,畢竟成爲了一個服務,在事務和線程上都有優勢。
  3. 得到結果,將數據通過restful API傳輸到前臺。
  4. PS:全用的java。

圖譜可視化:echars的關係圖表,加上壓力佈局。


總體而言,實驗室的這個項目有點水,或許可以管中窺豹,學校就是這樣,真正能學到什麼全是靠自己

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章