FOAF文件的清洗、檢索、繪圖

# 信息系統(tǒng)前沿課--范老師授課 #第二次作業(yè)## 一、重新使用Markdown ##熟悉語法,了解Markdown的用法,選擇在線編輯工具簡書進(jìn)行編輯。## 二、回顧xml、rdf、Foaf###1、xml語言xml語言與HTML語言既相識有不同,在我的理解看來HTML語言更加注重的是簡潔、規(guī)范化的網(wǎng)絡(luò)設(shè)計語言,用來顯示網(wǎng)頁就好。xml語言我認(rèn)為其復(fù)雜性是高于HTML語言的,設(shè)計其的主要作用應(yīng)該是著重于對于其要表現(xiàn)的內(nèi)容的數(shù)據(jù)表示。以后的可讀性、遷移性、更新的難度應(yīng)該要低一些。###2、rdf資源描述框架我覺得就是結(jié)構(gòu)化的xml框架,能夠描述xml文件中的各種數(shù)據(jù)區(qū)分?jǐn)?shù)據(jù)與元數(shù)據(jù)。###3、Foaffoaf文件是一種 XML/RDF 詞匯表,通過URL來找朋友,構(gòu)建關(guān)聯(lián)數(shù)據(jù),然后形成一種人與人之間相互聯(lián)系的社交網(wǎng)絡(luò)的一種小工具。##三、清洗數(shù)據(jù)項目要求是清洗整理班級同學(xué)FOAF文件,使其符合RDF數(shù)據(jù)規(guī)范和關(guān)聯(lián)數(shù)據(jù)發(fā)布原則,首先我根據(jù)要求找不到FOAF清洗,RDF規(guī)范檢查的工具。所以我先退而求其次選擇了xml檢查工具,通過DTD的w3c在線檢查工具檢查并沒有發(fā)現(xiàn)時什么問題。我發(fā)現(xiàn)就文件是否正確的角度來說中英文并沒有檢測出什么不同的地方。![image.png](http://upload-images.jianshu.io/upload_images/6083033-f85c897ee5c5c963.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)那么問題來了,范老師究竟是想要我們做什么樣的數(shù)據(jù)清洗呢?我決定進(jìn)一步的探索,我選擇了網(wǎng)上推薦的一款開源編輯軟件editix xml editor![image.png](http://upload-images.jianshu.io/upload_images/6083033-fd802430175afecc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)安裝后,新建工程并開始使用通過檢測全部的文件我試圖發(fā)現(xiàn)全班同學(xué)的rdf是否有問題![image.png](http://upload-images.jianshu.io/upload_images/6083033-bbe201de9b25b2c2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)結(jié)果不出所料![](http://upload-images.jianshu.io/upload_images/6083033-d6c37bb8f6b0bf36.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)那么我想這里單單從語法、從用法的角度是沒有必要清洗foaf數(shù)據(jù)的必要了,那么問題來了,我們該怎么做?我先分析了同學(xué)們的foaf文件發(fā)現(xiàn)有幾點不同* 1、有的同學(xué)使用中文字符(其中中文字符在editxml中存在亂碼現(xiàn)象----懷疑應(yīng)該改成拼音或者英文表達(dá))![image.png](http://upload-images.jianshu.io/upload_images/6083033-758698dd05fa57b2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)* 2、有的同學(xué)認(rèn)識的人數(shù)不同* 3、具體的在認(rèn)識的人的標(biāo)簽下全部的同學(xué)都有范煒762ec4260f2e1f25685e918a2f8adf9da6712be0兩個標(biāo)簽但是并不是所有的都有![image.png](http://upload-images.jianshu.io/upload_images/6083033-3b9c8705e7c22777.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)標(biāo)簽。去foaf網(wǎng)站查找后其實這本是![image.png](http://upload-images.jianshu.io/upload_images/6083033-5f11cba37f9d8293.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)針對以上的幾點不同是我們需要優(yōu)先考慮的清洗的部分。但是我發(fā)現(xiàn)還是沒有什么問題,所以我決定不要信任軟件的全部檢查,一個個查看同學(xué)的foaf文件結(jié)果:軟件真是不能相信的![image.png](http://upload-images.jianshu.io/upload_images/6083033-0c44216d521a248a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![image.png](http://upload-images.jianshu.io/upload_images/6083033-36f2727953fc52a2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)有的是少了person(06號)學(xué)號尾號是17的同學(xué)少了person![image.png](http://upload-images.jianshu.io/upload_images/6083033-6b49eff6fcd7f7d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)尾號為18的同學(xué)刪除qq號后面數(shù)字后正常22號也是相同的問題經(jīng)過長時間認(rèn)真的篩查后,清洗foaf的工作圓滿的完成了。##四、將FOAF文件存入RDF TripleStore下載apache jena .zip解壓然后下載fusiki![image.png](http://upload-images.jianshu.io/upload_images/6083033-f79158402f51ca6e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)解壓后打卡cmd![image.png](http://upload-images.jianshu.io/upload_images/6083033-0bc37e602c33dd08.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![image.png](http://upload-images.jianshu.io/upload_images/6083033-6b284c4fe9bfd4b1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)打開localhost:3030,然后進(jìn)行上傳工作。![image.png](http://upload-images.jianshu.io/upload_images/6083033-2ad760024a49faf1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![image.png](http://upload-images.jianshu.io/upload_images/6083033-568881e0b101766f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)然而在上傳的時候出現(xiàn)了很多的錯誤。為什么呢,出現(xiàn)編碼問題經(jīng)過仔細(xì)的排查我發(fā)現(xiàn)有兩個解決途徑:1、將中文全部表示為英文標(biāo)識2、通過notepad++將編碼格式改變![image.png](http://upload-images.jianshu.io/upload_images/6083033-30aa7058ffdfe20c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)但是增加這一行后沒有解決問題通過軟件更改編碼模式最后我通過更改編碼格式來解決這個額問題![image.png](http://upload-images.jianshu.io/upload_images/6083033-c10f3807fb62751c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)都上傳成功了點擊edit![image.png](http://upload-images.jianshu.io/upload_images/6083033-dd63b4ac26cab681.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)點擊info查看信息## 五、使用SPARQL語法進(jìn)行簡單查詢SPARQL是為rdf開發(fā)的一種查詢語言和數(shù)據(jù)獲取協(xié)議,反正就把它當(dāng)作關(guān)系型數(shù)據(jù)庫的sql語言進(jìn)行nosql數(shù)據(jù)庫的查詢。進(jìn)行最簡單的3元組查詢![image.png](http://upload-images.jianshu.io/upload_images/6083033-5b0e771d65046bc4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)調(diào)整limit可以改變查詢獲得的數(shù)量調(diào)整offset可以跳過開始的條數(shù)并且通過實驗我發(fā)現(xiàn)大小寫在sparql中都是可以的查詢個人![image.png](http://upload-images.jianshu.io/upload_images/6083033-7eb865e76853cb9a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![image.png](http://upload-images.jianshu.io/upload_images/6083033-fabeb25b212e5ade.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)在我看來這個data文件形成了一個大表,把所有foaf文件鏈接起來![image.png](http://upload-images.jianshu.io/upload_images/6083033-d2e70c9137e288c7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)接下來查詢失敗![ ](http://upload-images.jianshu.io/upload_images/6083033-5c047bb54231ab5e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)查詢名字(賓語部分)![image.png](http://upload-images.jianshu.io/upload_images/6083033-d9b3ef3aa0fd506c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)##六、補(bǔ)充相關(guān)數(shù)據(jù),建立數(shù)據(jù)關(guān)聯(lián)。這里我查詢了一下并沒有具體的做法。1、創(chuàng)建新的節(jié)點2、通過D2R服務(wù)器在語義Web上發(fā)布關(guān)系數(shù)據(jù)庫的工具##七、建立可視化關(guān)系圖![image.png](http://upload-images.jianshu.io/upload_images/6083033-f88330ba175c8bb6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![image.png](http://upload-images.jianshu.io/upload_images/6083033-d77307d2839a3c4c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)然而下載失敗使用另外一個軟件![image.png](http://upload-images.jianshu.io/upload_images/6083033-608f6d4bda9c0f4f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)再次更換技術(shù)路線使用progege![image.png](http://upload-images.jianshu.io/upload_images/6083033-1e2721f7d5468b3d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)在Protege中應(yīng)該是不能編輯OWL代碼的,但可以生成或?qū)С鯫WL、RDF代碼。如果想直接編輯OWL代碼,然后在針對這種可視化的語言進(jìn)行操作。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容