本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:
日志总数:8
评论数量:19
留言数量:0
访问次数:69865
建立时间:2006年8月1日




[Semantic Web]Inferring and Discovering Relationships using RDF Schemas(1)
读书笔记

爱睡觉的猫 发表于 2006/8/8 9:08:18

第一部分:RDFS概述 1. RDFS的目的是什么? RDFS的目的在于提供一个XML的词汇表,用于定义类或子类之间的关系以及类和属性之间的关系。这样做的好处在于:提高数据的推理能力和搜索能力。 RDFS主要用于创建某个领域的概念分类。 2.       RDFS可以提供什么样的推理? 举个例子: 推理可以得出:- Yangtze is a Stream - Yangtze is an NaturallyOcurringWaterSource - http://www.china.org/geography#EastChinaSea is a BodyOfWater 3.RDFS如何提高搜索数据的能力   在上例中我们如果这样提问:"Show me all documents that contain info about Streams" 我们将得到这样的答案: - Yangtze is a Stream, so this document is relevant to the query. 第二部分:RDFS的基本语法 rdfs:class  <rdfs:Class rdf:ID="River">         <rdfs:subClassOf rdf:resource="#Stream"/> </rdfs:Class> 用于定义一个类,rdf:ID用于定义一个类的名字 下面这两种定义类的方法是相等的: <rdfs:Class rdf:ID="River">         <rdfs:subClassOf rdf:resource="#Stream"/> </rdfs:Class>和 <rdf:Description rdf:ID="River">         <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>         <rdfs:subClassOf rdf:resource="#Stream"/> </rdf:Description> 2. rdfs:subClassOf 可以有零个/一个/多个rdfs:subClassOf属性 零个rdfs:subClassOf属性隐式地说明了这个类是rdf:Resource的子类 一个rdfs:subClassOf属性说明了这个类是另外一个类的子类 多个rdfs:subClassOf属性说明了这个类是多个类的子类,既是多个类的交集。 比如: <rdfs:Class rdf:ID="River">         <rdfs:subClassOf rdf:resource="#Stream"/>         <rdfs:subClassOf rdf:resource="http://www.containers.org#SedimentContainer"/> </rdfs:Class> 另外rdfs:subClassOf具有传递依赖 3. rdf:Property <?xml version="1.0"?> <rdf: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.geodesy.org/water/naturally-occurring">     <rdf:Property rdf:ID="emptiesInto">         <rdfs:domain rdf:resource="#River"/>         <rdfs:range rdf:resource="#BodyOfWater"/>     </rdf:Property>     ... </rdf:RDF> 注意rdfs:domain和rdfs:range的用法:rdfs:domain是值域,rdfs:range是作用域 以下两种表达方法是相等的 <rdf:Property rdf:ID="emptiesInto">         <rdfs:domain rdf:resource="#River"/>         <rdfs:range rdf:resource="#BodyOfWater"/> </rdf:Property>和 <rdf:Description rdf:ID="emptiesInto">         <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>         <rdfs:domain rdf:resource="#River"/>         <rdfs:range rdf:resource="#BodyOfWater"/> </rdf:Description> 有一点要注意的是: Class的NS是RDF,而Property的NS是RDFS 4. rdfs:range 表示这个属性可能包含的类型的值。 跟subclassof类似,可以包括零个/一个/多个rdfs:range属性 零个:如果一个属性没有定以rdfs:range说明这个属性的值的类型未确定。 一个:说明这个属性的值的类型唯一 多个:说明这个属性的值的类型有多种。比如: <rdf:Property rdf:ID="emptiesInto">         <rdfs:domain rdf:resource="#River"/>         <rdfs:range rdf:resource="#BodyOfWater"/>         <rdfs:range rdf:resource="http://www.geodesy.org/coast#CoastalWater"/> </rdf:Property> 5. rdfs:domain 表示可能使用这个属性的类。 跟rdfs:range类似,不再重复 <rdf:Property rdf:ID="emptiesInto">         <rdfs:domain rdf:resource="#River"/>         <rdfs:domain rdf:resource="http://www.containers.org#Vessel"/>         <rdfs:range rdf:resource="#BodyOfWater"/> </rdf:Property>   在这里我们要注意,类和属性是分别定义的,而不是象在OO里面那样,定义了类的同时就定义了属性。也就是说在RDFS里面,我们定义了类,然后定义属性,并将属性与类关联起来。这样做的好处是,任何人任何时刻都可以定义类的属性。


阅读全文(2213) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.191 second(s), page refreshed 144760862 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号