2008-11-07 73 views
52

通俗地说,什么是RDF三元组?什么是RDF三元组?

+0

我有同样的问题,其他的日子,所以我创建了一个维基百科文章从其它几篇文章收集信息,他们进行了简要描述:https://开头en.wikipedia.org/wiki/Semantic_triple(小心:我自己是这方面的门外汉) – waldyrious 2016-09-07 12:16:12

回答

3

它已经一段时间,因为我与RDF的工作,但这里有云:d

三重是一个主语,谓语和对象。

该主题是唯一标识某些内容的URI。例如,你的openid唯一标识你。

该对象定义主体和对象如何相关。

谓词是主体的一些属性。例如一个名字。

鉴于此,三元组形成一个图S-> P。给定更多的三元组,图表会增长。例如,可以将同一个人确定为一组三元组的主题,然后可以通过该唯一主题连接所有谓词。

33

RDF Triple是一种将一个对象与另一个对象关联的语句。例如:

"gcc" "Compiles" "c" . 
"gcc" "compiles" "Java" . 
"gcc" "compiles" "fortran" . 
"gcc" "has a website at" <http://gcc.gnu.org/> . 
"gcc" "has a mailing list at" <mailto:[email protected]> . 
"c" "is a" "programming language" . 
"c" "is documented in" <http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1226085111&sr=8-1> . 
+12

可悲的是,不,没有修复。我鼓励你重新阅读[RDF Primer](http://www.w3.org/TR/rdf11-primer/)。文字只允许在对象的位置 - 主语和谓语都不是文字。主体和谓词必须和对象可以是IRI。 – TallTed 2015-06-18 02:16:36

2

RDF Triple是一个实际的表达式,它定义了一种可以表示对象之间关系的方式。三部分有三部分:主语,谓语和宾语(通常以相同的顺序编写)。谓词与客体相关。

主题----谓语--->对象

更多有用的信息,可以发现:

http://www.w3.org/TR/rdf-concepts/

0

参见: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-triple

一个RDF三元包含三个组件:

  • 的主题,它是一个RDF URI引用或一个空节点
  • 谓词,这是一个RDF URI引用
  • 的对象,这是一个RDF URI引用,一个文字或一个空节点

其中文字本质上是带有可选语言标签的字符串, 和空白节点也是字符串。 URIs,文字和空白节点必须来自成对的不相交集合。

+1

现在我有5个术语要问.... – 2008-11-07 19:45:55

+1

这就是为什么你可以编辑问题。 – 2008-11-07 21:09:59

+0

因OP而被问到这么多问... – ryanbrainard 2014-01-20 05:59:02

9

关于Adam N.的答案,我相信O.P. asked a previous question regarding data for a social network,所以虽然答案很好,但我只会澄清“原始原始”问题。 (因为我觉得负责任)。

 
    John | Is a Friend of | James 
    James | Is a friend of | Jill 
    Jill | Likes | Snowboarding 
    Snowboarding | Is a | Sport 

使用这样的三元组,你可以有一个非常灵活的数据结构。

查看Friend of a friend (FOAF)也许是一个更好的例子。

5

请注意,它可能会有点复杂。 RDF三元组也可以被认为是主体或对象,所以你可以有这样的东西: 巴特 - >说 - >(三元组 - >可以 - >对象)

+1

这不是严格正确的。 RDF提供了一个词汇来表达关于RDF三元组的说明(https://www.w3.org/TR/2004/REC-rdf-primer-20040210/#re​​ification)。但是,RDF有一个有趣的扩展,它在今年早些时候被称为RDF *,同时还有一种查询语言(SPARQL *),它允许*完全*这个。以下是对有兴趣的任何人的论文的参考文献:http://olafhartig.de/files/Hartig_AMW2017_RDFStar.pdf – 2017-07-28 14:35:47

49

我认为这个问题需要分成两部分 - 什么是三元组,什么使得“RDF三元组”如此特别?首先,由于大多数其他评论者已经指出,“主体/谓词/对象”形式中的语句 - 即将一个对象(主体)连接到另一个对象(对象)的语句或者一个文字,通过谓词。我们都熟悉三元组:三元组是二元关系的最小不可约表示。用简单的英语表示:电子表格是三元组的集合,例如,如果电子表格中的列标题为“Paul”并且行的标题为“具有姐妹”并且单元格中的值为“Lisa”。在这里你有一个三元组:保罗(主体)有姐妹(谓词)丽莎(文字/对象)。

是什么让RDF三元组特别的是三重的每一部分都有一个与之相关的URI,所以日常的声明“迈克·史密斯知道李四” RDF中可表示为:

uri://people#MikeSmith12 http://xmlns.com/foaf/0.1/knows uri://people#JohnDoe45 

比喻到电子表格是通过给URI的每个部分一个唯一的地址,你给电子表格中的单元格的整个地址空间....所以你原则上可以将电子表格中的每个单元格(如果用RDF三元组表示)不同服务器上的不同文档并通过单个查询重新构建电子表格。

编辑: This section的官方文件解决了原来的问题。

5

RDF是一种语言,即用于编码和解码信息(某些上下文中的数据)的符号,语法和语义的系统。

在RDF中,观察单位(Data)由一个由三部分组成的句子表示:主语,谓语,宾语。基本上,这是自然语言言语的基本结构。

用于表示参与由RDF表示的实体关系的实体(事物)的符号是IRI(其包括HTTP URI)。 RDF语句的每个主语和谓语(以及可选的对象)成分都由IRI表示。

语法(语法)是抽象的(意思是它可以用各种符号表示),形式为主语,谓语和宾语排列顺序。

语义(最常被忽略的部分)是关于RDF语句中主体,谓词和对象角色的含义。

当您使用HTTP URI来表示RDF语句主题,谓词和(可选)对象时,最终会形成构成网络的结构化数据(实体关系类型的集合) - 就像您今天在世界上一样万维网。

当RDF语句中谓词(特别是)的语义既是机器语言又是人类可理解的时候,就有了一个实体关系类型的网络,它提供了对知识(推理和推理)基础的强大信息编码。

下面是简单的RDF语句的示例:

{ 
    <#this>    a schema:WebPage       . 
    <#this> schema:about dbpedia:Resource_Description_Framework . 
    <#this> skos:related <https://stackoverflow.com/questions/30742747/convert-a-statement-with-adjective-in-rdf-triple/30836089#30836089> . 
} 

我用括号括的例子,让这个帖子变成一个活的基于RDF的关联数据显示,相对于HTTP的URI和礼貌基于#的片段标识符(索引)。

嵌入在这个职位的RDF语句的结果,nanotation的礼貌(嵌入RDF陈述文字的地方接受):

  1. Basic Entity Description Page - 每个语句由解析其描述一个超链接标识(视,谓词,对象部分)
  2. Deeper Faceted Browsing Page - 通过构成数据网页或链接数据网页的超链接,通过跟随您的鼻子进行更深入的探索和发现的替代视图。
  3. Description of an embedded statement - 关于特定的RDF语句。

这里是(用我们Structured Data Sniffer Browser Extension,使用RDF-龟符号从嵌入在这个岗位的三元组产生的可视化: enter image description here

1

我们可以把三为一类句子,指出一个单一的“事实“,首先要了解RDF Triple,您应该知道RDF中的每一件事都是根据URI http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference或空白节点http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node定义的。

一个RDF三重由三个部分组成: - 1)除 2)谓词 3)对象 对于离: - Pranay hasCar法拉利 这里主题是Pranay,hasCar是谓词和法拉利是一个对象。这是每个用RDF-URI定义的。欲了解更多信息,你可以访问: - http://www.w3.org/TR/owl-ref/

