草庐IT

xml - Json、XML 和 RDF 之间的区别

coder 2024-06-23 原文

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

7年前关闭。



Improve this question




我对 JSON、XML 和 RDF 之间的区别有什么疑问。

我在网上读到:

  • JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。人类很容易阅读和写作。机器很容易解析和生成。
  • 资源描述框架 (RDF) 是一种用于表示有关万维网资源信息的语言。
  • 可扩展标记语言 (XML) 是一种源自 SGML (ISO 8879) 的简单、非常灵活的文本格式。 XML 最初是为应对大规模电子出版的挑战而设计的,它在 Web 和其他地方的各种数据交换中也发挥着越来越重要的作用。

  • 所以如果我没记错的话,Json 是用来交换数据的。 XML 也用于数据交换。
    这两者之间的主要区别是什么?

    RDF 用于描述 Web 上的资源,并基于 xml 语法。那么xml既可以用来交换信息,也可以用来描述新的语言

    你能给我一些澄清吗?

    编辑:

    我的理解是:
  • “资源描述框架”建议提供一个描述资源的框架。在大学考试中,我使用 RDF 来描述公司的本体,我描述了公司的主要组成部分以及它们之间的关系。
    RDF 对语义网很重要,因为“描述资源”允许我们将语义与资源相关联。
  • XML 是一种标记语言。标记语言是一组规则,用于描述文本(维基百科)的表示(结构、语义或表示)机制。为此,它可用于定义 RDF 或 SOAP 等文本的结构。
    您还说它用于数据序列化。
  • JSON 仅用于数据序列化。序列化数据 JSON 和 XML 是相似的,但是使用 XML 和 XML SCHEMA 我可以将语义与数据相关联,还是我错了?
  • 最佳答案

    XML 最初是作为一种文档标记语言而诞生的。此外,它还被广泛用于以各种计算机语言存储(序列化)数据结构,并且是基于 SOAP 的 Web 服务的基础。

    JsonYAML旨在记录数据结构。 Yaml 被描述为 JSON 的超集。在实践中,我发现除了 Yaml 更易于人类读写之外,几乎没有实际区别。由于其简单性,JSON 现在更受基于 REST 的 Web 服务的青睐。

    RDF 与其说是一种数据格式,不如说是一种元数据数据模型。它用于记录互联网上的信息,是Semantic web的积木标准之一。 . RDF 可以用各种不同的格式表示,例如 XMLJSON .我可以推荐以下链接作为介绍:

  • https://github.com/JoshData/rdfabout/blob/gh-pages/intro-to-rdf.md

  • 有关此主题的一些 RDF 示例和更多讨论:
  • JSON to XML conversion
  • 关于xml - Json、XML 和 RDF 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859453/

    有关xml - Json、XML 和 RDF 之间的区别的更多相关文章

    1. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

      我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

    2. ruby-on-rails - Rails 应用程序之间的通信 - 2

      我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

    3. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

      在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

    4. ruby - 触发器 ruby​​ 中 3 点范围运算符和 2 点范围运算符的区别 - 2

      请帮助我理解范围运算符...和..之间的区别,作为Ruby中使用的“触发器”。这是PragmaticProgrammersguidetoRuby中的一个示例:a=(11..20).collect{|i|(i%4==0)..(i%3==0)?i:nil}返回:[nil,12,nil,nil,nil,16,17,18,nil,20]还有:a=(11..20).collect{|i|(i%4==0)...(i%3==0)?i:nil}返回:[nil,12,13,14,15,16,17,18,nil,20] 最佳答案 触发器(又名f/f)是

    5. ruby - #之间? Cooper 的 *Beginning Ruby* 中的错误或异常 - 2

      在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee

    6. ruby-on-rails - `a ||= b` 和 `a = b if a.nil 之间的区别? - 2

      我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行

    7. ruby - 这两个 Ruby 类初始化定义有什么区别? - 2

      我正在阅读一本关于Ruby的书,作者在编写类初始化定义时使用的形式与他在本书前几节中使用的形式略有不同。它看起来像这样:classTicketattr_accessor:venue,:datedefinitialize(venue,date)self.venue=venueself.date=dateendend在本书的前几节中,它的定义如下:classTicketattr_accessor:venue,:datedefinitialize(venue,date)@venue=venue@date=dateendend在第一个示例中使用setter方法与在第二个示例中使用实例变量之间是

    8. ruby-on-rails - 如何使用 Rack 接收 JSON 对象 - 2

      我有一个非常简单的RubyRack服务器,例如:app=Proc.newdo|env|req=Rack::Request.new(env).paramspreq.inspect[200,{'Content-Type'=>'text/plain'},['Somebody']]endRack::Handler::Thin.run(app,:Port=>4001,:threaded=>true)每当我使用JSON对象向服务器发送POSTHTTP请求时:{"session":{"accountId":String,"callId":String,"from":Object,"headers":

    9. [工业相机] 分辨率、精度和公差之间的关系 - 2

      📢博客主页:https://blog.csdn.net/weixin_43197380📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!📢本文由Loewen丶原创,首发于CSDN,转载注明出处🙉📢现在的付出,都会是一种沉淀,只为让你成为更好的人✨文章预览:一.分辨率(Resolution)1、工业相机的分辨率是如何定义的?2、工业相机的分辨率是如何选择的?二.精度(Accuracy)1、像素精度(PixelAccuracy)2、定位精度和重复定位精度(RepeatPrecision)三.公差(Tolerance)四.课后作业(Post-ClassExercises)视觉行业的初学者,甚至是做了1~2年

    10. spring.profiles.active和spring.profiles.include的使用及区别说明 - 2

      转自:spring.profiles.active和spring.profiles.include的使用及区别说明下文笔者讲述spring.profiles.active和spring.profiles.include的区别简介说明,如下所示我们都知道,在日常开发中,开发|测试|生产环境都拥有不同的配置信息如:jdbc地址、ip、端口等此时为了避免每次都修改全部信息,我们则可以采用以上的属性处理此类异常spring.profiles.active属性例:配置文件,可使用以下方式定义application-${profile}.properties开发环境配置文件:application-dev

    随机推荐