我确实理解编程语言中这些单词的含义,但对于RDF和三元组而言并不太清楚。能否提供一个例子帮助我理解呢?
谢谢
我确实理解编程语言中这些单词的含义,但对于RDF和三元组而言并不太清楚。能否提供一个例子帮助我理解呢?
谢谢
标准的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规范的主管之一)的人那里得到了一份详细的解释。他的解释是,形式化的实体化(包括第四个三元组,它说这件事是一个陈述)不应与断言三元组本身一起使用。如果您查看此答案的评论,您会发现他的观点并不是普遍适用的,但您可能仍然需要记住它。另一个例子:
考虑这个语句
music:Symph3 music:dedicatedTo music:Napoleon
_:s1 rdf:type rdf:Statement.
_:s1 rdf:subject music:Symph3.
_:s1 rdf:predicate music:dedicatedTo.
_:s1 rdf:object music:Napoleon.