win10通過SecureCRT在Linux伺服器上部署及使用Fuseki(二)
上一節介紹了基本工具,下面開始具體的操作流程
三、具體步驟
1.部署SecureCRT,通過ip和密碼連線Linux系統,具體怎麼連線就不多說了,不會的可以百度,很多教程。
2將下載好的Fuseki.tar檔案傳送到Linux系統上。
- 在SecureCRT上點選File——》Connect SFTP session進入SFTP視窗
-
SFTP中如果需要操作win系統,需要在linux命令前加個l。例如cd 表示進入linux系統某個檔案,lcd表示進入win中某個檔案。具體命令教程在此連結
-
再linux中建立一個資料夾用來儲存apache-jena-fuseki-3.10.0.tar.gz壓縮包,在根目錄下執行程式碼sudo mkdir Fuseki建立資料夾Fuseki
-
通過lcd E:/Fuseki進入fuseki壓縮包根目錄(我將apache-jena-fuseki-3.10.0.tar.gz儲存在E:/Fuseki資料夾下)
-
在SFTP視窗通過put將檔案上傳到Linux系統。在進入apache-jena-fuseki-3.10.0.tar.gz根目錄後執行put apache-jena-fuseki-3.10.0.tar.gz /Fuseki(此處填寫需要將檔案儲存到的linux檔案路徑,我儲存在)
-
到apache-jena-fuseki-3.10.0.tar.gz所在目錄,通過執行tar -zxvf apache-jena-fuseki-3.10.0.tar.gz解壓apache-jena-fuseki-3.10.0.tar.gz壓縮檔案。
-
進入解壓後的apache-jena-fuseki-3.10.0.tar.gz檔案目錄,執行sudo ./fuseki-server --update啟動服務。--update表示允許更新資料集。
-
之後會看到伺服器的啟動資訊:
15:07:47 INFO Server :: Dataset: in-memory
15:07:47 INFO Config :: Home Directory: /home/tseg/my/jena-fusek i-0.2.7
15:07:48 INFO Server :: Dataset path = /ds
15:07:48 INFO Server :: Fuseki 0.2.7 2013-05-11T22:05:51+0100
15:07:48 INFO Server :: Started 2013/06/08 15:07:48 CST on port 3 030
表示服務以及啟動完成。預設開放埠為3030,在win中可以通過訪問linux的3030埠來進入Fuseki管理頁面。 -
win中開啟,瀏覽器,訪問:http://(linux伺服器Ip):3030 回車。出現如圖所示的介面,說明配置成功。
- 通過點選add one 新增一個數據庫
- 點選select files, 選擇一個檔案。比如yagoDataTest.ttl
- 單機upload now 開始上傳
- Fuseki預設上傳檔案是有大小限制的,可以通過修改配置檔案中的記憶體大小來改變
- 在linux中進入Fuseki根目錄,執行sudo chmod -R 777 /Fuseki/fuseki-server修改該檔案的只讀許可權
- 然後對fuseki-server檔案進行編輯,具體編輯指令參考https://www.cnblogs.com/jameslif/p/7751567.html
- 執行vi fuseki-server進入該檔案的編輯介面
- 將這個值改大點,大於自己上傳ttl的檔案大小即可。當然也不能大於自己的記憶體。
- 以上都完成之後可以通過python進行查詢了,
-
from SPARQLWrapper import SPARQLWrapper, JSON
sparql = SPARQLWrapper("http://10.67.0.222:3030/DBpedia/query")
sparql.setQuery("""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?predicate ?object
WHERE { <http://dbpedia.org/resource/Zhang_Yimou> ?predicate ?object}
LIMIT 25
""")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()for result in results["results"]["bindings"]:
# print result
print result["predicate"]["value"], result["object"]["value"] -
其中sparql = SPARQLWrapper("http://10.67.0.240:3030/DBpedia/query")中填寫自己linux的ip和資料集的名字即可
-
最後搜尋結果
四、總結
按照這個步驟,就可以搭建一個簡易的知識圖譜查詢Demo,之後我還會繼續上傳一些學習心得,大家一起進步