1

一个简单的答案可以是,一个RDF三元组是使用RDF数据模型的一些知识的表示。该模型基于以主谓宾对象表达式的形式作出关于资源(特别是网络资源URI)的陈述的想法。 RDF是Web上数据交换的标准模型。即使基础模式不同,RDF也具有便于数据合并的特性,并且它特别支持随时间推移的模式演变,而不需要更改所有数据使用者。我推荐这篇文章知道如何:https://www.w3.org/DesignIssues/RDF-XML.html

2

即使他被低估了,我也不得不同意阿帕。

背景:我是一位语言学家,拥有该专业的博士学位,我从事计算语言学方面的工作。

“......一个由三个部分组成的句子:主语,谓语,宾语,基本上,这是自然语言言语的基本结构”(A Pa引自Kingsley Uyi Idehen的回答)错误。 Kingsley说这不仅仅是我从RDF三元组的许多倡导者那里听到的。

这是错误的,原因很多,例如:Predicates(英语,可以说和许多其他自然语言)由动词(或动词类事物)+对象(或许还有其他补语)组成。当然,英语的句法结构不是Subj-Pred-Obj。

此外,并非所有英语中的自然语言句子都有一个对象;不及物动词,特别是根据定义,不要拿物体。而且天气动词(除其他外)甚至不采取“真正的”主题(“下雨”的“它”没有尊敬)。另一方面,像“give”这样的双反式动词既有直接对象,也有间接对象。然后有一些动词,比如“put”,除了直接对象之外还有一个位置,或者“告诉”一个对象和一个子句。更不用说附加语,比如时间和方式状语。当然,你可以将嵌入式子句表示为嵌入式三元组(尽管你可以将任何语句表示为三元组,但是我希望你已经明确表达了,但是你不能),但是我不知道如何将嵌入式子句表示为嵌套三元组, t认为你可以在RDF中完成(至少我从来没有看到它完成了,看起来好像需要四步)是同时拥有一个对象和一个嵌入子句。同样是直接和间接的对象,或附属物。

因此,无论RDF三元组的动机如何,我希望倡导者不要假装有语言动机,或者三元组在任何方面都与自然语言句法相似。因为他们没有。

0

三重解释举例

在那里是涉及用户和问题的表格。

 
TABLE dc:creator 
------------------------- 
| Question | User  | 
------------------------- 
| 45 | 485527 | 
| 44 | 485527 | 
| 40 | 485528 | 

这可以概念性地在三个RDF triples来表示像

<question:45> <dc:creator> <user:485527> 
<question:44> <dc:creator> <user:485527> 
<question:40> <dc:creator> <user:485528> 

使每一行被转化为一个triple其涉及用户的问题。每个三元组的一般形式可以被描述为:

  • <Subject> <Predicate> <Object>

一个关于RDF的专长是,你可以(或必须)使用URIs/IRIs,以确定实体和关系。查找更多here。这使得每个人都有可能关系(谓词)并发布关于任意实体in the www的陈述。

与一个SO回答它的创作者举例:

<https://stackoverflow.com/a/49066324/1485527> 
<http://purl.org/dc/terms/creator> 
<https://stackoverflow.com/users/1485527>