10

我确实认为我理解这些词在编程语言中的含义,但是关于 RDF 和三元组还不清楚。有没有一个例子可以帮助我理解?

谢谢

4

2 回答 2

24

一个标准的 RDF 语句包括:

 SUBJECT PREDICATE OBJECT

把它想象成断言一个事实。

 ROVER IS-A DOG

现在,如果你手头的情况是,真的,

  GEORGE SAYS-THAT 'ROVER IS-A DOG'

在 RDF 中,你可以这样写

  STMTID  IS-A STATEMENT
  STMTID  HAS-SUBJECT ROVER
  STMTID  HAS-PREDICATE IS-A
  STMTID  HAS-OBJECT DOG
  GEORGE  SAYS-THAT STMTID

这里的前四个三元组正式正式地是第一个三元组的具体化。

请注意,原始陈述不在模型中,因为具体化的目的是阻止断言它,而是间接谈论它。

进一步注意,为了清楚起见,我省略了 ROVER 和朋友的 IRI。

对于观众中的知识分子:

你可以用具体化做很多事情。如上所述,您可以使用它来描述一个陈述而不陈述它,从而使其远离推理。

您还可以使用它在声明中添加其他事实,例如出处。在那种情况下,你有原来的三元组,还有具体化。然而,我刚刚从一个似乎对 RDF 了解很多的人那里得到了一个冗长的解释(SPARQL 规范的主要负责人之一)。他的解释是正式的具体化(包括第四个三元组,它说这个东西是一个声明') 不应该与断言三元组本身一起使用。如果您查看对此答案的评论,您会发现他的意见并不普遍,但您可能仍希望牢记这一点。

于 2011-04-15T01:06:53.830 回答
0

另一个例子:

考虑声明

music:Symph3 music:dedicatedTo music:Napoleon

为了使上面的语句在另一个 RDF 语句中可引用,它被具体化,即重新措辞,使用如下的 RDF 语法。

_:s1  rdf:type       rdf:Statement.
_:s1  rdf:subject    music:Symph3.
_:s1  rdf:predicate  music:dedicatedTo.
_:s1  rdf:object     music:Napoleon.
于 2018-12-11T18:18:20.557 回答