简体   繁体   English

RDF Triple是RDF声明吗?

[英]Is a RDF Triple a RDF Statement?

As the subject of the question asks, are the 2 the same thing? 正如问题的主题所问,2是同一件事吗? Are they interchangeble? 它们可以互换吗? If not, please explain the differences or provide clarification with an example. 如果没有,请通过示例解释差异或提供说明。

To quote from the RDF Concepts specification (RDF 1.1 draft version) : 引用RDF Concepts规范(RDF 1.1草案版本)

The core structure of the abstract syntax is a collection of triples, each consisting of a subject, a predicate and an object. 抽象语法的核心结构是三元组的集合,每个三元组由主语,谓词和对象组成。 … The assertion of an RDF triple says that some relationship, indicated by the predicate, holds between the resources denoted by the subject and object. ...... RDF三元组的断言表示由谓词表示的某些关系在主语和宾语所表示的资源之间存在。 This statement corresponding to an RDF triple is known as an RDF statement. 对应于RDF三元组的此语句称为RDF语句。

In other words: The abstract structure, consisting of subject, predicate and object, is called a “triple”. 换句话说:由主语,谓语和宾语组成的抽象结构称为“三元组”。 Triples consist of IRIs, blank nodes and/or literals. 三元组由IRI,空白节点和/或文字组成。 Each triple expresses some claim or fact about the world – it says that two things are in some relation to each other. 每个三元组都表达了一些关于世界的主张或事实 - 它说两件事情彼此有某种关系。 This claim about the world is the “statement” encoded in the triple. 关于世界的这种主张是三重中编码的“声明”。

So, strictly speaking there is a difference. 所以,严格说来是有区别的。 But that's a very subtle distinction, and often the terms are just used interchangeably. 但这是一个非常微妙的区别,通常这些术语只是可以互换使用。

Yes, in RDF, a statement is basically the same as a triple (or 3-tuple ). 是的,在RDF中, 语句基本上与三元组 (或三元 )相同。

However, there's another concept called the stating of a statement, in case of which you have to take into consideration the fact that a triple can be stated by different entities (as in people/organizations, not XML entities). 但是,还有另一个概念称为陈述陈述,在这种情况下,你必须考虑到三元组可以由不同的实体(如人/组织,而不是XML实体)陈述的事实。 In such context, a triple (subject, predicate, object) is not unique and should be described differently, depending on who states it. 在这样的上下文中,三元组(主语,谓语,宾语)不是唯一的,应该以不同的方式描述,具体取决于谁说明它。

The whole subject is somewhat mind-boggling. 整个主题有点令人难以置信。 I recommend reading this summary of a thread from the RDF Interest mailing list (bring a snack). 我建议阅读RDF Interest邮件列表中的一个主题摘要 (带上点心)。 It boils down to the semantic description of RDF itself. 它归结为RDF本身的语义描述。

To sum up, it all depends on what you mean by triple . 总而言之,这完全取决于你所说的三重奏 Whether it's an abstract notion or an actual stating of it. 无论是抽象概念还是实际陈述 If it's the first case, I think it's safe to assume that triple and statement are interchangeable. 如果这是第一种情况,我认为可以安全地假设三元组语句是可以互换的。 And most of the time, when using RDF, it IS the first case. 大多数情况下,当使用RDF时,它是第一种情况。

I once ran into something on the Jena mailing list while scratching my head over the Statement-versus-Triple distinction (or analogously the Node-versus-RDFNode distinction) in the Jena Java code, and blogged about it . 我曾经在Jena邮件列表上遇到过一些问题,同时对Jena Java代码中的Statement-versus-Triple区别(或类似于Node-versus-RDFNode的区别)表示不满,并在博客上发表了相关文章 Here's the gist from the mailing list: 这是邮件列表中的要点

We have found that Model/Statement/RDFNode (the API) works as an application interface but it's not the right thing for storage abstractions and the Graph/Triple/Node (the SPI) works better where the regularity is more valuable. 我们发现Model / Statement / RDFNode(API)作为一个应用程序接口工作,但它不适合存储抽象,而Graph / Triple / Node(SPI)在规则性更有价值的地方工作得更好。 That is, we have split the application-facing design from the sub-system-facing design. 也就是说,我们将面向应用程序的设计与面向子系统的设计分开。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM