# Semantic web 它不是處理人類語言上的意義 語意網 是為機器(app)能理解及應用 提供一致的語法格式 提供標準的詞彙來解釋 提供統一的查詢應用 RDFa 可以對全世界的網頁做 摘要做收集 (爬蟲) 了解資料模型 三元組 空節點 link linked data 實現web of data 為應用程式創造可操控的資料空間 四原則 讓資料命名要有網址 透過http uri 可以查資料 查資料 要保證提供 資料可以延伸鏈結下去 鏈結資料 > 詞彙 > 查詢 > 推理 > dbpedia 機器使用的百科 resource Description framework RDF 資源描述框架 資料模型 可自由定義語意及詞彙,因此是用在任何領域。 序列化 轉換編輯 資料轉換軟體 OpenRefine (http://blog.infographics.tw/2015/09/openrefine-introduction/) what is metadata ? 解釋資料的資料,就是資料結構的框架(RDF),後來演變為描述網路資源的模型,簡單的 e.g. URL代表一整個網站的資料 框架可表達領域的定義 概念 階層間的關係 使得語法升級為語意層級 能讓機器理解及處理,而不喪失語意的通用框架 一個陳述(statement)就是一個triple 固定由主詞 謂(述)詞 受詞組成 SPO Subject-Predicate-Object Statement (triple)可繪成node-arc-node is a 是一個 has a 有一個 資料就這兩大類 Statement (triple) 組成 主詞 (Subject):內容必須是資源的IRI (URI).. 受詞(object):內容可為literal (文字、數字、日期)或是其他資源(URI表達的) 謂詞(predicate):也稱為述詞 resource 與 entity 同意 規則1 :知識由一組statements來呈現 每一個statement依Subject-Predicate-Object排列 規則2 :資源必須以URI識別 主詞須以URI識別 受詞若為資源形式,也須以URI識別 謂詞須以URI識別,Linked data通常用標準詞彙(vocabulary) 序列化 //整個是RDF <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" //兩行為描述 xmlns:foaf="http://xmlns.com/foaf/0.1/"> <rdf:Description rdf:about="http://www.cycu.edu.tw/person#ylc"> //主詞 <foaf:givenname>Max</foaf:givenname> //謂詞 受詞 <foaf:surname>Chi</foaf:surname> //謂詞 受詞 </rdf:Description> </rdf:RDF> 表頭-註明引用的Namespace,使用前置詞 @prefix foaf: <http://xmlns.com/foaf/0.1/> . 陳述句是一組triple ,結尾加句點 <http://www.cycu.edu.tw/ns/pe rson#ylc> foaf:surname "Chi" . 使用分號表示共用主詞,寫成 <http://www.cycu.edu.tw/ns/person#ylc> foaf:givenname "max" ; foaf:surname "Chi" . 使用逗號表示共用主詞與述詞,寫成 <http://www.cycu.edu.tw/ns/person#ylc> foaf:phone "02-23345678" , "0933456789" . sparql 是專門查詢 RDF的查詢語言 endpoint 資料端點 RDF(及其儲存庫)扮演這個Tell ,SPARQL扮演Ask 存rdf的稱為 triple story 存放三元組資料 SPARQL 語法結構 SPARQL語法結構,概略包含前置詞、顯示項目、條件 SPARQL 語法結構 SPARQL語法結構,概略包含前置詞、顯示項目、條件 PREFIX ns: <URI> 每次都要用到的 就另外命名 以其他名稱代替他 以後只要呼叫那個名稱(ab:) turtle 與 sparql 差異 要用#或/隔開 但最好遵從原有的 jena 安裝 command line tools ARQ https://jena.apache.org/ 環境設定 JAVA_HOME=C:\Program Files\Java\jdk1.8.0_73 JENA_HOME = C:\SPARQL\apache-jena-3.1.1 Classpath= .; C:\SPARQL\apache-jena-3.1.1\lib 測一下環境狀態 DOS Mode CMD C:\.. \apache-jena-3.1.1>java -version C:\.. \apache-jena-3.1.1\bat>arq 增加path %JENA_HOME%\bat > echo %JENA_HOME%\bat 出現 only one query string allowd 需要加” ” CMD視窗Command line 執行 (arq or sparql ) arq --data=“ex30.ttl” --query=“q30.rq” SPARQL通常將一些常用Namespace,列入前置詞(prefix) Prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> Select * Where { ?s vcard:FN ?o} SPARQL 問號(?)開頭的變數可以自訂 prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> Select ?item ?name Where { ?item vcard:FN ?name .} 限制查詢某特定姓氏人的名字(本例是blank node) prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> Select ?item ?givenName Where { ?item vcard:Family "Smith" ; vcard:Given ?givenName . } 共用主詞時使用分號 ; SPARQL 提供數字運算的keywords Count () 計算總數 其他計算如 MIN(), Max(), Sum(), Avg(), … 計算 ex31.rdf 的triples總數 Select (count (?s) as ?Total) Where { ?s ?p ?o} 計算 ex31.rdf 總人數 prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> Select (count (?s) as ?Total) Where { ?s vcard:FN ?name .} 剔除重複的資料可以加入distinct Select (count ( distinct ?s) as ?Total) 亂碼 chcp65001 在cmd 打上 之後 就便UTF8 vcard: uri 是用來定義 屬性 vcard foaf sparql 沒有值就直接不顯示 要找到空值 全列出來 要先找到前一個受詞 再用受詞 去找 optional union 差別 db 保有資料 我們在map一個RDF映射檔 製作映射檔 關聯資料庫經由映射檔,將內容轉換成RDF generate-mapping -o mapping-xxx.ttl -u root -p maxchi jdbc:mysql://140.135.113.186/pharmacy -o output ➔ filename -u DB user name -p DB password 查看 type mapping-xxx.ttl 對應DB的資料值➔受詞 一般文字值 d2rq:column “pharmacy.organization-name”; URI d2rq:uriPattern "http://example.org/region/@@pharmacy.region@@" d2rq:uriSqlExpression "CONCAT('http://example.org/city#', pharmacy.locality )"; Reconcile 整合協調功能 建立一個代稱 已知的事實 去推導 axiom 語意定義 = 模型 理解(understanding) 應用系統對知識模型解譯(parse),可在計憶體中建立一系列公理(axiom),形成邏輯運算規則 公理是指不需證明的事實,例如宣告:「所有餐飲業都是服務業」 推理(reasoning) 應用系統基於公理進行邏輯運算,將會增加一些新的陳述,這些陳述並沒有在原事實中提及 資料塑模與OWL W3C提供RDFS及OWL規範,用於語意網的資料塑模 網路上的一切都須要標準化,遵循規範是唯一解 規範目的即是在資料層之上,提供共通語言及詞彙 二項規範是基礎及原始的依據 開發者可以直接應用規範的詞彙於資料塑模 詞彙也可用來創建新的模型 例如創造新的概念、屬性、及關係等 owl類似rdfs 但比rdfs 給更多的詞彙 OWL類似RDFS ,提供更豐富的語意描述 SKOS skos:inScheme:將概念連結歸類至概念類表
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up