是什么RDF和OWL之间的区别?是什么RDF和OWL之间的区别?(What is the diffe

2019-05-12 11:52发布

我试图把握语义Web的概念。 我发现很难理解到底什么是RDF和OWL之间的差异。 OWL是RDF的扩展,或这两种完全不同的技术?

Answer 1:

语义网进来层。 这是那些我觉得你感兴趣的快速摘要。

更新 :请注意,RDFS用于定义数据的结构,而不是猫头鹰。 OWL描述语义关系在正常节目,如C结构,是不是大惊小怪,是更接近人工智能研究和集合论。

三同及的URI

Subject - Predicate - Object

这些描述一个事实。 一般的URI被用于主语和谓语。 的对象是另一URI或文字,诸如数字或字符串。 文字可以有一个类型(这也是一个URI),并且它们还可以有一种语言。 是的,这意味着三元最多可以有数据的5位!

例如三可能描述的事实,查尔斯是哈利的父亲。

<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .

三同被带到一个逻辑极端数据库规范化。 他们的优势在于,你可以从许多来源三元加载到一个数据库中,没有重新配置。

RDF和RDFS

下一层是RDF - 资源描述框架。 RDF定义了一些额外的结构以三倍。 RDF定义了最重要的一点是,称为谓词“RDF:类型”。 这是常说的事情是某些类型的。 每个人都使用RDF:类型,这使得它非常有用。

RDFS(RDF架构)定义了一些类代表的主体,客体,谓语等概念这意味着你可以开始制作有关的事情类和类型关系的声明。 在最简单的层面,你可以说明一些类似http://familyontology.net/1.0#hasFather是一个人,一个人之间的关系。 它也可以让你在人类可读的文本描述的关系或一类的意思。 这是一个模式。 它会告诉你各种类和关系的合法用途。 它也可以用来表示一个类或属性是一个子类型的更一般类型。 例如,“HumanParent”是“人”的子类。 “爱”是一个子类的“知道”。

RDF Serialisations

RDF可以在许多文件格式导出。 最常见的是RDF + XML但也有一些弱点。

N3是一个非XML格式,其是更容易阅读,并有一些子集(龟和N-三元),它们是严格。

重要的是要知道,RDF是三元,而不是文件格式的一种工作方式是很重要的。

XSD

XSD主要是用来描述属性类型,比如日期,整数和等命名空间。 它通常见于RDF数据识别特定类型文字的。 它也可用于XML模式,这是鱼的一个稍微不同的水壶。

猫头鹰

OWL添加语义模式。 它允许你指定有关属性和类远不止这些。 它也是在三元表示。 例如,它可以指示“如果A isMarriedTo B”然后,这意味着“B isMarriedTo A”。 或者说,如果“C isAncestorOf d”“d isAncestorOf E”,然后“C isAncestorOf E”。 猫头鹰增加了一个有用的东西是说两个东西是一样的能力,这是加入了在不同的模式表示的数据非常有帮助。 可以说,在一个模式“首创”的那种关系是猫头鹰:sameAs的一些其他架构“父亲”。 你也可以用它来表示两件事情是一样的,如“猫王”在维基百科是在BBC的相同。 这是非常令人兴奋的,因为它意味着你可以开始加入了来自多个站点的数据(这是“关联数据”)。

您也可以使用OWL来推断隐含的事实,如“C isAncestorOf E”。



Answer 2:

简而言之:

  • RDF定义了如何写的东西
  • OWL定义写什么

由于以前的海报中写道,RDF是它告诉你如何定义三元规范。

问题是,RDF允许您定义的一切,所以你可以编写这样的声明:

| subject | predicate | object |
|---------|-----------|--------|
| Alex    | Eats      | Apples |
| Apples  | Eats      | Apples |
| Apples  | Apples    | Apples |

这些三元形成有效的RDF文件。

但是,语义,你明白,这些陈述是不正确的RDF不能帮你验证你写什么。

这不是一个有效的本体。

OWL规范定义到底是什么 ,你可以以具有有效的本体与RDF写。

本体可以有几个属性。

这就是为什么OWL(版本1)定义了几个版本一样OWL DL,OWL精简版,OWL完整。



Answer 3:

RDF,RDFS和OWL的方法来表达越来越复杂的信息或知识。 所有的人都可以在RDF被序列/ XML语法(或类似海龟或N3例如任何其他RDF序列语法)。

这些技术是相关的,应该是可互操作的,但他们有不同的来源这也许为什么它们之间的关系是复杂的把握。 在一种或另一种的选择取决于有多少复杂性你的情况建模需要。

表达性的总结

RDF:直截了当表示,集中在实例和对映射到它们的类型( rdf:type )。 它可以定义自定义属性链接数据和创建三倍。 RDF数据查询与SPARQL。 RDF的实施例中龟序列:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .

RDFS:有些情况下不容易被单独RDF建模,它有时是有趣地代表例如像子类更复杂的关系( 一种类型 )。 RDFS提供了特殊装置以表示这样的情况下,与结构,如rdfs:subClassOfrdfs:rangerdfs:domain 。 理想情况下, 推理可以了解RDFS语义和扩大基于关系三元组的数量:例如,如果你有三元John a ManMan rdfs:subClassOf Human ,那么你应该生成以及三重John a Human 。 请注意,这是不可能单独做RDF。 RDFS数据使用SPARQL查询。 RDFS的实施例中龟序列:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:Man    rdfs:subClassOf    :Human .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .
# After reasoning
:john    rdf:type    :Human .

OWL:表现力的最高水平。 类之间的关系可以基于描述逻辑(数学理论)正式建模。 OWL很大程度上依赖于推理机,它能够表达复杂的结构,如例如或限制类之间链接的属性。 OWL用于建立在RDF数据集的顶部本体或模式。 如OWL可以被序列化为RDF / XML,它在理论上是可能经由SPARQL查询它,但它更直观的查询与查询DL OWL本体(这通常是一个标准的OWL类表达)。 OWL的实施例中龟构建串行化。

@prefix : <http://www.example.org/> .
:livesIn    rdf:type    owl:DatatypeProperty .
:Human    rdf:type    owl:Class .
:Man   rdf:type    owl:Class .
:Man    rdfs:subClassOf    :Human .
:John    rdf:type    :Man . 
:John    rdf:type    owl:NamedIndividual .


Answer 4:

首先,作为一个之前已经指出的那样,猫头鹰可以在RDF序列化。

其次,OWL增加本体论能力RDF(其自身仅提供正式knownledge表示极其有限的能力),通过设置该装置来定义三重使用正式可计算第一顺序描述逻辑的部件。 这就是海报通过这里时,他们谈论的“语义丰富性”的意思。

类和猫头鹰:第三,必须认识到,在OWL-全(OWL为1)RDFS很重要的一类是等价的,在OWL-DL,猫头鹰:类是RDFS的一个子类:类。 实际上,这意味着你可以使用OWL本体为RDF架构(不正式要求图式)。

我希望,有助于进一步澄清。



Answer 5:

我个人认为这个幻灯片甲板相当有用的和可以理解的: http://www.slideshare.net/rlovinger/rdf-and-owl



Answer 6:

RDF是一种方法来定义一个三重“主体”,“谓语”,“值”。 例如,如果我想说,

“我的名字叫皮埃尔”

我会写

<mail:me@where.com> <foaf:name> "Pierre"

请参阅<foaf:name> ? 它是一部分FOAF本体。 本体是描述性,给定对象的类正式的方式和OWL是(RDF)的方式来定义的本体。

您可以使用C ++,JAVA等...定义一个类,子类,场,等...

class Person
{
    String email_as_id;
    String name;
}

RDF使用OWL来定义这些类型的语句。

另一个地方要问这样一个问题: http://www.semanticoverflow.com/



Answer 7:

当您使用术语RDF你必须区分两种情况:

  1. 你可以参考RDF作为一个概念

    描述使用三元组的集合东西/逻辑/任何事情的方式。

    例:

    “安娜苹果。” “苹果是健康的。”

    上面有两个三元描述两种资源“安娜”和“苹果”。 RDF(资源描述框架)的概念是,你可以带套的只有3个字(条件)描述资源(什么)。 在这个层面上,你不关心你是如何存储信息,无论你有3个字的字符串,或在墙上一幅画,或3列等的表

    在这个概念上的水平是非常重要的唯一的事情是,你可以代表您要使用三层语句什么。

  2. 你可以参考RDF的词汇

    词汇表只是保存在一个文件或某个术语的定义集合。 这些定义的术语具有在其他描述通常被重复使用,以便人们可以描述数据(资源)更容易,并以标准的方式的目的。

    在网络上,你可以找到一些标准词汇,如:

    RDF( https://www.w3.org/1999/02/22-rdf-syntax-ns )

    RDFS( https://www.w3.org/2000/01/rdf-schema# )

    OWL( https://www.w3.org/2002/07/owl )

    该RDF vocubalary定义的形式来帮助你描述(在最基本的水平越好)类的个人/实例。 实施例:RDF:类型,RDF:属性。

    随着RDF:类型你可以描述一些资源是一个类的实例:

      <http://foo.com/anna> rdf:type <http://foo.com/teacher> 

    所以RDF词汇有瞄准类实例和其他一些描述(如三重声明定义或定义谓词...一般东西都是realted到RDF概念)的基本描述方面。

    该RDFS词汇具有长期的定义,以帮助您描述他们之间的类和关系。 RDFS词汇并不关心像RDF词汇类(个人)的实例。 例:RDFS:您可以使用subClassOf特性具有来描述A类是B类的子类

    在RDF和RDFS词汇都依赖于彼此。 RDF定义了它的使用RDFS术语和RDFS使用RDF定义它自己的条款。

    在RDF / RDFS词汇提供了可用于创建资源非常基本的描述方面。 如果你想有更多的复杂和精确的描述,你必须使用OWL词汇。

在OWL词汇附带了一组新的目标方面更详细的描述。 这些术语使用的是从RDF / RDFS词汇来定义。

owl:ObjectProperty a rdfs:Class ;
                   rdfs:label "ObjectProperty" ;
                   rdfs:comment "The class of object properties." ;
                   rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                   rdfs:subClassOf rdf:Property .

owl:DatatypeProperty a rdfs:Class ;
                     rdfs:label "DatatypeProperty" ;
                     rdfs:comment "The class of data properties." ;
                     rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                     rdfs:subClassOf rdf:Property .

 owl:TransitiveProperty a rdfs:Class ;
                        rdfs:label "TransitiveProperty" ;
                        rdfs:comment "The class of transitive properties." ;
                        rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                        rdfs:subClassOf owl:ObjectProperty .

正如你所看到的OWL词汇上方延伸RDF的概念:通过创造新的类型不那么抽象,并能提供资源的更准确的描述属性的属性。

结论:

  1. RDF是一种概念或使用说明三元组的资源的一种方式。
  2. RDF三元可以存储在不同的格式(XML / RDF,龟背等)
  3. RDF的概念是所有的语义Web技术和结构(如词汇)的基本模型。
  4. RDF也是随着RDFS词汇提供一组术语可用于创建资源的一般/抽象描述的词汇表。
  5. OWL是RDF和RDFS词汇,对于创建资源的更详细的描述提供了新的条件建立了一个词汇。
  6. 所有的语义网络词汇(RDF,RDFS,OWL等)被尊重RDF概念之上。
  7. 当然,在OWL词汇具有场景都挺复杂的逻辑和概念,它定义了Web本体语言的后面。 OWL的词汇是只用在实践中所有的逻辑的方法。


Answer 8:

RDFS允许您通过标准化的灵活,基于三格式,然后提供的词汇来表达事物之间的关系(“关键词”,如rdf:typerdfs:subClassOf ),它可以用来说事。

OWL相似,但更大,更好和更坏。 OWL可以让你多说关于你的数据模型,它展示了如何与数据库查询和自动推理的工作效率,并为您带来数据模型到现实世界提供了有用的注解。

第一个区别:词汇

RDFS和OWL之间的差异,最重要的是仅仅是OWL提供了一个很远很远词汇量越大,你可以用说的东西

例如,OWL包括从RDFS所有的老朋友,如rdfs:typerdfs:domain ,和rdfs:subPropertyOf 。 然而,OWL还为您提供了新的,更好的朋友! 例如,OWL让你描述你在一组操作方面的数据:

Example:Mother    owl:unionOf     (Example:Parent, Example:Woman)

它可让您在数据库中定义等价:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

它可以让你限制属性值:

Example:MyState     owl:allValuesFrom     (State:NewYork, State:California, …)

事实上,OWL提供了这么多新的,复杂的词汇在数据建模和推理获得自己的教训使用!

第二个区别:刚性

另一个主要区别是,不像RDFS,OWL不仅告诉你如何可以使用一定的词汇量,它实际上告诉你,你怎么就不能使用它。 相比之下,RDFS为您提供了一个任何事情都会发生的世界中,你可以添加几乎任何三重你想要的。

例如,在RDFS,任何你觉得可以的实例rdfs:Class 。 您可能决定说,Beagle是一个rdfs:Class ,然后说, 菲多小猎犬的一个实例:

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

接下来,你可以决定你想说约比格犬的事情,也许你要说,Beagle在英格兰育成犬的一个实例:

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

在这个例子中,有趣的是, Example:Beagle被用作既类和实例Beagle是一个类, 菲多是中的一员,但小猎犬本身就是另一个类的成员,在英格兰育成的事情。

在RDFS,这一切都是完全合法的,因为RDFS并没有真正限制它声明,你可以和不能插入。 在OWL相比之下,或者至少在OWL的一些味道,上述表述实际上是不合法的: 你只是不准说的东西既可以是类的实例。

然后,这是RDFS和OWL之间的第二个主要区别。 RDFS使免费为所有 ,任何事情都会发生什么样的世界充满了狂野西部的,讲-Easies和萨尔瓦多·达利。 猫头鹰的世界施加了更为刚性的结构。

第三个区别:注释,元元数据

假设你已经花了最后一个小时构建描述你的收音机制造业务的本体。 午餐时,你的任务是建立你的时钟制造企业本体。 今天下午,一个漂亮的咖啡后,你的老板现在告诉你,你就必须建立本体为您的高利润的时钟收音机业务。 有没有一种方法可以轻松地重用上午的工作?

OWL了做这样的事情非常,非常方便。 Owl:Import是你将在时钟收音机情况下使用什么,但是OWL还为您提供了丰富多样的注解如owl:versionInfoowl:backwardsCompatibleWith ,和owl:deprecatedProperty ,它可以很容易地使用链路数据模型一起进入相互连贯的整体。

与RDFS,OWL是一定要满足你所有的元元数据建模的需求。

结论

OWL为您提供了一个更大的词汇一起玩,这使得它容易说你可能想说一下你的数据模型什么。 它甚至可以让你定制你基于现代计算机的计算现实,以优化特定应用的说些什么(搜索查询,例如)。此外,OWL允许您使用标准的注释框架轻松地表达不同的本体之间的关系。

所有这些都是优点相比,RDFS的,和一般的价值它需要熟悉这些额外的努力。

来源: RDFS与OWL



Answer 9:

我试图把握语义Web的概念。 我发现很难理解到底什么是RDF和OWL之间的差异。 OWL是RDF的扩展,或这两种完全不同的技术?

总之,是的,你可以说,OWL是RDF的扩展。

更详细地,与RDF可以描述通过定义主谓对象三元组有向图。 对象和对象是节点,谓词是缘,或通过换句话说,谓词描述了主体和物体之间的关系。 例如:Tolkien :wrote :LordOfTheRings:LordOfTheRings :author :Tolkien ,等...关联数据系统使用这些三元组来描述知识图,以及它们提供的方式来存储它们,对它们进行查询。 现在,这些都是巨大的系统,但是你可以通过较小的项目中使用RDF。 每个应用程序都有一个领域特定语言(或DDD方面普遍存在的语言)。 你可以描述语言在你的本体/词汇,所以你可以描述你的应用程序的域模型的图形,你可以想像它展示给商业脂肪酶,谈论基于模型的业务决策,并建立在顶部的应用程序这一点。 您可以将您的应用程序的词汇绑定到它返回的数据,并通过搜索引擎已知的词汇,如微观 (例如,你可以使用HTML用RDFa做到这一点),因此搜索引擎可以很容易地找到你的应用程序,因为关于它的作用将是机器加工的知识。 这是怎样的Web语义工作。 (至少这是我的想象。)

现在来描述面向对象的应用程序,你需要的类型,类别,性质,情况,等等......随着RDF你可以只描述对象。 RDFS(RDF模式)可帮助您描述类,继承(基于OFC对象。),但它过于宽泛。 要定义约束(例如每个中国家庭一个孩子),你需要另一个词汇。 OWL(Web本体语言)来完成这个工作。 OWL是本体,你可以用它来描述Web应用程序。 它集成了XSD simpleTypes。
所以RDF -> RDFS -> OWL -> MyWebApp是为了描述一个越来越多的具体的方式您的Web应用程序。



Answer 10:

在WC3文档对象模型中, 文档是一个抽象的事:与文本,注释,属性的元素 ,并且嵌套在其他元素。

在语义网,我们处理了一套“三元”的。 每个三元:

  • 主题,东西三左右 ,该ID,数据库主键-一个URI; 和
  • 谓词中,“动词”中,“属性”,将“数据库列” - 另一URI; 和
  • 目的 ,一个原子值或一些URI。

OWL是语义网的架构是W3C的文档对象模型。 它记录什么不同的URI的意思,并指定它们如何能够通过机器进行检查正式的方式使用。 语义Web可能会或可能不会针对适用于它的OWL有效,只是作为一个文件可能会或可能不会是关于一个模式是有效的。

RDF是语义网的XML是对DOM - 这是一组三元组的序列化。

当然,RDF通常序列化为XML文档......但要明白,RDF是不一样的东西“RDF XML序列化”这一点很重要。

同样地,OWL可以使用OWL / XML,或(约这个对不起)它可以被表示为RDF,其本身通常被序列化为XML序列化。



Answer 11:

基本语义网络堆栈在这个线程已经解释了很多了。 我想专注于最初的问题,并比较RDF到OWL。

  • OWL是一个超集RDF&RDF-S的(顶部)
  • OWL允许有效地与RDF和RDF-S工作
  • OWL有一些扩展词汇
    • 类和个人(“实例”)
    • 属性和数据类型(“谓词”)
  • OWL是需要适当的推理和推理
  • OWL有三种方言精简版,描述逻辑全

使用OWL是必不可少的通过仅仅知道一些事实,以获得更多的含义(推理和推理)。 此“动态创建的”信息还可以被用于像SPARQL一致的查询。

一些例子表明,实际上与OWL工作-这些都已经从我所讲的语义网络的基础知识在TYPO3camp马洛卡,西班牙在2015年。

当量由规则

Spaniard: Person and (inhabitantOf some SpanishCity)

这意味着, Spaniard必须是一个Person (和因此继承所有属性在推理部分)和必须住在至少一个(或多个) SpanishCity

性能的含义

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

该示例示出了施加的结果inverseOf到属性isPartOfcontains

  • 对称
  • 及物
  • 不相交的
  • ...

性能的基数

<:hasParent owl:cardinality “2“^^xsd:integer>

这定义了每个Thing (在这种情况下最有可能一Human )正好有两位家长-基数分配给hasParent财产。

  • 最低限度
  • 最大值
  • 精确


Answer 12:

最好的答案是从语义Web本身“语义Web的工作Ontologist”,由詹姆斯·亨德勒的先驱者之一读过这本书。 如果你正在寻找一个快速速成班。 选中此udemy课程:

https://www.udemy.com/semantic-web/?couponCode=HALFOFF



Answer 13:

资源描述框架(RDF)是一个功能强大的正规知识表示语言和语义网的基本标准。 它有自己的词汇表,其限定核心概念和关系(例如,RDF:类型对应于ISA关系),和一个数据模式,使在主谓对象(资源属性值)的形式的机器可解释的语句三元组,称为RDF三元组,如图片,描绘了书。 的RDF词汇表与创建受控词汇需要概念和基本本体的扩展称为RDF模式或RDF词汇描述语言(RDFS)。 RDFS能够写类和资源声明,并表达分类学结构,如通过超类的子类关系。

复杂的知识领域需要比什么是RDFS,这导致了引进OWL的更多可用的功能。 OWL支持类(集,交集,不相交,等价),属性基数限制(最小值,最大值,确切的数字,例如,每个人都只有一个父亲),丰富的属性类型,性质和特殊性能的特性(传递之间的关系,对称的,功能性的,逆功能,例如,A EX:hasAncestor B和B例如:hasAncestorç意味着A实施例:hasAncestor C),指定一个给定的属性是一个特定类的实例,并且域和范围限制的唯一密钥对于性质。



Answer 14:

一张照片讲千言万语! 下面这张图应该加强什么克里斯托弗古特里奇在此说的答案是语义网是一个“分层架构”。

来源: https://www.obitko.com/tutorials/ontologies-semantic-web/semantic-web-architecture.html



文章来源: What is the difference between RDF and OWL?