iT邦幫忙

DAY 10
2

ROR相關系列 第 10

淺談在Ruby上實做RDF(Resource Description Framework)的套件-RDF

RDF(Resource Description Framework)是W3C用來描述數位資源的一種規範,是採取以XML型式做為描述數位資源的一種方式,常見的RSS也有其中一個版本是採取RDF,不過因為RDF的規範有些難懂,所以也有另一種描述RDF的方式,叫做RDF Triples,以三元描述的型式來呈現,今天要介紹的Ruby套件-RDF就是用來以程式的方式來實作RDF Triples, 不過今天先簡單的以網址剖析的例子來說明數位資源的部份.
首先不外乎的,要先用gem來安裝RDF的套件

sudo gem install rdf

或是採用git下載的方式也可以,不過個人還是比較偷懶,能少打字就少打字

 git clone git://github.com/bendiken/rdf.git

接下來我們也要記得宣告,雖然現在要記得宣告rubygems是一種常識,但是常常還是會忘記,以為沒有安裝好gems,其實只是忘了宣告而已.

require 'rubygems'
require 'rdf'

接下來簡單描述一下什麼是RDF triples,基本上來說RDF的理解就像是我們說話的時候,會有主詞、動詞、受詞,所以一個資源的描述就是不外乎用這種最基本最簡單的方式來描述,而RDF triples,就是用這樣的三個部份進行描述,下面我們用一個描述網址的例子來描述

比方我們拿鐵人賽的網址http://ithelp.ithome.com.tw/event/ironmangame3為例
首先我們用RDF::URI.new來做宣告

uri = RDF::URI.new("http://ithelp.ithome.com.tw/event/ironmangame3")

接著我們可以透過RDF套件的剖析知道網址的結構

puts "鐵人賽網址的通訊協定: " + uri.scheme
puts "鐵人賽網址的主機: " + uri.host
puts "鐵人賽網址的路徑: " + uri.path
puts "鐵人賽網址的基本名稱:"  +  uri.basename

結果顯示

鐵人賽網址的通訊協定: http
鐵人賽網址的主機: ithelp.ithome.com.tw
鐵人賽網址的路徑: /event/ironmangame3
鐵人賽網址的基本名稱: ironmangame3

這樣的剖析的方式,可以把一個網址拆成多個部份進行描述,
就以ironmangame3來說,為鐵人賽實際的目錄,而我們要知道怎麼從it邦幫忙進入之後的路徑,答案就是從/event/再到ironmangame3,至於主機名稱就是ithelp.ithome.com.tw,以此類推,其使用的通訊協定就是http.

這樣的例子只是幫助我們理解,一項數位資源如果透過剖析的方式拆解它原有的部份,加上說明之後,是否更容易讓人理解,而這個部分也是語意網路(Semantic Web)的基礎.


上一篇
淺談HTML Parsing的套件-Nokogiri
下一篇
淺談在Ruby上實做RDF(Resource Description Framework)的套件-RDF part2
系列文
ROR相關30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
SunAllen
iT邦研究生 1 級 ‧ 2010-10-08 09:26:51

沙發剛剛猛一看~~以為是PDF...看了好多遍,都沒看到PDF毆飛

0
swdsyu
iT邦新手 4 級 ‧ 2010-10-08 10:25:31

Ruby也有匯出成PDF的套件,我之前用的是prawn,滿不錯用的,而且支援中文喔!

我要留言

立即登入留言