1.73k likes | 2k Views
语义网 ( Semantics Web). 语义网概述 RDF 本体 语义网描述语言. 语义网概述. 什么是语义网 语义网体系结构 当前语义网的主要研究内容. 什么是语义网. 语义网不是一个独立的网络,而是当前的这个网络的扩展。在语义网中信息被赋予了明确界定的意义、从而能更好地使计算机和人协调工作。把语义网纳入现有网络结构中的首批步骤已经在着手进行之中。在不远的将来.计算机处理并 “ 理解 ” 那些现今它们只能显示的数据的能力将会大大提高,这样语义网建设的进展就将有助于创造出引人注目的全新功能。
E N D
语义网(Semantics Web) • 语义网概述 • RDF • 本体 • 语义网描述语言
语义网概述 • 什么是语义网 • 语义网体系结构 • 当前语义网的主要研究内容
什么是语义网 • 语义网不是一个独立的网络,而是当前的这个网络的扩展。在语义网中信息被赋予了明确界定的意义、从而能更好地使计算机和人协调工作。把语义网纳入现有网络结构中的首批步骤已经在着手进行之中。在不远的将来.计算机处理并“理解”那些现今它们只能显示的数据的能力将会大大提高,这样语义网建设的进展就将有助于创造出引人注目的全新功能。 [Tim Berners-Lee(Web和语义网的创始人), 语义网——科学美国人,2001] • 要点 • 是当前Web的延伸; • 加入计算机可以理解的语义
什么是语义网 • 起源:目前Web的缺陷。HTML仅仅用以表示数据显示的布局,HTML所表达的页面信息和组织方式,主要面向用户直接阅读,没有将信息的表现形式、内在结构和表达内容相分离,没有提供计算机可读的语义信息,因而非常不利于计算机直接阅读和处理。
什么是语义网 • 契机:90年代中期,XML的出现,将数据的内容与布局区分开来,为语义更丰富、更自然的网上内容表达打开了新的局面。 • 语义网的目标是:为Web上的信息提供具有计算机可以理解的语义,从而满足智能代理(Agent)对Web上异构、分布信息的有效检索和访问,实现网上信息资源在语义层上的全方位互联,并在此基础上,实现更高层的基于知识的智能应用。
语义网概述 • 什么是语义网 • 语义网体系结构 • 当前语义网的主要研究内容
语义网体系结构 • 在学术界,Tim Berners-Lee提出的语义网层次结构如图所示。该结构从底层到高层依次为Unicode(统一字符编码)和URI(Universal Resource Indicator,统一资源定位符)、XML、RDF和RDF Schema(简称RDFS)、本体(Ontology)、逻辑(Logic)、验证(Proof)和诚信(Trust)。在语义网七层结构中的XML、RDF和Ontology三层,主要用于表示Web的语义,因而是系统的核心和关键所在。此外,数字签名用来检测文档是否被篡改过,以证实其真实可靠性。
与语义网有关的标准和技术 规则 诚信 数据 验证 能自描述 的文献 数据 数字化签名 逻辑 实用分类系统词表 资源描述框架 资源描述框架结构 可扩展置标语言 可扩展置标语言结构 名域 国际码 统一资源标识
语义网体系结构 • Unicode和URI层 Unicode和URI是整个语义Web的基础,其中Unicode处理资源的编码,保证使用的是国际通用字符集,实现网上信息的统一编码。URI是URL(Universal Resource Locator)的超集,URI支持语义网上的对象和资源的精细标识,从而使精确信息检索成为可能。
语义网体系结构 • XML+Name Space+XML Schema层 XML层具有命名空间(Name Space)和XML Schema(XML模式)定义,通过XML标记语言将网上资源信息的结构、内容与数据的表现形式进行分离,确保语义网的定义,并支持与其他基于XML的标准进行无缝集成。
语义网体系结构 • RDF+RDF Schema层 该层用于描述万维网上的资源及其类型,为网上资源描述提供了一种通用框架和实现数据集成的元数据解决方案。最底层的URI标识网上的对象,RDF和RDFS层则可对URI标识的对象进行陈述(Statement)。
语义网体系结构 • 本体层 该层用于描述各种资源之间的联系,本体揭示了资源本身以及资源之间更为复杂和丰富的语义信息,从而,将信息的结构和内容相分离,对信息作完全形式化的描述,使网上信息具有计算机可理解的语义。因为本体定义了不同概念间的关系,所以本体层能够对字典(或词汇,Vocabularies)的变迁提供支持。
语义网体系结构 • 逻辑层 逻辑主要提供公理和推理规则,为智能推理提供基础。该层用来产生规则。 • 验证(Proof) 证明注重于提供认证机制,证明层执行逻辑层产生的规则,并结合信任层的应用机制来评判是否能够信赖给定的证明。
语义网体系结构 • 诚信(Trust) 顶层的诚信注重于提供信任机制,以保证用户代理Agent在网上进行个性化服务和彼此间交互合作时,更安全与可靠。
当前语义网的主要研究内容 • XML XML允许用户加入任意结构到他们的文档但没有指明这种结构的意义是什么。 • RDF • 把意义编码在“三元组”集合中:实体有可以赋值的属性 • 实体、属性和值都有截然不同的URI
当前语义网的主要研究内容 • 本体(ontology) • 数据库A和数据库B可以用不同的字段来容纳‘邮政编码’ • 本体拣选输出 • Ontology = ‘一个文档或文件,它形式化定义术语之间的关系’ • 代理(Agent) “基于计算的代理出现是作为一个适当的范例,它工作在一个复杂的世界里,用多个本体、片段和多个推理引擎。”
语义网(Semantics Web) • 语义网概述 • RDF • 本体( Ontology) • 语义网描述语言
资源描述框架(RDF) • RDF基础 • RDF/XML • RDF Schema
RDF基础 • 什么是RDF • RDF的基本思想
什么是RDF • RDF(Resource Description Framework),资源描述框架 • 资源描述框架(RDF)是由W3C开发的一个资源描述规范。其最初的目标就是解决不同元数据的互操作问题。 • 资源描述框架(Resource Description Framework, 简称 RDF)是一个用于表达关于Web资源的元数据,比如Web页面的标题、作者和修改时间,Web文档的版权和许可信息,某个被共享资源的可用计划表等。
在“Web资源(Web resource)”这一概念一般化后,RDF可用于表达关于任何可在Web上被标识的事物的信息,即使有时它们不能被直接从Web上获取。比如关于一个在线购物机构的某项产品的信息(例如关于规格、价格和可用性信息),或者是关于一个Web用户在信息递送方面的偏好的描述。
RDF不仅用于显示信息,更重要的是用于信息的处理,RDF提供了一种用于表达信息、并使其能在应用程序间交换而不丧失语义的通用框架。RDF不仅用于显示信息,更重要的是用于信息的处理,RDF提供了一种用于表达信息、并使其能在应用程序间交换而不丧失语义的通用框架。 • 既然是通用框架,应用程序设计者可以利用现成的通用RDF解析器(RDF parser)以及通用的处理工具。 • 能够在不同的应用程序间交换信息意味着对于那些并非信息的最初创建者的应用程序也是可利用这些信息。
RDF并不直接定义自己的元数据语词,相反,它提供一个框架,在这一个框架内,可以利用其它元数据的元素对资源的语义进行描述。RDF并不直接定义自己的元数据语词,相反,它提供一个框架,在这一个框架内,可以利用其它元数据的元素对资源的语义进行描述。 • 换句话说,RDF本身并不对各种不同的元数据进行语义定义,而是提供一种框架体系,使不同的人能够在这一框架下定义他们自己的元数据的元素。
RDF使用了XML语言,RDF在XML基础之上,以一种标准的、能够相互操作的方式揭示数据的深层语义。RDF使用了XML语言,RDF在XML基础之上,以一种标准的、能够相互操作的方式揭示数据的深层语义。 • RDF和XML是相互补充的。RDF主要关注于元数据模型的建立,而有关编码方式、字符集等等方面的问题,RDF依赖于XML。 • 还应当了解到,基于XML的RDF仅仅只是RDF的一种应用模式,除XML语法之外,RDF还允许有其它的语法模式。
目前来看,RDF已成为元数据处理的基础,它提供应用程序间的互操作能力,可以在Web上实现机器能够“理解”的信息交换。目前来看,RDF已成为元数据处理的基础,它提供应用程序间的互操作能力,可以在Web上实现机器能够“理解”的信息交换。 • RDF强调对Web资源的自动化处理机制,可以应用于许多领域: • 如应用于资源发现领域,以提高搜索引擎的性能; • 应用于编目领域,可以对Web站点、页面、数字图书馆的内容进行揭示,并对各种相关关系进行描述; • 应用于智能软件代理之中,促进知识的共享和交换; • 应用于内容评价,可以保护儿童或使自己的私有权利不被侵犯; • 应用于知识的组织,使这些页面能够成为合乎逻辑的一篇文章; • 描述Web页面的知识产权; • 表述用户或网站的隐私保护权利。 • W3C甚至认为RDF和数字签名是创建“诚信Web”的关键技术,它将被应用于电子商务、网际合作等相关领域。
RDF基础 • 什么是RDF • RDF的基本思想 • RDF的三元模型
RDF的基本思想 • RDF基于这样的思想: • 用Web标识符(称作统一资源标识符,Uniform Resource Identifiers或URI)来标识事物 • 用简单的属性(property)及属性值来描述资源。 • 这使得RDF用资源标识-属性类型-属性值这样的表示模型来定义一个或多个关于资源。 • 这种模型就是RDF的三元模型
RDF的三元模型 • RDF可以将一个或多个关于资源的简单陈述表示为一个由结点和弧组成的图(graph),其中的结点和弧代表资源标识、属性类型或属性值。 • 对于某一资源的描述,我们可以用自然语言进行描述。例如“资源http://www.example.org/index.html 的创建者是John Smith” • 这一句话可以用资源标识-属性类型-属性值三元组的方式进行表示如下: • 资源标识,也就是句子描述的对象是http://www.example.org/index.html • 属性类型,也就是资源的属性是Creator • 属性值,也就是资源属性的值是John Smith
Creator http://www.example.org/index.html John Smith • 资源-属性类型-属性值关系图 这是一个由两个节点和一条弧线构成的图,其中一个节点是资源,另一个节点是属性值,弧线从资源指向属性值,表明资源具有某一属性类型的属性值。
从另一个角度来看,语句“资源http://www.example.org/index.html 的创建者是John Smith”这一句话可以由主语、谓语、宾语构成。其中: • 主语是URL http://www.example.org/index.html • 谓语是词"creator" • 宾语是"John Smith“ • 在RDF中, • 用于识别事物的那部分就叫做主语 • 用于区分语句对象主语的各个不同属性(譬如:作者,创建日期,语种等等)的那部分叫做谓语 • 用于区分各个属性的值的那部分叫做宾语
尽管这种主语、谓语、宾语关系和自然语言语法中的主语、谓语、宾语关系还不完全一样,但这足以构成RDF存在的逻辑基础:尽管这种主语、谓语、宾语关系和自然语言语法中的主语、谓语、宾语关系还不完全一样,但这足以构成RDF存在的逻辑基础: • 语句可以对资源进行描述; • 语句由主语、谓语、宾语组成; • 语句中的主语、谓语、宾语可以被一个可被标识的资源,此资源的属性描述(如名称、创建时间、出版者等)和资源的属性值所替代。 • RDF基于资源标识-属性类型-属性值的三元模型提供了对资源进行描述的框架。
RDF的三元模型可以对资源进行描述,但为了使其能够被计算机处理,还需要考虑:RDF的三元模型可以对资源进行描述,但为了使其能够被计算机处理,还需要考虑: • 一整套计算机可以处理的标识,这些标识能够对所描述的资源、属性类型和属性值进行标识,并且使这些资源标识、属性类型和属性值具有一个明确有指示意义,没有二意性,这个标识符系统不会和其他人可能在Web上使用的相似的标识符系统混淆 • 一种计算机可以处理的语言,以描述这一模型,并且可以在应用系统之间交换这些信息。
第一个问题(一整套计算机可以处理的标识) • RDF使用了URI和命名空间作为其标识机制(用于标识陈述中的主体、谓词和客体)的基础。 • 更准确地说,RDF使用的是URI参照( URI引用)(URI references) • 一个URI参照(或“URIref”)是一个在尾部附加了可选的“片段识别符(fragment identifier)”的URI。比如,URI参照(URIref) http://www.example.org/index.html# section2由URI http://www.example.org/index.html 和(由符号#分隔的)的section2 (片段标识符)组成。
第二个问题(一种计算机可以处理的语言) • 为了用一种机器可处理的(machine-processable)方式来表示RDF陈述(RDF statements),RDF采用了XML • XML允许任何人来设计他们自己的文档格式,并可用这种格式书写文档。 • RDF定义了一个特殊的XML标记语言(称为RDF/XML)来表示RDF信息和在机器间交换这些信息。
( URI参照) • 例如上例子中的资源、属性类型和属性值,可以用下面的URI参照表示如下: • 资源http://www.example.org/index.html • 属性类型http://purl.org/dc/elements/1.1/creator • 属性值http://www.example.org/staffid/85740
http://www.example.org/index.html http://purl.org/dc/elements/1.1/creator http://www.example.org/staffid/85740 • 如果利用了URI参照,则上面的图也应当改为:
在前一个图中,利用了方形来表示属性值“John Smith”,而在后一个图中,则利用椭圆来表示属性值“http://www.example.org/staffid/8574”。 • 二者不同之处在于John Smith是常量值(在RDF中,被称为文字值,literal),而http://www.example.org/staffid/8574是一个URI参照。 • 在RDF中,属性值可以是URI参照或常量值。
在RDF中,利用URI参照的好处是能够非常明确地表示语句的主题,例如使用了http://www.example.org/staffid/85740,而不是John Smith,它能够明确地表明,此页面的创建者不是字符串“John Smith”,也不是成千上万个名为“John Smith”的人,而是一个与特定URI参照相关的John Smith。 • 另一方面,由于这是一个指向特定John Smith的URI参照,因此,它其实也是一个完全具备其它资源所具有的属性的资源,我们可以增加信息,以进一步描述这个John Smith(这个资源)。所做的工作仅只需将指向John Smith的URI参照作为一个需要描述的对象即可,如下图中,我们增加了对John的名字和年龄的说明。
http://www.example.org/index.html http://purl.org/dc/elements/1.1/creator http://www.example.org/staffid/85740 http://www.example.org/terms/name http://www.example.org/terms/age John Smith 27
(RDF/XML) • 为了使RDF便于计算机处理,RDF利用了XML语言作为支持。实际上RDF是XML语言的一个特殊应用,它遵守XML的语法规则,这种基于XML语法的RDF被称为RDF/XML。 • 正如前面我们所说的,RDF本身不定义元数据元素(语词体系),在RDF/XML中,为了唯一地引用某一元数据(如DC、P3P或PICS)的元素,RDF充分借助了XML名字空间。名字空间的应用,使得我们可以用更加简洁的方式描述RDF中资源、属性类型和属性值的唯一性。
使用了名字空间的XML元素被称为XML修饰名(XML Qualified name,Qname)。 • Qname由一个指向名字空间URI的前缀,紧接一个冒号(:),再接一个名字空间中的本地名称组成。
完全的URI参照可以用Qname进行表示。例如上例中的属性类型完全的URI参照可以用Qname进行表示。例如上例中的属性类型 • http://purl.org/dc/elements/1.1/creator • 在这种情况下,可以将DC作为一个前缀指定给名字空间为 • Xml:DC= http://purl.org/dc/elements/1.1/ • 则DC:creator就能够代表指向http://purl.org/dc/elements/1.1/creator的URI参照。
下面是几个比较著名的名字空间 • 前缀rdf:,名字空间URI: http://www.w3.org/1999/02/22-rdf-syntax-ns# • 前缀rdfs:,名字空间URI: http://www.w3.org/2000/01/rdf-schema# • 前缀dc:,名字空间URI: http://purl.org/dc/elements/1.1/ • 前缀owl:,名字空间URI: http://www.w3.org/2002/07/owl# • 前缀xsd:,名字空间URI: http://www.w3.org/2001/XMLSchema#
针对上例,我们再定义两个名字空间前缀: • 前缀ex:, 名字空间URI: http://www.example.org/ • 前缀exstaff:, 名字空间URI: http://www.example.org/staffid/ • 则上面的URI参照例子就可以简写为: • 资源ex:index.html • 属性类型dc:creator • 属性值exstaff:85740
在上图中,利用了两个文字值来表示资源的姓名和年龄。其中“John Smith”和“27”是两种不同类型。“John Smith”是字符类型,而“27”是数值类型。 • 为了更确切地表示文字值的类型,RDF引入了类型文字值(typed literal)的概念。RDF类型文字值由字符串和URI参照组成,其中的URI参照唯一标识了一个特定的数据类型。例如上图中的“27”,可以表示如下: • "27"^^http://www.w3.org/2001/XMLSchema#integer • 如果采用了Qname的方式,可表示为: • "27"^^xsd:integer
至此可以看到,RDF本质上很简单,它是由节点和弧线组成的图,通过URI参照,能够被解释成为对某个事物的某些特性的说明。至此可以看到,RDF本质上很简单,它是由节点和弧线组成的图,通过URI参照,能够被解释成为对某个事物的某些特性的说明。 • 另外,在这一模式中,需要提供一种方法来唯一地描述资源、属性类型、属性值以及属性值的类型。URI参照的应用,提供了这种描述的唯一性。在实际应用中,通过Qname来替代URI参照。
资源描述框架(RDF) • RDF基础 • RDF/XML • RDF Schema
RDF/XML • 如上所述, RDF的概念模型是节点和弧线组成的图。 • RDF提供了一个XML语法以实现RDF模型的记录和交换,被称为RDF/XML。RDF/XML是书写RDF的规范语法。 • 在本节中,将对RDF/XML语法进行说明。
我们还以“资源http://www.example.org/index.html 的创建者是John Smith”这一个句子为例。对于这一个句子,可以利用RDF表示如下: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/ "> <rdf:Description rdf:about="http://www.example.org/index.html"> <dc:creator >John Smith</dc:creator> </rdf:Description> </rdf:RDF> • 这是一个XML文件。对于这个例子,需要注意三点:
(1)根元素RDF • 这个根元素以及其它所有的RDF元素通常都放在http://www.w3.org/1999/02/22-rdf-syntax-ns# 名字空间中,这个名字空间要么利用前缀rdf引用,要么被设置成为缺省名字空间。如果使用显示前缀的方式,则空的RDF元素如下所示: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <!- rdf:Description element will go here> </rdf:RDF>