我是RDF的新手,我有一个关于RDF的问题。
使用一些简单的句子,如"Ann学习数学“,使用RDF表示它是没有问题的。
但有了更复杂的句子,比如:“先生派克教授机器学习,并使用名为ML-for-newbie的书”,我的意思是,帕克先生用这本书来准备他的演讲。有三个对象:先生帕克,机器学习,ML对新手;两个谓词:教学,使用.那么如何用RDF来表示这个句子呢?据我所知,一个RDF语句就像主谓--谓词--> Object,这3个对象和2个谓词使我感到困惑:(
帮帮忙,谢谢!
发布于 2013-05-10 08:11:27
在您的示例中,您可以将这些句子分解为3个RDF语句,也可以使用空白节点。
分解的例子,课程有自己的URI (:Course999):
:Mr_Parker :teaches :Course999 .
:Course999 :courseName "Machine Learning" .
:Course999 :hasSupportBook "ML-for-newbies" .对于匿名节点(空白节点_:b1),这是相同的原则,但没有显式捕获课程:
:Mr_Parker :teaches _:b1 .
_:b1 :courseName "Machine Learning" .
_:b1 :hasSupportBook "ML-for-newbies" .现在,正如注释中提到的,字符串“”实际上不是一本书,它只是表示书的标题。因此,您可以添加更多的三元组来获取有关此项目的额外信息(例如,本书的作者)。您可以考虑为这个任务重用已经开发的词汇表(比如都柏林核心):
:Mr_Parker :teaches _:b1 .
_:b1 :hasSupportBook :book2 .
:book2 dcterms:title "ML-for-newbies" .
:book2 dcterms:creator "John Smith" ...。然后在这里,字符串只代表作者的名字,而不是作者本身(就像书中的那样),所以如果需要的话,也可以通过表示这个实体类型来展开三元组。
发布于 2013-05-10 12:35:59
公认的答案是好的,并且有示例,但是值得一看W3C的工作组注意到语义Web上N元关系的定义,它讨论了这些表示问题。接受的答案中的方法是注释中的模式1:为关系引入一个新的类。也有一个模式2:对关系中的参数使用列表,但这感觉更笨拙,我不认为有那么多人采取这种方法。
https://stackoverflow.com/questions/16476051
复制相似问题