# 新一代Web技術筆記 ![](https://i.imgur.com/gKsDyVj.png) 組成順序 URL->XML->RDF->RDFS ****Web 1.0**** 資料顯示標準是HTML 強調給人去瀏覽資料 ****Web 2.0**** 資料顯示標準是XML(強調語法) 強調資料的分享、交換 不僅給一般人看也會給工程師,藉由使用XML的標準達到資料交換效果 ****Web 3.0**** 資料顯示標準是RDF(強調語義) 強調知識 什麼是語義? 它是讓電腦上、Web資訊定義更好的語義且可以達成自動處理的效果 ## 線上資源 >https://www.w3.org/RDF/Validator/ (RDF線上編譯網頁版) >https://www.w3.org/TR/rdf-schema/#ch_property (RDF Schema 文件) >https://www.w3.org/standards/semanticweb/ontology (ontology理解) >http://rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/88986/4/500104.pdf (中文文件說明-RDF) >https://blog.csdn.net/littleorange6/article/details/77512823 (RDF基本概念-簡單介紹) ## Markup Language 標示語言、標記語言、標籤語言 由標籤(Tags)所組成 標籤用來標註文字內容 SGML、XML、HTML、WML、…. ## 小知識 ### Unicode Unicode 又可稱為萬國碼,較多人稱為統一碼,Unicode包含了許多國家的文字和數字等等也包含了符號,有了Unicode 在瀏覽不同國家的網站等,不會因為編碼不同而造成亂碼能夠順利的轉換為我們能看懂的文字和符號。在傳遞資料時更加方便閱讀 像目前資料交換技術的Markup Language 也採用了Unicode進行編碼。如XML 利用了Unicode編碼能夠讓資料閱讀更加以清晰方便。 現今Unicode 以包含了14萬個字元 ## XML基本介紹 xml是一種metadata 可以自行設計文件格式 文件格式可包含標記(***Markup Language***)來加強文件內容的涵義 Namespaces >Namespaces中文可譯為名稱空間,是在XML文件中被設定使用的,簡單來說Namespaces可看成是一群標籤(元素)名稱或屬性名稱所組成的集合,其功能主要是用來清楚的辨別XML文件中標籤(元素)、屬性的名稱,當XML文件中有包含使用不同標示語言的標籤(元素)或屬性時,就必須宣告Namespaces來作為識別的依據 為何使用Namespaces >1. 引用不同的標示語言 >2. 避免同名的衝突 URI ![](https://i.imgur.com/4jzygFK.png) URL ![](https://i.imgur.com/MjkPqqL.png) URN ![](https://i.imgur.com/EK99mdD.png) ---- ## 語法 >xml:base: 能夠達到唯一識別的URL >rdfs:range: state these values of a property are instances of one or more classes >rdfs:domain: state that any resource that has a given property is an instance of one or more classes ---- ## 滿足XML基本要求 1. 滿足well-formed ## RDF vs XML RDF:強調智慧運用 資源對資源 XML: 應用在Web2.0 強調資料交換技術 ## well-formed 的xml well-formed:Well-Formed XML文件是滿足XML文件最基本的條件,也就是說要成為XML文件是有條件的,而這最基本的條件就是Well-Formed。Well-Formed的中文是滿難去翻譯的,有人譯為『良好格式』、『格式正確』或『標準的』 >滿足well-formed的條件 ![](https://i.imgur.com/poioNO7.png) ----- ## XML DTD 文件型態定義(Document Type Definition, DTD) DTD 的目的是定義 XML 文件的結構 通过 DTD 驗證的XML為"合法"的 XML >使用DTD定義標籤格式 1. 外部DTD 1. 公開用 2. 私人用 3. 內部DTD(比較常使用)* >若要出現多次(使用*) ## XML Schema 定義 >it is used to describe and validate the structure and the content of XML data. 用於描述和驗證 XML 數據的結構和內容 >XML schema defines the elements, attributes and data types. 定義了元素、屬性和數據類型 >Schema element supports Namespaces 可以處理名稱空間 ---- ## 為甚麼使用RDF(Resource Description Framework ) ![](https://i.imgur.com/IFdIdb4.png) ## RDF(RDF = XML + triple) ![](https://i.imgur.com/c8G8qnt.png) ![](https://i.imgur.com/Vnmjj89.png) ![](https://i.imgur.com/hG4vpGJ.png) 描述資源的data架構 描述資源對資源的架構 #### 特性 1. RDF is an attempt to put metadata language into XML >RDF 它的資料標準是使用XML只是RDF多個限制條件也就是Triple關係 2. Triples - Directed Graph >RDF展開來的圖是三元組的關係圖且有方向性 3. RDF Inherits all XML concepts for element properties ![](https://i.imgur.com/avieVQQ.png) ![](https://i.imgur.com/UdbEqRw.png) ![](https://i.imgur.com/13UEcll.png) ![](https://i.imgur.com/7qCOLDA.png) ## Metadata >主要目的: 可以用XML或RDF描述metada"d"a文件 >是用來描述資料的資料,像是要我們填寫個人資料那些也可以算是Metadata(可用XML描述) >抑或是借書證目錄包含有關出版物(data)的信息(metadata) ## Metalanguage >利用DTD創造新的XML描述文件(創新的xml語言) ## Metaclass > class to class ## ontology ![](https://i.imgur.com/JvuU3XO.png) ![](https://i.imgur.com/INHtLaf.png) ![](https://i.imgur.com/zP1sOUl.png) XML Schemas -句法 -數據的格式 -事實 RDF Schemas -語義 -知識的表示 -推論其他事實 ---- ## RDF Schema 滿足RDFs條件 1. rdf 2. xml 3. class ![](https://i.imgur.com/ix2mylo.png) >domain v.s. range range rdfs:range=表示該屬性的取值類型 ![](https://i.imgur.com/sjJCiSD.png) domain rdfs:domain=表示該屬性屬於哪個類別 ![](https://i.imgur.com/64gPd0A.png) ![](https://i.imgur.com/Df23AQq.png) >![](https://i.imgur.com/RoaBE2L.png) ex: ![](https://i.imgur.com/TcdjALY.png) >定義類別 ![](https://i.imgur.com/YuUfo4o.png) >定義屬性(emptiesInto) ![](https://i.imgur.com/ubOexOQ.png) ![](https://i.imgur.com/WcDcd27.png) --- ## 僅供參考的名詞解釋 web1.0 : 強調給人瀏覽資料,顯示標準是HTML web2.0 : 強調資料的分享和交換,顯示標準是XML,強調語法 web3.0 : 強調智慧應用,使系統變得聰明 ,顯示標準是RDF,強調語義 Markup language : 標籤語言,由標籤(Tag)組成,用來標註文字內容 Unicode : 為了解決各國編碼不同而產生亂碼的問題,而誕生的字元集 XML : 一種metadata,可自行設計文件格式,可用markup language來強調內容涵義 Metadata:描述資料屬性的資料 Namespace:在XML中,是一群標籤或屬性所組成的集合,用來分辨XML文件中的標籤(1.已用不同的標籤語言2.避免同名衝突) URI:網路上定位某一資源的方法,可以是任何實體,可達到辨別該實體的唯一性。實質上是一個概念,並無包含實體,指的是URL和URN URL:一個指向資源所在位址的指標,而指標中也需指定連接的方式 URN:可鑑別實體的唯一性,以名稱作為識別的依據 well-formed:滿足XML的10個基本條件: | XML文件宣告指令 |XML只能有一個根節點 |對稱型標籤 | 空標籤 |滿足巢狀排列 | | ------------ | ------------- | ----------- | -------- | -------- | |英文字母大小寫有差異 |屬性值的設定| 重複屬性 |特殊字元的使用|使用正確的物件名稱 DTD:目的是定義XML文件的結構,以標籤格式分為內部、外部 XML Schema :用於描述和驗證 XML 數據的結構和內容,定義了元素、屬性和數據類型,可以處理名稱空間 RDF:可以描述資源與資源的關係,透過URI標示資源,用屬性跟屬性值來描述 RDF = XML + triple(展開來的圖是三元組的關係圖、有方向性) Metalanguage:用DTD創造的XML描述文件 Metalcass:定義特定的類別及類別實例的行為 ontology:用於描述由一套物件類型、屬性以及關係類型所構成的世界 XML Schemas VS RDF Schemas | XML Schemas | RDF Schemas | | -------- | -------- | | -句法|-語義| -數據的格式|-知識的表示| -事實 | -推論其他事實 | RDFs=rdf+xml+class --- ## OWL(Web Ontology Language) OWL=RDF Schema + more 首先要建ontology ![](https://i.imgur.com/FCc1VCA.png) ### Defining Property 1. Symmetric Properties(對稱屬性) ![](https://i.imgur.com/oShhOL4.png) 2. Transitive Properties ![](https://i.imgur.com/UVQm39M.png) ![](https://i.imgur.com/yXRjd3w.png) 3. Functional Properties ![](https://i.imgur.com/tLZCWqa.png) ![](https://i.imgur.com/c4OU4aN.png) 4. Inverse Properties ![](https://i.imgur.com/ddc6V6G.png) ![](https://i.imgur.com/FcYLMvm.png) 5. Inverse Functional Properties ![](https://i.imgur.com/NRzhZdD.png) ![](https://i.imgur.com/kfCuK8F.png) ![](https://i.imgur.com/DOYN11y.png)