语义web教程.docx

上传人:b****5 文档编号:6111374 上传时间:2023-01-03 格式:DOCX 页数:16 大小:23.53KB
下载 相关 举报
语义web教程.docx_第1页
第1页 / 共16页
语义web教程.docx_第2页
第2页 / 共16页
语义web教程.docx_第3页
第3页 / 共16页
语义web教程.docx_第4页
第4页 / 共16页
语义web教程.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

语义web教程.docx

《语义web教程.docx》由会员分享,可在线阅读,更多相关《语义web教程.docx(16页珍藏版)》请在冰豆网上搜索。

语义web教程.docx

语义web教程

XSLT:

XML加入xsl转化表

1.在xml头部加入:

xmlversion=”1.0”encoding=”gb2312”?

>

xml-stylesheettype=”text/xsl”href=”路径”?

>

2.xsl文件内容:

xmlversion=”1.0”encoding=”gb2312”?

>

stylesheetversion=”1.0”xmlns:

xsl=“http:

//www.w3.org/1999/XSL/Transform”?

>

templatematch=”/”>

for-eachselect=”xPath路径”>

-------------------HTML内容--------------------------

value-ofselect=”选择的值”/>

或:

iftest="expression">

...

...如果条件成立则输出...

...

if>

choose>

whentest="expression">

...输出...

when>

otherwise>

...输出....

otherwise>

choose>

注:

expression合法的过滤运算符:

∙= (等于)

∙!

=(不等于)

∙<(小于)

∙>(大于)

-------------------HTML内容--------------------------

for-each>

template>

stylesheet>

xPath手册:

选取节点

下面列出了最有用的路径表达式:

表达式

描述

nodename

选取此节点的所有子节点。

/

从根节点选取。

//

从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

.

选取当前节点。

..

选取当前节点的父节点。

@

选取属性。

实例

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

路径表达式

结果

bookstore

选取bookstore元素的所有子节点。

/bookstore

选取根元素bookstore。

注释:

假如路径起始于正斜杠(/),则此路径始终代表到某元素的绝对路径!

bookstore/book

选取属于bookstore的子元素的所有book元素。

//book

选取所有book子元素,而不管它们在文档中的位置。

bookstore//book

选择属于bookstore元素的后代的所有book元素,而不管它们位于bookstore之下的什么位置。

//@lang

选取名为lang的所有属性。

谓语(Predicates)

谓语用来查找某个特定的节点或者包含某个指定的值的节点。

谓语被嵌在方括号中。

实例

在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:

路径表达式

结果

/bookstore/book[1]

选取属于bookstore子元素的第一个book元素。

/bookstore/book[last()]

选取属于bookstore子元素的最后一个book元素。

/bookstore/book[last()-1]

选取属于bookstore子元素的倒数第二个book元素。

/bookstore/book[position()<3]

选取最前面的两个属于bookstore元素的子元素的book元素。

//title[@lang]

选取所有拥有名为lang的属性的title元素。

//title[@lang='eng']

选取所有title元素,且这些元素拥有值为eng的lang属性。

/bookstore/book[price>35.00]

选取bookstore元素的所有book元素,且其中的price元素的值须大于35.00。

/bookstore/book[price>35.00]/title

选取bookstore元素中的book元素的所有title元素,且其中的price元素的值须大于35.00。

选取未知节点

XPath通配符可用来选取未知的XML元素。

通配符

描述

*

匹配任何元素节点。

@*

匹配任何属性节点。

node()

匹配任何类型的节点。

实例

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式

结果

/bookstore/*

选取bookstore元素的所有子元素。

//*

选取文档中的所有元素。

//title[@*]

选取所有带有属性的title元素。

DTD&schema教程:

DTD(文档类型定义)的作用是定义XML文档的合法构建模块。

为什么使用DTD?

通过DTD,您的每一个XML文件均可携带一个有关其自身格式的描述。

通过DTD,独立的团体可一致地使用某个标准的DTD来交换数据。

而您的应用程序也可使用某个标准的DTD来验证从外部接收到的数据。

带有DTD的XML文档实例

xmlversion="1.0"?

>

DOCTYPEnote[

ELEMENTnote(to,from,heading,body)>

ELEMENTto(#PCDATA)>

ELEMENTfrom(#PCDATA)>

ELEMENTheading(#PCDATA)>

ELEMENTbody(#PCDATA)>

]>

George

John

Reminder

Don'tforgetthemeeting!

以上DTD解释如下:

!

DOCTYPEnote (第二行)定义此文档是 note 类型的文档。

!

ELEMENTnote (第三行)定义 note 元素有四个元素:

"to、from、heading,、body"

!

ELEMENTto (第四行)定义 to 元素为"#PCDATA"类型

外部方式加入DTD

Xml文件:

xmlversion="1.0"?

>

DOCTYPEnoteSYSTEM"note.dtd">

Dtd文件:

ELEMENTnote(to,from,heading,body)>

ELEMENTto(#PCDATA)>

PCDATA的意思是被解析的字符数据(parsedcharacterdata)。

可把字符数据想象为XML元素的开始标签与结束标签之间的文本。

CDATA的意思是字符数据(characterdata)。

申明出现的次数:

ELEMENTnote(to+,from?

header*,(message|body))>

声明属性

属性声明使用下列语法:

ATTLIST元素名称属性名称属性类型默认值>

DTD实例:

ATTLISTpaymenttypeCDATA"check">

默认值参数可使用下列值:

解释

属性的默认值

#REQUIRED

属性值是必需的

#IMPLIED

属性不是必需的

#FIXEDvalue

属性值是固定的

语法

ATTLIST元素名称属性名称属性类型#IMPLIED>

XMLSchema

XMLSchema的作用是定义XML文档的合法构建模块,类似DTD。

XMLSchema:

∙定义可出现在文档中的元素

∙定义可出现在文档中的属性

∙定义哪个元素是子元素

∙定义子元素的次序

∙定义子元素的数目

∙定义元素是否为空,或者是否可包含文本

∙定义元素和属性的数据类型

∙定义元素和属性的默认值以及固定值

XMLSchema是DTD的继任者

我们认为XMLSchema很快会在大部分网络应用程序中取代DTD。

理由如下:

∙XMLSchema可针对未来的需求进行扩展

∙XMLSchema更完善,功能更强大

∙XMLSchema基于XML编写

∙XMLSchema支持数据类型

∙XMLSchema支持命名空间

XMLSchema支持数据类型

XMLSchema最重要的能力之一就是对数据类型的支持。

通过对数据类型的支持:

可更容易地描述允许的文档内容,可更容易地验证数据的正确性,可更容易地与来自数据库的数据一并工作,可更容易地定义数据约束(datafacets),可更容易地定义数据模型(或称数据格式),可更容易地在不同的数据类型间转换数据

Xml对schema的引用:

xmlversion="1.0"?

>

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="note.xsd">

George

John

Reminder

Don'tforgetthemeeting!

Schema实例:

(note.xsd)

xmlversion="1.0"?

>

schemaxmlns:

xs="http:

//www.w3.org/2001/XMLSchema">

elementname="note">

complexType>

sequence>

elementname="to"type="xs:

string"/>

elementname="from"type="xs:

string"/>

sequence>

complexType>

element>

schema>

最常用的类型是:

∙xs:

string

∙xs:

decimal

∙xs:

integer

∙xs:

boolean

∙xs:

date

∙xs:

time

定义简易元素的语法:

elementname="xxx"type="yyy"{default=””fixed=""}/>

定义属性的语法是:

attributename="xxx"type="yyy"{default=””fixed=""}/>

可选的和必需的属性

在缺省的情况下,属性是可选的。

如需规定属性为必选,请使用"use"属性:

attributename="lang"type="xs:

string"use="required"/>

XSD复合元素

什么是复合元素?

复合元素指包含其他元素及/或属性的XML元素。

有四种类型的复合元素:

空元素、包含其他元素的元素、仅包含文本的元素、包含元素和文本的元素

在XMLSchema中,我们有两种方式来定义复合元素:

1.通过命名此元素,可直接对"employee"元素进行声明,就像这样:

elementname="employee">

complexType>

sequence>

elementname="firstname"type="xs:

string"/>

elementname="lastname"type="xs:

string"/>

sequence>

complexType>

element>

注意其子元素,"firstname"以及"lastname",被包围在指示器中。

这意味着子元素必须以它们被声明的次序出现。

2."employee"元素可以使用type属性,这个属性的作用是引用要使用的复合类型的名称:

elementname="employee"type="personinfo"/>

complexTypename="personinfo">

sequence>

elementname="firstname"type="xs:

string"/>

elementname="lastname"type="xs:

string"/>

sequence>

complexType>

XSD复合类型指示器

Order指示器:

All、Choice、Sequence

Occurrence指示器:

maxOccurs、minOccurs

Group指示器:

Groupname、attributeGroupname

指示器规定子元素可以按照任意顺序出现,且每个子元素必须只出现一次:

all>

elementname="firstname"type="xs:

string"/>

elementname="lastname"type="xs:

string"/>

all>

指示器规定可出现某个子元素或者可出现另外一个子元素(非此即彼):

指示器可规定某个元素可出现的最大次数:

指示器可规定某个元素能够出现的最小次数:

RDF教程:

什么是RDF?

∙RDF指资源描述框架(ResourceDescriptionFramework)

∙RDF是一个用于描述Web上的资源的框架

∙RDF提供了针对数据的模型以及语法,这样独立的团体们就可以交换和使用它

∙RDF被设计为可被计算机阅读和理解

∙RDF被设计的目的不是为了向人们显示出来

∙RDF使用XML编写

∙RDF是W3C语义网络活动的组成部分

∙RDF是一个W3C推荐标准

RDF资源、属性和属性值

RDF使用Web标识符来标识事物 (URIs) ,并通过属性和属性值来描述资源。

∙资源是可拥有URI的任何事物,比如

∙属性是拥有名称的资源,比如"author"或"homepage"

∙属性值是某个属性的值,比如"David"(请注意一个属性值可以是另外一个资源)

资源、属性和属性值的组合可形成一个陈述(被称为陈述的主体、谓语和客体)。

RDF实例

这是一个CD列表的其中几行:

Title

Artist

Country

Company

Price

Year

EmpireBurlesque

BobDylan

USA

Columbia

10.90

1985

Hideyourheart

BonnieTyler

UK

CBSRecords

9.90

1988

这是一个RDF文档的其中几行:

xmlversion="1.0"?

>

RDF

xmlns:

rdf="http:

//www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:

cd="http:

//www.recshop.fake/cd#">

Description

rdf:

about="http:

//www.recshop.fake/cd/EmpireBurlesque">

artist>BobDylan

artist>

country>USA

country>

company>Columbia

company>

price>10.90

price>

year>1985

year>

Description>

Description

rdf:

about="http:

//www.recshop.fake/cd/Hideyourheart">

artist>BonnieTyler

artist>

country>UK

country>

company>CBSRecords

company>

price>9.90

price>

year>1988

year>

Description>

RDF>

xmlns:

cd 命名空间,规定了带有前缀cd的元素来自命名空间"http:

//www.recshop.fake/cd#"。

Description> 元素包含了对被 rdf:

about 属性标识的资源的描述。

元素:

artist>、

country>、

company> 等是此资源的属性。

RDF容器用于描述一组事物。

 RDF元素用于描述这些的组:

以及

Bag>元素

Bag>元素用于描述一个规定为无序的值的列表。

Bag>元素可包含重复的值。

Seq>元素

Seq>元素用于描述一个规定为有序的值的列表(比如一个字母顺序的排序)。

Bag>元素可包含重复的值。

Alt>元素

Alt>元素用于一个可替换的值的列表(用户仅可选择这些值的其中之一)。

Description

rdf:

about="http:

//www.recshop.fake/cd/Beatles">

format>

Alt>

li>CD

li>

li>Record

li>

li>Tape

li>

Alt>

format>

Description>

RDFSchema(RDFS)

为什么要定义RDFSchema和应用程序的类

RDF通过类、属性和值来描述资源。

此外,RDF还需要一种定义应用程序专业的类和属性的方法。

应用程序专用的类和属性必须使用对RDF的扩展来定义。

RDFSchema就是这样一种扩展。

RDFSchema不提供实际的应用程序专用的类和属性,而是提供了描述应用程序专用的类和属性的框架。

RDFSchema中的类与面向对象编程语言中的类非常相似。

这就使得资源能够作为类的实例和类的子类来被定义。

RDFS实例

下面的实例演示了RDFS的能力的某些方面:

xmlversion="1.0"?

>

RDF

xmlns:

rdf="http:

//www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:

rdfs="http:

//www.w3.org/2000/01/rdf-schema#"

xml:

base="http:

//www.animals.fake/animals#">

Descriptionrdf:

ID="animal">

type

rdf:

resource="http:

//www.w3.org/2000/01/rdf-schema#Class"/>

Description>

Descriptionrdf:

ID="horse">

type

rdf:

resource="http:

//www.w3.org/2000/01/rdf-schema#Class"/>

subClassOfrdf:

resource="#animal"/>

Description>

RDF>

在上面的例子中,资源"horse"是类"animal"的子类。

OWL(WebOntologyLanguage)教程

什么是OWL?

∙OWL指的是web本体语言

∙OWL构建在RDF的顶端之上

∙OWL用于处理web上的信息

∙OWL被设计为供计算机进行解释

∙OWL不是被设计为供人类进行阅读的

∙OWL由XML来编写

∙OWL拥有三种子语言

∙OWL是一项web标准

什么是本体?

给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义。

OWL与RDF不同

OWL与RDF有很多相似之处,但是较之RDF,OWL是一门具有更强机器解释能力的更强大的语言。

与RDF相比,OWL拥有更大的词汇表以及更强大的语言。

OWL有三门子语言:

∙OWLLite

∙OWLDL(包含OWLLite)

∙OWLFull(包含OWLDL)

简单的OWL实例:

机场实例

RDF

xmlns:

rdf="http:

//www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:

rdfs="http:

//www.w3.org/2000/01/rdf-schema#"

xmlns:

owl="http:

//www.w3.org/2002/07/owl#"

>

Ontologyrdf:

about="">

comment>Airport

comment>

Ontology>

Classrdf:

ID="Airport">

subClassOf>

Restriction>

onPropertyrdf:

resource="#name"/>

toClassrdf:

resource="http:

//www.w3.org/2000/10/XMLSchema#string"/>

Restriction>

subClassOf>

subClassOf>

Restriction>

onPropertyrdf:

resource="#iataCode"/>

toClassrdf:

resource="http:

//www.w3.org/2000/10/XMLSchema#string"/>

Restriction>

subClassOf>

subClassOf>

Restriction>

onPropert

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1