最近在調(diào)研關(guān)聯(lián)數(shù)據(jù)的一些東西,需要用到rdf數(shù)據(jù)庫(kù),所以接觸了virtuoso數(shù)據(jù)庫(kù)。安裝的坑其實(shí)并不多,之前在windows 10上安過(guò)一次。這次在ubuntu 18.04上安裝一下,其他的linux發(fā)行版安裝的流程也差不多。
virtuoso數(shù)據(jù)庫(kù)的下載與使用
開源版本的virtuoso數(shù)據(jù)庫(kù)可以在sourceforge下載。我用的是7.25版本。建議下載已經(jīng)編譯好的generic版本(下載圖中標(biāo)紅色的那個(gè)),需要編譯的那個(gè)版本我遇到了openssl版本不支持的問(wèn)題。
下載完畢后將其解壓到/usr/local下,添加一下環(huán)境變量,這可以讓你直接在終端啟動(dòng)virtuoso數(shù)據(jù)庫(kù)服務(wù)而無(wú)需cd到vituoso的bin目錄下或加上路徑之后再啟動(dòng),比較方便。編輯/etc下的profile文件,在最后一行加上export VIRTUOSO_HOME=/usr/local/virtuoso-opensource,然后在PATH中加入virtuoso的路徑${VIRTUOSO_HOME}/bin,PATH中的各個(gè)路徑用冒號(hào)分隔。我的環(huán)境變量設(shè)置如下:
設(shè)置完環(huán)境變量后重啟一下。將virtuoso-openlink下的database文件夾中的virtuoso.ini.sample重命名為virtuoso.ini。然后啟動(dòng)終端,cd到database目錄下,輸入virtuoso-t -fd即可啟動(dòng)服務(wù)。在瀏覽器中輸入http://localhost:8890進(jìn)入8890端口網(wǎng)頁(yè)即可打開其初始頁(yè)面。點(diǎn)擊conductor,輸入用戶名和密碼(都是dba),可進(jìn)入數(shù)據(jù)庫(kù)服務(wù)頁(yè)面。
點(diǎn)擊linkedata之后再點(diǎn)擊Quad Store Upload就可以加載rdf數(shù)據(jù)了,其中FIle是你需要上傳的ttl格式或者xml格式的rdf數(shù)據(jù)(virtuoso支持多種格式的rdf數(shù)據(jù),不止這兩種)。其中的Named Graph IRI需要你自己來(lái)設(shè)定。作為測(cè)試我們將其改為http://localhost:8890/test。點(diǎn)擊Upload完成上傳數(shù)據(jù)。
之后我們打開Graphs就可以看到我們剛才創(chuàng)建的Named Graph IRI了。
然后我們點(diǎn)開SPARQL就可以進(jìn)行sparql檢索了。注意其中的Default Graph IRI需要設(shè)為你剛剛創(chuàng)建的http://localhost:8890/test。
isql的使用
Virtuoso數(shù)據(jù)庫(kù)可以使用數(shù)據(jù)庫(kù)的命令管理工具 ISQL。打開終端,輸入isql 1111 dba dba即可進(jìn)入isql。但是需要注意,Virtuoso的ISQL與系統(tǒng)現(xiàn)有的unixODBC的那個(gè)ISQL沖突(會(huì)出現(xiàn)[ISQL]ERROR: Could not SQLConnect錯(cuò)誤信息),所以需要將virtuoso的bin目錄下的isql重命名。我將其重命名為isql-v,這樣在終端輸入isql-v 1111 dba dba即可進(jìn)入isql。
總結(jié)
Virtuoso我用的不是很熟練,官方文檔也不是很友好。國(guó)內(nèi)做關(guān)聯(lián)數(shù)據(jù)的感覺(jué)也不熱,相關(guān)的資源不太好找。關(guān)于Virtuoso數(shù)據(jù)庫(kù)的其余的一些問(wèn)題遇到會(huì)再補(bǔ)充。如果安裝和使用過(guò)程中有疑問(wèn)可以評(píng)論中提出。