用外行人的话说,什么是RDF三联?
答案 0 :(得分:59)
我认为这个问题需要分为两部分 - 什么是三元组,什么使“RDF三元组”如此特别?
首先,正如这里的大多数其他评论者已经指出的那样,三元组是“主语/谓词/对象”形式的语句 - 即将一个对象(主语)链接到另一个对象(对象)或语句的语句字面意思,通过谓词。我们都熟悉三元组:三元组是二元关系的最小不可约表示。用简单的英语:电子表格是三元组的集合,例如,如果电子表格中的列标题为“Paul”,而行的标题为“has Sister”,则单元格中的值为“Lisa”。在这里你有三个:保罗(主题)有姐妹(谓语)丽莎(文字/对象)。
RDF三元组的特殊之处在于三元组的每个部分都有一个与之关联的URI,因此日常声明“Mike Smith知道John Doe”可能在RDF中表示为:
uri://people#MikeSmith12 http://xmlns.com/foaf/0.1/knows uri://people#JohnDoe45
电子表格的类比是,通过为URI的每个部分提供唯一的地址,您可以为电子表格中的单元格提供整个地址空间....因此您原则上可以粘贴每个单元格(如果以RDF三元组表示) )将电子表格放入不同服务器上的不同文档中,并通过单个查询重新构建电子表格。
编辑: This section官方文档解决了原始问题。
答案 1 :(得分:36)
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:gcc-help@gcc.gnu.org> .
"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> .
答案 2 :(得分:12)
RDF文件应解析为a 三元组列表。
三重奏由主题组成,a 谓词和对象。但是做什么 这些实际意味着什么?
主题是主题。它 识别三元组是什么对象 描述
谓词定义了一段 我们给出的对象中的数据 值得。
对象是实际值。
来自:http://www.robertprice.co.uk/robblog/archive/2004/10/What_Is_An_RDF_Triple_.shtml
答案 3 :(得分:10)
关于亚当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)可能是一个更好的例子。
答案 4 :(得分:6)
RDF是一种语言,即用于编码和解码信息(某些上下文中的数据)的符号,语法和语义系统。
在RDF中,观察单位(数据)由一个由三部分组成的句子表示:主语,谓词,宾语。基本上,这是自然语言演讲的基本结构。
用于表示参与RDF表示的实体关系的实体(事物)的符号是IRI(包括HTTP URI)。 RDF句子的每个主语和谓词(以及可选的,对象)组件由IRI表示。
语法(语法)是主题,谓词和对象排列顺序的抽象(意味着它可以使用各种符号表示)。
语义(最常被忽略的部分)是关于RDF语句中主语,谓词和对象角色的含义。
当您使用HTTP URI来表示RDF语句主题,谓词和(可选)对象时,您最终会得到构成Web的结构化数据(实体关系类型的集合) - 就像您今天在全球范围内一样网页。
当RDF语句中的谓词(特别是)的语义同时是机器和人类可理解时,您有一个实体关系类型的Web,它提供强大的信息编码,这是知识(推理和推理)的基础。
以下是简单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语句的结果,由纳米化提供(在文本被接受的任何地方嵌入RDF语句):
这里是使用我们的Structured Data Sniffer Browser Extension使用RDF-Turtle表示法从这篇文章中嵌入的三元组生成的可视化:
答案 5 :(得分:5)
请注意,它可能会变得有点复杂。 RDF三元组也可以被视为主题或对象,因此您可以使用以下内容: 巴特 - &gt;说 - &gt; (三元组 - &gt;可以是 - &gt;对象)
答案 6 :(得分:3)
自从我使用RDF以来已经有一段时间了,但在这里:D
三元组是主语,谓语和宾语。
主题是唯一标识某事物的URI。例如,您的openid可以唯一标识您。
该对象定义主题和对象的关联方式。
谓词是主题的某些属性。例如一个名字。
鉴于此,三元组形成图S-> P。给定更多三元组,图表增长。例如,您可以将同一个人识别为一堆三元组的主题,然后您可以通过该唯一主题连接所有谓词。
答案 7 :(得分:3)
即使他被投票支持,我也不得不同意A Pa的一部分。
背景:我是一名语言学家,拥有该专业的博士学位,并从事计算语言学工作。
声明“......一个由三部分组成的句子:主语,谓语,宾语。基本上,这是自然语言语言的基本结构”(其中A Pa引用来自Kingsley Uyi Idehen的答案)是完全错误的。这不仅仅是金斯利这样说的,我从RDF三元组的许多倡导者那里听到过它。
出于多种原因这是错误的,例如:谓词(英语,可以说,以及许多其他自然语言)由动词(或类似动词的东西)+对象(以及可能的其他补语)组成。绝对不是英语的句法结构是Subj-Pred-Obj的情况。
此外,并非所有英语自然语言句子都有对象;不及物动词,特别是根据定义不带对象。天气动词(以及其他内容)甚至不会采用“真正的”主题(“它下雨”的“它”没有虔诚)。而另一方面,像“给”这样的双及物动词同时具有直接和间接的对象。然后有像“put”这样的动词除了直接对象之外还带有一个locative,或者“tell”带有一个对象和一个子句。更不用说辅助,如时间和方式状语。
是的,当然你可以将嵌入式条款表示为嵌入式三元组(在某种程度上你可以将任何语句表示为三元组,我希望你已经明确表示,你不能),但是我不知道认为你可以在RDF中做(至少我从来没有看到它完成,似乎需要四倍)是同时拥有一个对象和一个嵌入子句。同样是直接和间接对象,也可以是辅助对象。
因此无论RDF三元组的动机如何,我都希望拥护者不要假装有语言动机,或者三元组以任何方式类似于自然语言语法。因为他们没有。
答案 8 :(得分:2)
RDF Triple是一个实际表达式,它定义了一种表示对象之间关系的方式。三元组有三个部分:Subject,Predicate和Object(通常以相同的顺序编写)。谓词将客体与客体联系起来。
主题----谓词---&gt;对象
更多有用的信息可以在以下网址找到:
答案 9 :(得分:2)
人们可以将三元组视为一种句子来说明一个单一的事实&#34;关于资源。首先要理解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 Triple包含三个组成部分: - 1)主题 2)谓词 3)对象 例如: - Pranay有Car Ferrari 这里的主题是Pranay,hasCar是一个谓词,法拉利是一个对象。每个都使用RDF-URI定义。有关详细信息,请访问: - http://www.w3.org/TR/owl-ref/
答案 10 :(得分:1)
简单答案可以是RDF三元组是使用RDF数据模型的某些知识的表示。此模型基于制作陈述的概念,以 subject-predicate-object 表达式的形式提供有关资源(特别是Web资源URI)的概念。 RDF也是 Web上数据交换的标准模型。即使底层模式不同,RDF也具有促进数据合并的功能,并且特别是支持模式的发展,而不需要更改所有数据使用者。我建议这篇文章知道如何:https://www.w3.org/DesignIssues/RDF-XML.html
答案 11 :(得分:1)
Triple以示例解释
是否存在与用户和问题相关的表格。
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来识别entities以及relations。查找更多here。这使得每个人都可以reuse already existing关系(谓词)并发布关于任意实体in the www的陈述。
将SO答案与其创建者相关的示例:
<https://stackoverflow.com/a/49066324/1485527>
<http://purl.org/dc/terms/creator>
<https://stackoverflow.com/users/1485527>
答案 12 :(得分:1)
作为一名开发人员,我努力了一段时间,直到我最终了解RDF及其它的含义,主要是因为我总是通过代码而不是通过数据来了解世界。
鉴于此已发布在StackOverflow上,这是Java的类比,最终让我为之点击:RDF三元组用于记录类的方法/参数对代码的编码。
所以:
这种类比的唯一点在于,谓词也具有名称空间,而方法则没有。但是,当使用谓词时,在类实例(作为主体和对象)之间创建的整体关系反映了调用方法以执行某些操作的想法。
基本上,RDF是要对OO进行编码的数据。
答案 13 :(得分:0)
请参阅: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-triple
RDF三元组包含三个组件:
其中文字本质上是带有可选语言标签的字符串, 空白节点也是字符串。 URI,文字和空白节点必须 来自成对的不相交集。