关于RDF与XML的区别
刚开始学习语义网的知识,根据语义网层次推进,看完XML紧接着RDF,忽然有个疑问:为什么我们一定要用RDF而非仅仅使用已经很成熟的XML呢?貌似XML比RDF少了一个推理的系统,可以就推理而言,RDF也绝不是最好的,显然OWL的推理要比RDF强很多啊,那么为什么还需要这个层次呢?
在网上寻了N久,终于得到自己比较满意的答案,拿出来跟大家共享下。
首先,XML与RDF的区别:
1.RDF模式和XML模式是不同的XML数据模式是一个文本可扩展语言,相比之下,RDF有一个非常简单的模式,即二元关系模式。当然,任何的RDF声明形式都可以用XML来表示,但XML是被设定为固定的、树状的文本,在描述数据元上缺乏一定的灵活性。RDF模式却是有足够的灵活来描述这种主观的、分布式的、用不同形式来表达的元数据。
2.RDF和XML所使用的资源不同
XML中所谈到的节点,是XML文档中的节点,尤其是在文档结构中特定之处。在RDF中,节点不在是节点本身了,而是任何其他可用URIS标识的资源,因此RDF是一种元数据语言。
3.XML Schema和RDF的语意不同
XML Schema最初的语意解释是限制在XML文档中的,它是隐含的。RDF原本就是语意解释,用于对那些不能够用树形结构来很好建模的知识进行建模。总之,XML/XML Schema是数据建模语言,RDF是元数据建模语言,当元数据需要编码成
数据时,XML语法就非常的有用,如果纯用XML语言来进行元数据建模那么在灵活性就会受到阻碍。
其次,为什么要用RDF而非仅仅使用XML(这段是英语文档,不难看懂)
This has been a question which has been around ever since RDF started. At the W3C Query Language workshop, there was a clear difference of view between those who wanted to query documents and those who wanted to extract the "meaning" in some form and query that. This is typical. I wrote this note in a frustrated attempt to explain whatthe RDF model was for those who though in terms of the XML model. I later listened to those who thought in terms of the XML model, and tried to writ it the other way around in another note. This note assumes that the XML data model in a
相关文档:
xml -声明-引发的异常
XML 声明 [XML 标准]
XML 声明通常在 XML 文档的第一行出现。XML 声明不是必选项,但是如果使用 XML 声明,必须在文档的第一行,前面不得包含任何其他内容或空白。
文档映射中的 XML 声明包含下列内容:
版本号 <?xml version="1.0"?>。
这是必选项。尽管以后的 XML 版本可能会更改该 ......
今天的项目模块中用到根据数据库里的资料生成xml文件,主要步骤如下:
(1) 连接数据库,取出数据;
(2) 创建结点,添加子项;
(3) 写入文件“test.xml”中;
具体代码如下:
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Result ......
个人收集、整理了一些LINQ TO XML的基本方法,希望各位大虾多多指导:
/// <summary>
///Xml节点属性
/// </summary>
public class XmlAttribute
{
public XmlAttribute()
{
}
public XmlAttribute(string _key,object _value)
&nbs ......
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<mobile-list>
<mobile type="Nokia2652">
<wap2>false</wap2>
<width>115</width>
</mobile>
<mobile type="Nokia2650">
......
package com.pk.xml;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4j {
public static void main(String[] args) {
try {
//获得SAX解析器
SAXReader reader = new SAXReader();
//解析文件
File file = n ......