关联数据入门——RDF应用_XML基础

引言
语义网(Semantic Web)是一种数据的网络,让数据得以共享,而不仅仅是被应用程序束缚。
但语义网也不仅仅是把数据放在互联网上,而是试图将数据联系起来,并产生数据与现实事物的联系,以方便人与机器阅读与理解这些数据。

The Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data.

——Linked Data Design Issues . Tim Berners-Lee
关联数据(Linked Data)是第一种可行的语义网表达形式,它采用RDF数据模型,利用URI(统一资源标识符)命名数据实体,来发布和部署实例数据和类数据,从而可以通过HTTP协议揭示并获取这些数据,同时强调数据的相互关联、相互联系以及有益于人机理解的语境信息。

Linked data is a set of best practices for publishing and deploying instance and class data using the RDF data model, and uses uniform resource identifiers (URIs) to name the data objects. The approach exposes the data for access via the HTTP protocol, while emphasizing data interconnections, interrelationships and context useful to both humans and machine agents.

——Linked Data FAQ . M.K. Bergman
因为语义网是一项庞大的工程,并相伴着各种困难,使其成为一种长期目标与愿景,而关系数据是一类实践活动,其可行并实用,成为当前语义网实现的一种最佳可行方案。

RDF的特点

资源描述框架(Resource Description Framework),作为XML(Extensible Markup Language)的一种衍生版本,他是关联数据的基本数据模型。蒂姆·伯纳斯-李(Tim Berners-Lee)在设计它的时候面临了以下两个问题:

•怎样去设计方便易学易于传播并适合标准化的语言?
•怎样去设计离散数据的入口和出口?
为了解决这两个问题,RDF有以下一些特点:

•使用XML作为基本语言
•使用URIs作为现实事物的名字
•使用HTTP URIs使人们知道如何通过名字在网络中寻找数据(即创建离散数据入口)
•包含与其他URIs的联系,使人们可以通过其找到更多有用的东西(即创建离散数据出口)
•使用三元组(Triple)形式存储数据
实际上,一些RDF版本并非使用XML语言,这里主要指的是初始版本。

一个简单的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.w3.org/">
<dc:title>World Wide Web Consortium</dc:title>
</rdf:Description>
</rdf:RDF>

将该RDF例子通过W3C RDF验证服务,会出现以下列表:
Triples of the Data Model 

Number Subject Predicate Object
1 http://www.w3.org/ http://purl.org/dc/elements/1.1/title "World Wide Web Consortium"

这是啥东东?

三元组(Triple),RDF数据模型的基本表现单元。所谓三元组就是:主(Subject)-谓(Predicate)-宾(Object)。

A triple store is designed to store and retrieve identities that are constructed from triplex collections of strings (sequences of letters). These triplex collections represent a subject-predicate-object relationship that more or less corresponds to the definition put forth by the RDF standard.

——Triple Store . Jack Rusher
不同于关系数据,其数据本身没有庞大的联系(这在数据网络如此庞大的数据面前也是不可行的),而是使用类似人类陈述语句(Statement)的方式来存储数据,例如:

•Tom is a man.(Tom是个男人)
•Tom lives in a red house.(Tom住在一个红房子里)
•Tom married with Lili.(Tom和Lili结婚了)
可见三元组形式也有强大的数据存储表达潜力,人类正是这种形式的长期受益者。当然像上面这么表述对人类友好,但对机器却不怎么友好,因为这种谓语对于宾语并没有良好的限定,至少机器不这么认为。所以我们应该写成这样的模式:

•Tom(Tom) sex(性别) man(男)
•Tom(Tom) house(房子) red(红色)
•Tom(Tom) wife(妻子) Lili(Lili)
回到标题,这是什么东东?其表述了下列内容:

1.http://www.w3.org (表示该陈述是描述的主体是什么,由于HTTP URI映射现实事物,所以可以看做该是对什么现实事物的描述)
2.http://purl.org/dc/elements/1.1/title (主体的属性,一般表示宾体的类型,例如dc:title是都柏林核心中用来指明资源名称的,即客体是该资源的一个名字)
3.World Wide Web Consortium (客体)

别人是如何获得RDF的?

下图说明了这个过程:

 

•首先先对HTTP URI进行请求。
•通常浏览器HTTP请求头是:text/html、application/xhtml+xml类型,故服务器返回一般html/xhtml文档。
•但对于语义浏览器,其HTTP请求头是:application/rdf+xml类型,故服务器进行303重定向,得到相应RDF文件。
也就是说,对于一个HTTP URI可以返回两种表达形式:文档和数据。这样就建立了两种不同的网络,一个利于人类阅读的文档网,另一种是利于机器阅读的数据网。

时间: 2024-09-20 00:47:05

关联数据入门——RDF应用_XML基础的相关文章

Javascript实现关联数据(Linked Data)查询及注意细节_javascript技巧

前言 自由百科全书不仅仅应当可以自由编写,而更应该可以自由获得. DBpedia对Wikipedia的数据变成Linked Data形式,使得机器也能读懂并自由获得这些数据. 本文的主要目的是利用Javascript从DBpedia中获取我们想要的数据. 对Linked Data不太了解的请参考:关联数据入门--RDF. SPARQL Trying to use the Semantic Web without SPARQL is like trying to use a relational

用OPENXML将XML数据转换为关联数据

从SQL Server 2000开始,微软开始支持XML类型的数据.在SQL Server2005中,微软延续了这一特性,并加强了对XML 数据列.XML变量以及XML索引的支持. 在数据库中存储XML数据是一个很出色的特征.对于大部分的数据处理需求来讲,将XML数据格式化为其它关联数据是十分重要.这也是引入OPENXML函数的原因.OPENXML是一个SQL Server提供的函数,它的作用是接收XML数据,提供内存中 XML数据的行集视图. 一个OPENXML函数用例 在下面的例子中,我们将

关联数据表查询,不用表连接,不建立外键,如何查询出来

问题描述 关联数据表查询,不用表连接,不建立外键,如何查询出来 查询两个有关联的数据表,一个表是cate分类表,另一个是game游戏表,分类表的id=game表的cate_id 不用表连接,不建立外键,怎么将game表的数据和cate表的数据一一对应查出来.求答 解决方案 select game.*(select cate_name from cate where 分类表的id=game.cate_id) as 分类名 from game

EF里单个实体的增查改删以及主从表关联数据的各种增删改查

原文:EF里单个实体的增查改删以及主从表关联数据的各种增删改查 本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(查询导航属性为集合.查询导航属性为单个对象) 修改(修改从表的外键) 删除(删除主从表关系.删除主表数据.删除主从表数据.修改从表数据外键) 补充内容 SaveChanges方法提交多次操作 DbSet.Add方法返回当前实体 源码和系列文章导航 注:本章节多次演

Contoso 大学 - 5 – 读取关联数据

原文 Contoso 大学 - 5 – 读取关联数据 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Microsoft's Web Platform & Tools Content Team. 原文地址:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/reading-related-data-with-the-entity-frame

大数据未来是App 并非基础架构

[编者按]本文作者Justin LaFayette,为我们解读他眼中大数据的未来. 在大数据被各种媒体热炒的同时,真相被蒙蔽了:App才是大数据的未来.过去http://www.aliyun.com/zixun/aggregation/13748.html">基础架构和平台一直是被捧吹的对象,但它们只提供了承载大数据的环境,无法利用大数据创造长期价值,所以它们并不是大数据的未来核心. 在市场上它需要公司提供大数据App,能够洞察特定市场版块或业务流程.及时反馈数据.到达尽可能多的调差对象.

mvc3中关联数据的显示

问题描述 mvc3中怎么显示关联数据,就是第二个图显示第一个图对应的名称 解决方案 解决方案二:没人会吗?解决方案三:最简单的方式,根据select下拉框的change事件发送ajax请求,然后把服务器端返回的数据填充到界面中就行了,这和你使用的是webfom还是mvc关系不大解决方案四:我是想显示关联数据来着,就比如说23对应的是淘宝,第二张图类型哪儿显示淘宝解决方案五:用脚本来实现吧解决方案六:引用3楼u013438504的回复: 我是想显示关联数据来着,就比如说23对应的是淘宝,第二张图类

UWP入门(二) -- 基础笔记

原文:UWP入门(二) -- 基础笔记 不错的UWP入门视频,1092417123,欢迎交流 UWP-04 - What i XMAL? XAML - XML Syntax(语法) ,create instance of Classes that define the UI by setting properties(属性). UWP-05 - Understanding Type Converters Type Converters - Convert literal(字面的) strings

Contoso 大学 - 6 – 更新关联数据

原文 Contoso 大学 - 6 – 更新关联数据 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Microsoft's Web Platform & Tools Content Team. 原文地址:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/updating-related-data-with-the-entity-fram