【发布时间】:2011-08-05 23:41:06
【问题描述】:
我确实认为我理解这些词在编程语言中的含义,但关于 RDF 和三元组还不清楚。有没有例子可以帮助我理解?
谢谢
【问题讨论】:
-
你理解的这些词是什么意思?
-
在编程语言领域,具体化对象是一种类型在编译时不会丢失,但会在运行时保持的对象。我不确定这对我有什么帮助。 :(
标签: rdf semantic-web triples
我确实认为我理解这些词在编程语言中的含义,但关于 RDF 和三元组还不清楚。有没有例子可以帮助我理解?
谢谢
【问题讨论】:
标签: rdf semantic-web triples
另一个例子:
考虑语句
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.
【讨论】:
一个标准的 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 规范的主要负责人之一)。他的解释是正式的具体化(包括第四个三元组,它说这个东西是一个声明') 不应该与断言三元组本身一起使用。如果您查看此答案的 cmets,您会发现他的意见并不普遍,但您可能仍希望牢记这一点。
【讨论】: