D2RQ之Linked data

**基本介紹**

Linked data 即爲一系列利用 Web 在不同數據源之間創建語義關聯的最佳實踐方法。這裏的不同數據源,可以來自一個組織內部的不同系統,也可以來自不同組織的不同系統,它們的內容,存儲地點以及存儲方式都可以完全不同,但它們很可能存在着關聯。
Linked data的一些基本原則:
資源。在發佈一個領域的數據之前,我們需要確定要發佈的資源是什麼。任何事物,只要你認爲是有意義的,有被引用必要的,都可以稱之爲資源。
資源標識。任何一個資源都用一個 HTTP URI(Uniform Resource Identifiers)來標識。之所有要用 HTTP URI 來標識,是希望數據能夠通過 HTTP 協議訪問,真正實現基於 Web 的訪問與互聯。
資源描述。資源可以有多種描述,例如 HTML,XML,RDF 以及 JPEG。文檔 Web 的文檔主要通過 HTML 格式來表示,數據 Web 的數據主要通過 RDF格式(Resource Description Framework)來表示。RDF 將一個資源描述成一組三元組(主語,謂語,賓語)。
例如:tb176 博客名 IT丶小農民。
主語用來表示需要描述的資源,謂語用來表示主語的某個屬性(例如:姓名,出生日期)或者某個關係(例如,僱傭,認識,教授等),賓語表示了屬性的值或者關係的值。主語,謂語都需要要用 HTTP URI 來表示。賓語可以用 HTTP URI 標識另一個資源,也可以是字符串表示的文本。我們可以把主語看作是類資源,而將謂語看作是類資源的屬性資源,賓語或者是類資源或者是文字型資源。根據賓語的種類,可以將三元組分爲兩類:文字型三元組以及非文字型三元組,第二種可以看作是類資源之間的關聯。
關於D2R的架構這裏就不介紹了,直接進入主題。
環境準備:

第一步:下載d2r-server-0.7.zip 解壓到自己的工作目錄下。下載地址(http://d2rq.org/ 這裏是0.8.1了)

第二步: 我是用的Mysql數據庫,這裏d2r支持很多數據庫,解壓包就包含了mysql和PostgreSQL的驅動,創建數據庫Academic
第三步:創建表conferences, papers, authors and
topics這裏可以從http://d2rq.org/d2rq-language中下iswc-mysql.sql腳本。
第四步:d2rq文件目錄下執行以下命令,執行成功之後生成一個Academic.n3的文本。
-o mapping.ttl –>>表示生成一個mapping.ttl的映射文本。
-d com.mysql.jdbc.Driver –>> 表示連接Mysql數據庫,這裏是驅動註冊。
-u root –>> 表示數據庫Academic用戶名爲root。
-p 123456 –>> 表示數據庫Academic密碼爲123456。
jdbc:mysql://localhost/Academic 本地數據庫URI。

generate-mapping -o mapping.ttl   -d  com.mysql.jdbc.Driver  -u root -p 123456 jdbc:mysql://localhost/Academic

第四步: 啓動服務 ,執行下面命令d2r-server mapping.ttl
成功地標識如下圖:

F:\d2r-server-0.7>generate-Mapping -o Academic.n3 -d  com.mysql.jdbc.Driver  -u root -p 123456 jdbc:mysql://localhost/Academic

F:\d2r-server-0.7>d2r-server Academic.n3
11:29:03 INFO  log                  :: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
11:29:03 INFO  log                  :: jetty-6.1.10
11:29:03 INFO  log                  :: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
11:29:03 INFO  D2RServer            :: using config file: file:/F:/d2r-server-0.7/Academic.n3
11:29:05 INFO  D2RServer            :: Safe mode (launch using --fast to use all optimizations)
11:29:05 INFO  log                  :: Started SocketConnector@0.0.0.0:2020
11:29:05 INFO  server               :: [[[ Server started at http://localhost:2020/ ]]]

第五步:我們可以訪問服務了,打開瀏覽器輸入 http://localhost:2020, 便可以默認的 HTML 瀏覽器、DF 瀏覽器以及 SPARQL 查詢端對我們的數據進行訪問。
在主頁面我們可以看到Home|右邊爲我們Mysql數據映射出來的表名稱。隨便點擊conferences表我們可以看到有兩條記錄。即我們數據庫中的記錄。通過點擊任何一條記錄可以看到該記錄的詳細信息以及跟其他表的關聯信息,這裏不做詳述了,下一節繼續研究~

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