1. 程式人生 > >win10通過SecureCRT在Linux伺服器上部署及使用Fuseki(二)

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中某個檔案。具體命令教程在此連結

    https://blog.csdn.net/qq_24309787/article/details/80117269

  • 再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,之後我還會繼續上傳一些學習心得,大家一起進步