




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Resource
Description
Framework
RDFSX1316042王飛ResourceDescriptionFramewoReview-theBasicKnowledgeofXML1.XML(可擴展標記語言),用于網絡上電子標記文本的描述和發(fā)送。WebService的基石是分布式和基于Web的計算。如何在異構的系統(tǒng)、不同語言開發(fā)的模塊之間進行信息與數據的交互呢?XML應運而生了,它作為一種存儲數據的格式,能夠被不同的語言所解析(如Javadom4j、C#xmldocment等),能夠靈活地在異構的系統(tǒng)之間傳遞信息。WebService技術完全基于XML(WebService三大核心標準:SOAPWSDL和UDDI)Review-theBasicKnowledgeof22.XML的基本文檔結構2.XML的基本文檔結構33.問題出現(xiàn)了3.問題出現(xiàn)了4
以上兩棵不同的XML語法(syntax)具有相同的的語義(semantic)內容,在WebService實際過程中,這樣的情況很有可能發(fā)生,如何解決呢?Wecanshifttheemphasisfromthesyntaxofthedocumenttothestructureofthecontentthatitrepresents.——MunindarP.SinghRDF(ResourcesDescriptionFormat):為我們提供一套標準規(guī)則去獲取文檔中的信息,而我們不用關心文檔的語法結構。以上兩棵不同的XML語法(syntax)具有相同的的語義(5語義網層次語義網層次6RDF簡介
資源描述框架(RDF)是一個用于表達關于萬維網(WorldWideWeb)上資源信息的語言.它專門用于表達關于Web資源的元數據,比如Web頁面的標題、作者和修改時間,Web文檔的版權和許可信息,某個被共享資源的可用計劃表等。然而,將“Web資源(Webresource)”這一概念一般化后,RDF可被用于表達關于任何可在Web上被標識的事物的信息,即使有時它們不能被直接從Web上獲取。比如關于一個在線購物機構的某項產品的信息(例如關于規(guī)格、價格和可用性信息),或者是關于一個Web用戶在信息遞送方面的偏好的描述。
RDF定義了一個簡單的模型,通過指定的性質和相應的值描述資源之間的關系,可以表示一個實體關系圖RDF簡介資源描述框架(RDF)是一個用于表達7RDF思想RDF基于這樣的思想:用Web標識符(URIs)來標識事物,用簡單的屬性(property-特征,性質,關系)及屬性值來描述資源。這使得RDF可以將一個或多個關于資源的簡單陳述表示為一個由結點和弧組成的圖,其中的結點和弧代表資源、屬性(特征,性質,關系)、屬性值??疾槿缦玛愂龅腞DF圖表示“有一個人由/People/EM/contact#me標識,他的名字是EricMiller,他的電子郵件地址是em@,他的頭銜是Dr.”
RDF思想RDF基于這樣的思想:用Web標識符(URIs)來8
可以看出:個體、事物的種類、事物的屬性、屬性的值都是由用URIs來標識的。RDF介紹要點課件9RDF模型基本概念(BasicConcepts)RDF資源標識和詞匯集RDF圖模型
結構化屬性值與空白節(jié)點(StructuredPropertyValuesandBlankNodes)
類型文字(TypedLiterals)RDF模型10基本概念(BasicConcepts)
RDF基于這一思想:被描述的事物具有一些屬性,而這些屬性各有其值;特性值既可以是文字也可以是資源;如果特征值是資源,該特性也可以看成是兩個資源之間的關系;對資源的描述就是對資源的特征及值進行陳述。由此,RDF數據模型的四種基本對象類型:資源:web上以URI表示的所有事物都可稱為資源。性質(property):用來描述資源的特征、屬性或關系文字:字符串或數據類型的值陳述:一個特定的資源加上性質及性質值就是一個RDF陳述其中陳述由三個部分組成:主體:關于事物的陳述中用于識別事物的那部分謂詞:用于區(qū)分陳述對象主語的各個不同屬性的那部分客體:陳述中用于區(qū)分各個屬性的值的那部分基本概念(BasicConcepts)RDF基于這一思想11考慮英文陳述:
/index.htmlhasacreatorwhosevalueisJohnSmith
這個陳述里的不同部分用RDF術語來說就是:主體是URL/index.html謂詞是詞“creator”客體是短語“JohnSmith”/index.html就是這句陳述所描述的資源,該資源有一個特性“creator”,其值是一個文字“JohnSmith”??紤]英文陳述:12
RDF圖模型RDF的本質是陳述的圖模型,而用于描述這個圖的表示法則是次要的。RDF模型的三種表示方法:圖示法:直觀,但不便于機器處理三元組:表示簡略清楚,但不適合在網絡上交換{index.htmlcreator85740}RDF/XML語法:用基于XML的語法編碼RDF,是W3C推薦的RDF語法
RDF圖模型13Representation-TripleOraLassilaisthecreatoroftheresource/Home/LassilaRepresentation-TripleOraLas14Representation-GraphRepresentation-Graph15StructuredPropertyValuesandBlankNodes考慮一個稍復雜的陳述:“約翰的地址是在1501GrantAvenue,Bedford,Massachusetts01730”在這里約翰的地址需要記錄為由一個街道,城市,州和郵政編碼組成的結構。我們把包含復雜信息結構的特性稱為結構化特性。這些在RDF中是如何描述的?
把被描述的事物聚集體(比如:JohnSmith的住址)看成一個資源,生成一個新節(jié)點,并用新的URIref來標識。然后,將復雜的結構化特性分解為多個RDF特性進行描述StructuredPropertyValuesand16相應的三元組表示如下:exstaff:85740exterms:addressexaddressid:85740.
exaddressid:85740exterms:street"1501GrantAvenue".
exaddressid:85740exterms:city"Bedford".
exaddressid:85740exterms:state"Massachusetts".
exaddressid:85740exterms:postalCode"01730".RDF介紹要點課件17思考:這種描述方法會產生很多的“中間的”URIrefs,且這些概念可能從來不會被從RDF圖的外部引用,因此可能不需要“通用的”標識符,這樣就可以用一種更直觀的方式來表示該例子:
圖中使用了一個沒有URIref的空節(jié)點來表示“JohnSmith‘saddress”這一概念。它雖然沒有URIref,但表達了它應該表達的含義,因為它提供了圖中各個部分之間必需的連通作用,空節(jié)點也被稱作匿名資源。StructuredPropertyValuesandBlankNodes思考:StructuredPropertyValues18RDF/XML-一種用于RDF的XML語法RDF/XML用來書寫和交換RDF圖模型。與RDF的簡略記法三元組表示不同,RDF/XML是書寫RDF的規(guī)范性語法。下圖如何書寫為RDF/XML語法形式?RDF/XML-一種用于RDF的XML語法RDF/XML191.<?xmlversion="1.0"?>
2.<rdf:RDFxmlns:rdf="/1999/02/22-rdf-syntax-ns#"
3.xmlns:dc="/dc/elements/1.1/"
4.xmlns:exterms="/stuff/1.0/">
5.<rdf:Descriptionrdf:about="/TR/rdf-syntax-grammar">
6.<dc:title>RDF/XMLSyntaxSpecification(Revised)</dc:title>
7.<exterms:editorrdf:nodeID="abc"/>
8.</rdf:Description>
9.<rdf:Descriptionrdf:nodeID="abc">
10.<exterms:fullName>DaveBeckett</exterms:fullName>
11.<exterms:homePagerdf:resource="/net/dajobe/"/>
12.</rdf:Description>
13.</rdf:RDF>1.<?xmlversion="1.0"?>
2.20RDF/XML語法的一些特征:1.所有RDF語句都必須在一個rdf:RDF元素中2.每個RDF陳述用一個rdf:Description元素表示,其中用rdf:about屬性的值指明陳述主體的URI引用3.陳述的謂詞作為rdf:Description的子元素出現(xiàn),而客體即是該子元素的屬性或內容。4.客體若是資源用rdf:resource屬性說明,其URI引用則作為該屬性的屬性值給出;若是文字,可用rdf:literal屬性說明,或直接作為子元素的內容。5.rdf:nodeID屬性專門用來表示空節(jié)點,空節(jié)點被指定空白節(jié)點標識符后可以作為主體或客體使用RDF/XML語法的一些特征:21一個RDF圖可以這樣書寫RDF/XML:(1)為所有空白結點(blanknodes)被指定空白結點標識符(2)對每個三元組取其主體對應節(jié)點,生成一個rdf:Description元素。若該結點有URIref,則rdf:Description元素使用rdf:about屬性,取值為該URI引用;若該結點是空結點,則rdf:Description元素使用rdf:nodeID屬性,取值為空節(jié)點標識符。(3)創(chuàng)建一個謂詞URI引用的子元素。如果客體為文字,則該子元素內容為客體,如果是一個URI引用,則指定其rdf:resource屬性值為該引用,如果是一個空節(jié)點,則指定其rdf:nodeID屬性值為該空節(jié)點標識符。一個RDF圖可以這樣書寫RDF/XML:22其它RDF表達能力RDF容器(RDFContainers)RDF集合(RDFCollections)RDF具體化(RDFReification)
XML文字(Literal)(XMLLiterals)其它RDF表達能力23RDF容器一個容器是一個包含了一些事物的資源,這些被包含的事物稱為成員。容器的成員可能是資源(包括匿名節(jié)點)或文字。RDF定義了三種類型的容器:包——Bag,是類型為rdf:Bag的資源,表示了一組可能包含重復成員的資源或文字的無序列表。例如,包可以用來描述對于成員的添加或處理順序沒有特別要求的組。序列——Sequence,是類型為rdf:Seq的資源,表示了一組資源或文字的有序列表。例如,序列可以用來描述一組必須按字母順序排列的事物。替換——Alternative,是類型為rdf:Alt的資源,表示了一組可以選擇的資源或文字(常常是屬性的一個值)。例如,序列可以用來描述一組可以互相替換的關于著作的不同語言的翻譯,或者描述一個資源可能出現(xiàn)的幾個因特網鏡像站點。
RDF容器一個容器是一個包含了一些事物的資源,這些被24RDFContainer-BagExampleRDFContainer-BagExample25RDFContainer-BagExampleRDF/XML<rdf:RDF><rdf:Descriptionabout="/courses/6.001"><s:students>
<rdf:Bag><rdf:liresource="/students/Amy"/><rdf:liresource="/students/Tim"/><rdf:liresource="/students/John"/><rdf:liresource="/students/Mary"/><rdf:liresource="/students/Sue"/></rdf:Bag></s:students></rdf:Description></rdf:RDF>RDFContainer-BagExampleR26RDFContainer–SeqExampleThestudentsincourse6.001arerankedtobeAmy,Tim,John,Mary,andSue. <rdf:RDF> <rdf:Descriptionabout="/courses/6.001"> <s:students> <rdf:Seq> <rdf:liresource="/students/Amy"/> <rdf:liresource="/students/Tim"/> <rdf:liresource="/students/John"/> <rdf:liresource="/students/Mary"/> <rdf:liresource="/students/Sue"/> </rdf:Seq> </s:students> </rdf:Description> </rdf:RDF>RDFContainer–SeqExampleThe27RDFContainer–AltExampleThesourcecodeforX11maybefoundat,,or.RDFContainer–AltExampleThe28RDFContainer–AltExample<rdf:RDF><rdf:Descriptionabout="/packages/X11"><s:DistributionSite><rdf:Alt><rdf:liresource=""/><rdf:liresource=""/><rdf:liresource=""/></rdf:Alt></s:DistributionSite></rdf:Description></rdf:RDF>RDFContainer–AltExample<rd29RDF集合容器的一個缺點是沒有辦法封閉它,即沒有辦法說這些是容器的所有成員。一個容器只說一些有標識的資源是它的成員,無法說沒有其他的成員。RDF以RDF集合的形式提供了對描述特定成員的組的支持。一個RDF集合是用列表結構表示的一組事物,這個列表結構是用一些預定義的集合詞匯表示的。RDF的集合詞匯包括屬性rdf:first和rdf:rest,和資源rdf:nil.例如:我們用RDF集合來描述前面的例子:“參加課程6.001的學生有:Amy,Mohamed,Johann,Maria,和Phuong”RDF集合容器的一個缺點是沒有辦法封閉它,即沒有辦法說這些是30RDF集合RDF圖模型為:RDF集合RDF圖模型為:31RDF集合使用集合的RDF/XML書寫為:<?xmlversion="1.0"?>
<rdf:RDFxmlns:rdf="/1999/02/22-rdf-syntax-ns#"
xmlns:s="/students/vocab#">
<rdf:Descriptionrdf:about="/courses/6.001">
<s:studentsrdf:parseType="Collection">
<rdf:Descriptionrdf:about="/students/Amy"/>
<rdf:Descriptionrdf:about="/students/Mohamed"/>
<rdf:Descriptionrdf:about="/students/Johann"/>
</s:students>
</rdf:Description>
</rdf:RDF>和容器一樣,RDF不提供對集合詞匯使用的檢查,用戶完全可以按照RDF圖的三元組陳述來寫RDF/XML表達,例如:RDF集合使用集合的RDF/XML書寫為:32RDF集合一般的RDF/XML書寫為:<?xmlversion="1.0"?>
<rdf:RDFxmlns:rdf="/1999/02/22-rdf-syntax-ns#"
xmlns:s="/students/vocab#">
<rdf:Descriptionrdf:about="/courses/6.001">
<s:studentsrdf:nodeID="sch1"/>
</rdf:Description>
<rdf:Descriptionrdf:nodeID="sch1">
<rdf:firstrdf:resource="/students/Amy"/>
<rdf:restrdf:nodeID="sch2"/>
</rdf:Description>
<rdf:Descriptionrdf:nodeID="sch2">
<rdf:firstrdf:resource="/students/Mohamed"/>
<rdf:restrdf:nodeID="sch3"/>
</rdf:Description>
<rdf:Descriptionrdf:nodeID="sch3">
<rdf:firstrdf:resource="/students/Johann"/>
<rdf:restrdf:resource="/1999/02/22-rdf-syntax-ns#nil"/>
</rdf:Description>
</rdf:RDF>
RDF集合一般的RDF/XML書寫為:33RDF陳述具體化-語句的復合高階語句-語句的復合(statementaboutstatement)建立一個關于另一個語句的復合,需要為原語句建立一個模型,該模型是新資源,可將一些附加的性質連接到該新資源上.例:北大網絡實驗室是資源/的創(chuàng)建者.-該句子是一個事實.例:李教授說北大網絡實驗室是資源/的創(chuàng)建者.-一個李教授曾說過的一句話的事實.用RDF表示這個事實需要將原語句建模為一個擁有4個性質的資源,稱為具體化(Reification).一個語句的模型稱作具體化語句(ReifiedStatement).RDF陳述具體化-語句的復合高階語句-語句的復合(state34具體化(Reification)RDF定義了以下性質:主體(subject):主體性質標識了正在被該語句描述的資源,即主體性質的值正是原始語句描述的那個資源.(上例:/)謂詞(predicate):謂詞性質標識了該語句的原始性質。謂詞性質的值為一個資源,該資源代表了原始語句中給定的性質的值。(上例:創(chuàng)建者Creator)客體(object):客體性質標識了該語句中性質的值。客體性質的值就是原始語句的客體。(上例:北大網絡實驗室)類型(tpye):類型性質的值描述了新資源的類型。所有具體化語句都是RDF語句的實例,即它們都有一個客體為RDF:Statement的類型性質.類型性質更多地用于聲明資源的類型.一個擁有以上4個性質的新資源表示原始語句,可以用作其它語句的客體,也可以創(chuàng)建另一個語句來描述這個新資源。擁有4個性質的資源是原始語句的模型。具體化(Reification)RDF定義了以下性質:35語句復合的RDF/XML表示<rdf:RDFxmlns:rdf=“/1999/02/22-rdf-syntax-ns#”xmlns:s=“/schema/”><rdf:Description><rdf:subjectresource=“/”/><rdf:predicateresource=“/schema/Create”/><rdf:object>北大網絡實驗室</rdf:object><rdf:typeresource=/1999/02/22-rdf-syntax-ns#Statement/><a:attributedTo>李教授</a:attributedTo></rdf:Description></rdf:RDF>語句復合的RDF/XML表示<rdf:RDF36RDFS簡介RDFS:資源描述框架模式,RDFSchema。RDFS的引入為什么需要RDFS?RDF只定義用于描述資源的框架,并沒有定義用哪些詞匯來描述資源。RDF允許任何人用詞匯集描述語言來創(chuàng)建自己的詞匯集。問題RDF沒有提供任何機制來說明類的特性、類與類之間的關系、特性之間的關系以及特性與類之間的關系。RDFS簡介RDFS:資源描述框架模式,RDFSchema37RDFS簡介RDFS就是一種RDF詞匯集描述語言,它定義如何用RDF來描述詞匯集,并提供了一個用來描述RDF詞匯集的詞匯集。簡單地說RDFS提供了一個應用于RDF模型中的基本類型系統(tǒng)(而不是具體類型),定義了用來描述類、特性和其它資源以及它們之間關系的類和特性。RDFS額外的描述能力由預先定義的RDF資源帶來,稱為RDFS核心詞匯,在一般被稱為“rdfs”的名稱空間中定義。該名稱空間用URI引用/2000/01/rdf-schema#標識。RDFS簡介RDFS就是一種RDF詞匯集描述語言,它定義如何38RDFSRDFS39本體的主要特征?概念層次性Concepthierarchy,–概念包含關系conceptsubsumption?特殊與一般關系InstanceOfRelation(Instances)?部分與整體關系PartOfRelation(property)本體的主要特征?概念層次性Concepthierarchy40RDFS簡介RDFS類型系統(tǒng)與OO類型系統(tǒng)的相似點:資源可以定義為一個或多個類的實例。類可以構成類層次。RDFS類型系統(tǒng)與OO類型系統(tǒng)的區(qū)別:OO類描述為具有一些特定屬性的集合,代表OO對象的共同屬性,定義了OO類的“框框”,即OO對象必須滿足OO類的定義。RDFS描述屬性可以作用于哪些特定的類,不是RDF的“框框”,不代表共同屬性,RDFS為RDF提供附加信息,是對RDF的補充。另外一個重要的區(qū)別是:RDFSchema的描述不一定像程序設計語言的類型聲明那樣一定是規(guī)約性的。RDFS類的核心概念是資源分組(group)。同樣地,RDFSisdifferentthanXMLSXMLSconstrainsthestructureofXMLdocumentsRDFSdefinesthevocabularyusedinRDFdatamodelsRDFS簡介RDFS類型系統(tǒng)與OO類型系統(tǒng)的相似點:41RDFS簡介例如:在一個典型的面向對象編程語言中,類Book會定義為有一個屬性author,且author的類型是Person;而在RDFSchema中,類ex:Book和屬性ex:author都會被分開定義,另外,屬性ex:author的定義域是ex:Book,值域是ex:Person。以性質為中心的RDFS也就是說RDFS不是通過類的實例可能具有的性質來定義類,而是通過與該性質相關聯(lián)的資源類來定義性質。RDFS這種以性質為中心的方法的一個優(yōu)點就是:任何人都可以使用這種方法來描述關于已經存在的資源的任何信息。RDFS簡介例如:42
以性質為中心的RDFS
文檔
人
作者DC:Titile文本常量(Literal)標題姓名
簡單模型文檔
人DC:Titile文本常量(Literal)標題姓名
作者domainrange強調性質的表示突出資源極其相互之間的關系.突出作者性質,而不是資源本身.引入domain(定義域)和(值域)概念突出性質.
以性質為中心的RDFS
文檔人作者DC:43RDFS基本概念Class,subClassOfProperty,subPropertyOfDomain,rangetype語句(聲明一個資源resource是一個類class的實例)RDFS基本概念Class,subClassOf44RDFS中的subclass-of層次結構rdf:resourcerdfs:Classrdfs:ConstraintResourcerdf:Propertyrdfs:ConstraintPropertyrdfs:MembershipPropertyRDFS中的subclass-of層次結構rd45類和性質RDFS的設計思想就是視一切為資源,包括實例、類、屬性和陳述。資源可以被劃分成各種類(class),類的成員稱類的實例(Instance)類(rdfs:Class)本身也是資源(rdfs:Resource),用RDFURI標識,用RDF的性質(rdf:Property)描述性質具有domain(定義域)和range(值域)兩種約束,domain約束將性質與類連接起來,指定主體資源.range約束限制了性質的取值范圍,指定客體資源.類和性質RDFS的設計思想就是視一切為資源,包括實例、類、屬46domain和range通過引入domain和range概念突出性質,并將性質與它的主體類和客體類聯(lián)系起來.上圖性質作者的domain為文檔類,range為人類.type箭頭表示資源/doc1的類型為文檔類,資源/per1的類型為人類.即資源/doc1可看作是文檔類的一個實例,資源/per1可看作是人類的一個實例.文檔
人/doc1type
作者domainrange/per1typedomain和range通過引入domain和range概念47domain和range文檔
人/doc1
作者domainrange/per1
作者上層描述了性質-作者下層描述了資源/doc1和/per1之間的聯(lián)系.兩層結構具體化
資源
性質
作者
文檔
人subClassOfsubClassOfsubClassOftypedomainrangedomain和range文檔人http://d48domain和range示例具體化后的完整模型
資源
性質
作者
文檔
人subClassOfsubClassOfsubClassOftypedomainrange/doc1type/per1type
作者射雕英雄傳
金庸文本(Literal)DC:TitlenametypeClassClassdomain和range示例具體化后的完整模型資源49核心類rdfs:Resource-所有資源的類RDF所描述的所有事物都是所有其它類都是這個類的子類rdfs:Resource是rdfs:Class的實例;rdfs:Class-所有類的類所有類資源組成的類表示資源的類型,用來定義RDFS中的概念。Rdfs:Class是rdf:Class的實例;rdf:Property-所有屬性的類RDF性質構成的類,描述那些作為RDF性質的資源;rdfs:Literal-所有文字(字符串)的類
RDF性質構成的類,由常量值構成的類,可為字符、數字等,往往是性質的取值。Rdfs:Literal是rdfs:Class的實例,是rdfs:Resource的子類;rdf:Statement-所有具體化陳述的類所有RDF語句都是rdf:Statement類的實例。
rdf:Statement是rdf:subject,rdf:predicate,rdf:object性質的domain.核心類rdfs:Resource-所有資源的類50核心屬性(性質)rdf:type-資源和類之間的instance-of關系說明一個資源是一個類的實例,描述資源和類之間的instance-of關系一個rdf:type性質的值是一個資源,這個資源是rdfs:Class的一個實例.一個資源可能是多個類的實例rdfs:subClassOf-兩個類之間的子類/超類關系指定兩個類之間的子類/超類關系及物的,例如如果類A是類B的子類,且類B是類C的子類,那么隱含了類A也是類C的子類.rdfs:subPropertyOf-一個性質是另一個性質的實例Rdf:Property的一個實例,描述了性質之間的包含關系,用來說明一個性質是另一個性質的實例.如果性質A是性質B的子性質,而資源R有一個A性質并且值為V,那么R也有一個性質B值為V。同樣如果性質A是性質B的子性質,且性質B是性質C的子性質,那么隱含了性質A也是性質C的子性質.核心屬性(性質)rdf:type-資源和類之間的inst51帶約束的核心屬性(性質)rdfs:domain-限定屬性的定義域Apropertymaybeusedonresourcesofacertainclass.例如:性質author只能來源于Book類的一個實例.rdfs:domain是rdf:Property類的一個實例,用來表示由具有給定性質的資源構成的類.一個特性可以有零個、一個、或多個domain特性,若沒有domain特性,那么任何資源都可以作為特性的主體。若有多個domain特性,則特性主體的資源是所有被指定為定義域的類的實例,即多個定義域的交。rdfs:range-限定屬性的值域表明性質的值必須是指定類的實例.例如:性質author的值必須是Person類的實例.rdfs:range是rdf:Property類的一個實例,用來表示作為性質值的資源所構成的類.rdfs:range性質的值是rdfs:Class類.一個特性可以有零個、一個、或多個range特性,若沒有range特性,那么特性值就沒有限制。若有多個range特性,則特性值是所有被指定的類的實例,即多個值域的交。帶約束的核心屬性(性質)rdfs:domain-限52具體化的屬性(性質)rdf:subject
表示一個資源是某個RDF語句的主體.rdf:subject的rdf:domain是rdf:Statement,它的rdfs:range是rdfs:Resource.rdf:predicate表示一個資源是某個RDF語句的謂詞.rdf:predicate的rdf:domain是rdf:Statement,它的rdfs:range是rdfs:Resource.rdf:object表示一個資源是某個RDF語句的客體.rdf:object的rdf:domain是rdf:Statement.因rdf:object的值即可為常量又可為資源,故沒有該性質的range.具體化的屬性(性質)rdf:subject53RDF語義的不足從語義上看RDF有兩個看上去是矛盾的缺點,表達能力太弱和表達能力太強。表達能力弱是因為它沒有任何概念和關系構造子,不能構建新的概念和屬性;除了性質的定義域和值域外,缺乏對類的約束手段。另一方面RDF(S)的表達能力強,和一般的邏輯相比,其主要特點是:(1)認為一切是資源,不加以嚴格區(qū)分(2)RDF語義的模型論中區(qū)分了分類和性質的內涵和外延(3)遞歸現(xiàn)象。這些特點使得RDFS難以被OWL等本體語言使用時完全向上兼容。因為RDF模型論加入描述邏輯表達能力以后是不可判定的。RDF語義的不足從語義上看RDF有兩個看上去是矛盾的缺點,表54Resource
Description
Framework
RDFSX1316042王飛ResourceDescriptionFramewoReview-theBasicKnowledgeofXML1.XML(可擴展標記語言),用于網絡上電子標記文本的描述和發(fā)送。WebService的基石是分布式和基于Web的計算。如何在異構的系統(tǒng)、不同語言開發(fā)的模塊之間進行信息與數據的交互呢?XML應運而生了,它作為一種存儲數據的格式,能夠被不同的語言所解析(如Javadom4j、C#xmldocment等),能夠靈活地在異構的系統(tǒng)之間傳遞信息。WebService技術完全基于XML(WebService三大核心標準:SOAPWSDL和UDDI)Review-theBasicKnowledgeof562.XML的基本文檔結構2.XML的基本文檔結構573.問題出現(xiàn)了3.問題出現(xiàn)了58
以上兩棵不同的XML語法(syntax)具有相同的的語義(semantic)內容,在WebService實際過程中,這樣的情況很有可能發(fā)生,如何解決呢?Wecanshifttheemphasisfromthesyntaxofthedocumenttothestructureofthecontentthatitrepresents.——MunindarP.SinghRDF(ResourcesDescriptionFormat):為我們提供一套標準規(guī)則去獲取文檔中的信息,而我們不用關心文檔的語法結構。以上兩棵不同的XML語法(syntax)具有相同的的語義(59語義網層次語義網層次60RDF簡介
資源描述框架(RDF)是一個用于表達關于萬維網(WorldWideWeb)上資源信息的語言.它專門用于表達關于Web資源的元數據,比如Web頁面的標題、作者和修改時間,Web文檔的版權和許可信息,某個被共享資源的可用計劃表等。然而,將“Web資源(Webresource)”這一概念一般化后,RDF可被用于表達關于任何可在Web上被標識的事物的信息,即使有時它們不能被直接從Web上獲取。比如關于一個在線購物機構的某項產品的信息(例如關于規(guī)格、價格和可用性信息),或者是關于一個Web用戶在信息遞送方面的偏好的描述。
RDF定義了一個簡單的模型,通過指定的性質和相應的值描述資源之間的關系,可以表示一個實體關系圖RDF簡介資源描述框架(RDF)是一個用于表達61RDF思想RDF基于這樣的思想:用Web標識符(URIs)來標識事物,用簡單的屬性(property-特征,性質,關系)及屬性值來描述資源。這使得RDF可以將一個或多個關于資源的簡單陳述表示為一個由結點和弧組成的圖,其中的結點和弧代表資源、屬性(特征,性質,關系)、屬性值??疾槿缦玛愂龅腞DF圖表示“有一個人由/People/EM/contact#me標識,他的名字是EricMiller,他的電子郵件地址是em@,他的頭銜是Dr.”
RDF思想RDF基于這樣的思想:用Web標識符(URIs)來62
可以看出:個體、事物的種類、事物的屬性、屬性的值都是由用URIs來標識的。RDF介紹要點課件63RDF模型基本概念(BasicConcepts)RDF資源標識和詞匯集RDF圖模型
結構化屬性值與空白節(jié)點(StructuredPropertyValuesandBlankNodes)
類型文字(TypedLiterals)RDF模型64基本概念(BasicConcepts)
RDF基于這一思想:被描述的事物具有一些屬性,而這些屬性各有其值;特性值既可以是文字也可以是資源;如果特征值是資源,該特性也可以看成是兩個資源之間的關系;對資源的描述就是對資源的特征及值進行陳述。由此,RDF數據模型的四種基本對象類型:資源:web上以URI表示的所有事物都可稱為資源。性質(property):用來描述資源的特征、屬性或關系文字:字符串或數據類型的值陳述:一個特定的資源加上性質及性質值就是一個RDF陳述其中陳述由三個部分組成:主體:關于事物的陳述中用于識別事物的那部分謂詞:用于區(qū)分陳述對象主語的各個不同屬性的那部分客體:陳述中用于區(qū)分各個屬性的值的那部分基本概念(BasicConcepts)RDF基于這一思想65考慮英文陳述:
/index.htmlhasacreatorwhosevalueisJohnSmith
這個陳述里的不同部分用RDF術語來說就是:主體是URL/index.html謂詞是詞“creator”客體是短語“JohnSmith”/index.html就是這句陳述所描述的資源,該資源有一個特性“creator”,其值是一個文字“JohnSmith”??紤]英文陳述:66
RDF圖模型RDF的本質是陳述的圖模型,而用于描述這個圖的表示法則是次要的。RDF模型的三種表示方法:圖示法:直觀,但不便于機器處理三元組:表示簡略清楚,但不適合在網絡上交換{index.htmlcreator85740}RDF/XML語法:用基于XML的語法編碼RDF,是W3C推薦的RDF語法
RDF圖模型67Representation-TripleOraLassilaisthecreatoroftheresource/Home/LassilaRepresentation-TripleOraLas68Representation-GraphRepresentation-Graph69StructuredPropertyValuesandBlankNodes考慮一個稍復雜的陳述:“約翰的地址是在1501GrantAvenue,Bedford,Massachusetts01730”在這里約翰的地址需要記錄為由一個街道,城市,州和郵政編碼組成的結構。我們把包含復雜信息結構的特性稱為結構化特性。這些在RDF中是如何描述的?
把被描述的事物聚集體(比如:JohnSmith的住址)看成一個資源,生成一個新節(jié)點,并用新的URIref來標識。然后,將復雜的結構化特性分解為多個RDF特性進行描述StructuredPropertyValuesand70相應的三元組表示如下:exstaff:85740exterms:addressexaddressid:85740.
exaddressid:85740exterms:street"1501GrantAvenue".
exaddressid:85740exterms:city"Bedford".
exaddressid:85740exterms:state"Massachusetts".
exaddressid:85740exterms:postalCode"01730".RDF介紹要點課件71思考:這種描述方法會產生很多的“中間的”URIrefs,且這些概念可能從來不會被從RDF圖的外部引用,因此可能不需要“通用的”標識符,這樣就可以用一種更直觀的方式來表示該例子:
圖中使用了一個沒有URIref的空節(jié)點來表示“JohnSmith‘saddress”這一概念。它雖然沒有URIref,但表達了它應該表達的含義,因為它提供了圖中各個部分之間必需的連通作用,空節(jié)點也被稱作匿名資源。StructuredPropertyValuesandBlankNodes思考:StructuredPropertyValues72RDF/XML-一種用于RDF的XML語法RDF/XML用來書寫和交換RDF圖模型。與RDF的簡略記法三元組表示不同,RDF/XML是書寫RDF的規(guī)范性語法。下圖如何書寫為RDF/XML語法形式?RDF/XML-一種用于RDF的XML語法RDF/XML731.<?xmlversion="1.0"?>
2.<rdf:RDFxmlns:rdf="/1999/02/22-rdf-syntax-ns#"
3.xmlns:dc="/dc/elements/1.1/"
4.xmlns:exterms="/stuff/1.0/">
5.<rdf:Descriptionrdf:about="/TR/rdf-syntax-grammar">
6.<dc:title>RDF/XMLSyntaxSpecification(Revised)</dc:title>
7.<exterms:editorrdf:nodeID="abc"/>
8.</rdf:Description>
9.<rdf:Descriptionrdf:nodeID="abc">
10.<exterms:fullName>DaveBeckett</exterms:fullName>
11.<exterms:homePagerdf:resource="/net/dajobe/"/>
12.</rdf:Description>
13.</rdf:RDF>1.<?xmlversion="1.0"?>
2.74RDF/XML語法的一些特征:1.所有RDF語句都必須在一個rdf:RDF元素中2.每個RDF陳述用一個rdf:Description元素表示,其中用rdf:about屬性的值指明陳述主體的URI引用3.陳述的謂詞作為rdf:Description的子元素出現(xiàn),而客體即是該子元素的屬性或內容。4.客體若是資源用rdf:resource屬性說明,其URI引用則作為該屬性的屬性值給出;若是文字,可用rdf:literal屬性說明,或直接作為子元素的內容。5.rdf:nodeID屬性專門用來表示空節(jié)點,空節(jié)點被指定空白節(jié)點標識符后可以作為主體或客體使用RDF/XML語法的一些特征:75一個RDF圖可以這樣書寫RDF/XML:(1)為所有空白結點(blanknodes)被指定空白結點標識符(2)對每個三元組取其主體對應節(jié)點,生成一個rdf:Description元素。若該結點有URIref,則rdf:Description元素使用rdf:about屬性,取值為該URI引用;若該結點是空結點,則rdf:Description元素使用rdf:nodeID屬性,取值為空節(jié)點標識符。(3)創(chuàng)建一個謂詞URI引用的子元素。如果客體為文字,則該子元素內容為客體,如果是一個URI引用,則指定其rdf:resource屬性值為該引用,如果是一個空節(jié)點,則指定其rdf:nodeID屬性值為該空節(jié)點標識符。一個RDF圖可以這樣書寫RDF/XML:76其它RDF表達能力RDF容器(RDFContainers)RDF集合(RDFCollections)RDF具體化(RDFReification)
XML文字(Literal)(XMLLiterals)其它RDF表達能力77RDF容器一個容器是一個包含了一些事物的資源,這些被包含的事物稱為成員。容器的成員可能是資源(包括匿名節(jié)點)或文字。RDF定義了三種類型的容器:包——Bag,是類型為rdf:Bag的資源,表示了一組可能包含重復成員的資源或文字的無序列表。例如,包可以用來描述對于成員的添加或處理順序沒有特別要求的組。序列——Sequence,是類型為rdf:Seq的資源,表示了一組資源或文字的有序列表。例如,序列可以用來描述一組必須按字母順序排列的事物。替換——Alternative,是類型為rdf:Alt的資源,表示了一組可以選擇的資源或文字(常常是屬性的一個值)。例如,序列可以用來描述一組可以互相替換的關于著作的不同語言的翻譯,或者描述一個資源可能出現(xiàn)的幾個因特網鏡像站點。
RDF容器一個容器是一個包含了一些事物的資源,這些被78RDFContainer-BagExampleRDFContainer-BagExample79RDFContainer-BagExampleRDF/XML<rdf:RDF><rdf:Descriptionabout="/courses/6.001"><s:students>
<rdf:Bag><rdf:liresource="/students/Amy"/><rdf:liresource="/students/Tim"/><rdf:liresource="/students/John"/><rdf:liresource="/students/Mary"/><rdf:liresource="/students/Sue"/></rdf:Bag></s:students></rdf:Description></rdf:RDF>RDFContainer-BagExampleR80RDFContainer–SeqExampleThestudentsincourse6.001arerankedtobeAmy,Tim,John,Mary,andSue. <rdf:RDF> <rdf:Descriptionabout="/courses/6.001"> <s:students> <rdf:Seq> <rdf:liresource="/students/Amy"/> <rdf:liresource="/students/Tim"/> <rdf:liresource="/students/John"/> <rdf:liresource="/students/Mary"/> <rdf:liresource="/students/Sue"/> </rdf:Seq> </s:students> </rdf:Description> </rdf:RDF>RDFContainer–SeqExampleThe81RDFContainer–AltExampleThesourcecodeforX11maybefoundat,,or.RDFContainer–AltExampleThe82RDFContainer–AltExample<rdf:RDF><rdf:Descriptionabout="/packages/X11"><s:DistributionSite><rdf:Alt><rdf:liresource=""/><rdf:liresource=""/><rdf:liresource=""/></rdf:Alt></s:DistributionSite></rdf:Description></rdf:RDF>RDFContainer–AltExample<rd83RDF集合容器的一個缺點是沒有辦法封閉它,即沒有辦法說這些是容器的所有成員。一個容器只說一些有標識的資源是它的成員,無法說沒有其他的成員。RDF以RDF集合的形式提供了對描述特定成員的組的支持。一個RDF集合是用列表結構表示的一組事物,這個列表結構是用一些預定義的集合詞匯表示的。RDF的集合詞匯包括屬性rdf:first和rdf:rest,和資源rdf:nil.例如:我們用RDF集合來描述前面的例子:“參加課程6.001的學生有:Amy,Mohamed,Johann,Maria,和Phuong”RDF集合容器的一個缺點是沒有辦法封閉它,即沒有辦法說這些是84RDF集合RDF圖模型為:RDF集合RDF圖模型為:85RDF集合使用集合的RDF/XML書寫為:<?xmlversion="1.0"?>
<rdf:RDFxmlns:rdf="/1999/02/22-rdf-syntax-ns#"
xmlns:s="/students/vocab#">
<rdf:Descriptionrdf:about="/courses/6.001">
<s:studentsrdf:parseType="Collection">
<rdf:Descriptionrdf:about="/students/Amy"/>
<rdf:Descriptionrdf:about="/students/Mohamed"/>
<rdf:Descriptionrdf:about="/students/Johann"/>
</s:students>
</rdf:Description>
</rdf:RDF>和容器一樣,RDF不提供對集合詞匯使用的檢查,用戶完全可以按照RDF圖的三元組陳述來寫RDF/XML表達,例如:RDF集合使用集合的RDF/XML書寫為:86RDF集合一般的RDF/XML書寫為:<?xmlversion="1.0"?>
<rdf:RDFxmlns:rdf="/1999/02/22-rdf-syntax-ns#"
xmlns:s="/students/vocab#">
<rdf:Descriptionrdf:about="/courses/6.001">
<s:studentsrdf:nodeID="sch1"/>
</rdf:Description>
<rdf:Descriptionrdf:nodeID="sch1">
<rdf:firstrdf:resource="/students/Amy"/>
<rdf:restrdf:nodeID="sch2"/>
</rdf:Description>
<rdf:Descriptionrdf:nodeID="sch2">
<rdf:firstrdf:resource="/students/Mohamed"/>
<rdf:restrdf:nodeID="sch3"/>
</rdf:Description>
<rdf:Descriptionrdf:nodeID="sch3">
<rdf:firstrdf:resource="/students/Johann"/>
<rdf:restrdf:resource="/1999/02/22-rdf-syntax-ns#nil"/>
</rdf:Description>
</rdf:RDF>
RDF集合一般的RDF/XML書寫為:87RDF陳述具體化-語句的復合高階語句-語句的復合(statementaboutstatement)建立一個關于另一個語句的復合,需要為原語句建立一個模型,該模型是新資源,可將一些附加的性質連接到該新資源上.例:北大網絡實驗室是資源/的創(chuàng)建者.-該句子是一個事實.例:李教授說北大網絡實驗室是資源/的創(chuàng)建者.-一個李教授曾說過的一句話的事實.用RDF表示這個事實需要將原語句建模為一個擁有4個性質的資源,稱為具體化(Reification).一個語句的模型稱作具體化語句(ReifiedStatement).RDF陳述具體化-語句的復合高階語句-語句的復合(state88具體化(Reification)RDF定義了以下性質:主體(subject):主體性質標識了正在被該語句描述的資源,即主體性質的值正是原始語句描述的那個資源.(上例:/)謂詞(predicate):謂詞性質標識了該語句的原始性質。謂詞性質的值為一個資源,該資源代表了原始語句中給定的性質的值。(上例:創(chuàng)建者Creator)客體(object):客體性質標識了該語句中性質的值??腕w性質的值就是原始語句的客體。(上例:北大網絡實驗室)類型(tpye):類型性質的值描述了新資源的類型。所有具體化語句都是RDF語句的實例,即它們都有一個客體為RDF:Statement的類型性質.類型性質更多地用于聲明資源的類型.一個擁有以上4個性質的新資源表示原始語句,可以用作其它語句的客體,也可以創(chuàng)建另一個語句來描述這個新資源。擁有4個性質的資源是原始語句的模型。具體化(Reification)RDF定義了以下性質:89語句復合的RDF/XML表示<rdf:RDFxmlns:rdf=“/1999/02/22-rdf-syntax-ns#”xmlns:s=“/schema/”><rdf:Description><rdf:subjectresource=“/”/><rdf:predicateresource=“/schema/Create”/><rdf:object>北大網絡實驗室</rdf:object><rdf:typeresource=/1999/02/22-rdf-syntax-ns#Statement/><a:attributedTo>李教授</a:attributedTo></rdf:Description></rdf:RDF>語句復合的RDF/XML表示<rdf:RDF90RDFS簡介RDFS:資源描述框架模式,RDFSchema。RDFS的引入為什么需要RDFS?RDF只定義用于描述資源的框架,并沒有定義用哪些詞匯來描述資源。RDF允許任何人用詞匯集描述語言來創(chuàng)建自己的詞匯集。問題RDF沒有提供任何機制來說明類的特性、類與類之間的關系、特性之間的關系以及特性與類之間的關系。RDFS簡介RDFS:資源描述框架模式,RDFSchema91RDFS簡介RDFS就是一種RDF詞匯集描述語言,它定義如何用RDF來描述詞匯集,并提供了一個用來描述RDF詞匯集的詞匯集。簡單地說RDFS提供了一個應用于RDF模型中的基本類型系統(tǒng)(而不是具體類型),定義了用來描述類、特性和其它資源以及它們之間關系的類和特性。RDFS額外的描述能力由預先定義的RDF資源帶來,稱為RDFS核心詞匯,在一般被稱為“rdfs”的名稱空間中定義。該名稱空間用URI引用/2000/01/rdf-schema#標識。RDFS簡介RDFS就是一種RDF詞匯集描述語言,它定義如何92RDFSRDFS93本體的主要特征?概念層次性Concepthierarchy,–概念包含關系conceptsubsumption?特殊與一般關系InstanceOfRelation(Instances)?部分與整體關系PartOfRelation(property)本體的主要特征?概念層次性Concepthierarchy94RDFS簡介RDFS類型系統(tǒng)與OO類型系統(tǒng)的相似點:資源可以定義為一個或多個類的實例。類可以構成類層次。RDFS類型系統(tǒng)與OO類型系統(tǒng)的區(qū)別:OO類描述為具有一些特定屬性的集合,代表OO對象的共同屬性,定義了OO類的“框框”,即OO對象必須滿足OO類的定義。RDFS描述屬性可以作用于哪些特定的類,不是RDF的“框框”,不代表共同屬性,RDFS為RDF提供附加信息,是對RDF的補充。另外一個重要的區(qū)別是:RDFSchema的描述不一定像程序設計語言的類型聲明那樣一定是規(guī)約性的。RDFS類的核心概念是資源分組(group)。同樣地,RDFSisdifferentthanXMLSXMLSconstrainsthestructureofXMLdocumentsRDFSdefinesthevocabularyusedinRDFdatamodelsRDFS簡介RDFS類型系統(tǒng)與OO類型系統(tǒng)的相似點:95RDFS簡介例如:在一個典型的面向對象編程語言中,類Book會定義為有一個屬性author,且author的類型是Person;而在RDFSchema中,類ex:Book和屬性ex:author都會被分開定義,另外,屬性ex:author的定義域是ex:Book,值域是ex:Person。以性質為中心的RDFS也就是說RDFS不是通過類的實例可能具有的性質來定義類,而是通過與該性質相關聯(lián)的資源類來定義性質。RDFS這種以性質為中心的方法的一個優(yōu)點就是:任何人都可以使用這種方法來描述關于已經存在的資源的任何信息。RDFS簡介例如:96
以性質為中心的RDFS
文檔
人
作者DC:Titile文本常量(Literal)標題姓名
簡單模型文檔
人DC:Titile文本常量(Literal)標題姓名
作者domainrange強調性質的表示突出資源極其相互之間的關系.突出作者性質,而不是資源本身.引入domain(定義域)和(值域)概念突出性質.
以性質為中心的RDFS
文檔人作者DC:97RDFS基本概念Class,subClassOfProperty,subPropertyOfDomain,rangetype語句(聲明一個資源resource是一個類class的實例)RDFS基本概念Class,subClassOf98RDFS中的subclass-of層次結構rdf:resourcerdfs:Classrdfs:ConstraintResourcerdf:Propertyrdfs:ConstraintPropertyrdfs:MembershipPropertyRDFS中的subclass-of層次結構rd99類和性質RDFS的設計思想就是視一切為資源,包括實例、類、屬性和陳述。資源可以被劃分成各種類(class),類的成員稱類的實例(Instance)類(rdfs:Class)本身也是資源(rdfs:Resource),用RDFURI標識,用RDF的性質(rdf:Property)描述
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論