在 RDF 中,类与谓词或属性不同。与只拥有一个可以作为主语、谓语或宾语出现在任何三元组中的事物(一个类)相比,这样做有什么好处?

编辑:例如:

1 book has chapters
2 book1 is book
3 chapter1 is chapter
4a book1 chapter chapter1

在这个例子中,chapter 既是一个对象(在语句 3 中)又是一个谓词(在语句 4a 中)。有些人声称这不是一个好主意。

这些语句的意思很明显——一本书有章节,book1 是一本书,chapter1 是一章,book1 有一个章节叫chapter1。建议的替代方法是用 4b 替换上面的 4:
4b book1 has chapter1

然而,这需要更多的努力来解析/原因:如果书有章节,书有作者,书有出版商,那么像这样的语句
book1 有 foo
需要做更多的工作才能弄清楚(我们必须找到 foo 是一个作者,才能确定 book1 的作者是 foo)。更好的是,我可以避免上面的陈述 3,因为陈述 4 告诉我chapter1 是一章。

这种模式通常出现在同时包含数据和元数据的图表中。使用 1,2,4a 与 1,2,3,4b 有什么缺点吗?我看到的唯一问题是这违反了属性和类(主题/对象)之间的区别,但这实际上如何影响我们?

最佳答案

由于我们使用语言的松散和灵活方式以及我们的人类解释(以及您使用所有格作为示例),您的示例(书籍和章节)似乎才有意义

所以如果我说

Book - Chapter - Chapter1

那么这似乎才有意义,因为我们在精神上将名词章节映射到动词短语“有章节”,因为我们了解书籍和章节是如何工作的。使用 RDF 的机器不理解这一点!

但是如果我说书 - 人 - 约翰,我们该怎么做呢?约翰是作者、读者、角色之一还是什么?这就是为什么我们需要指定一个明确的谓词,例如
Book - hasAuthor - John

Book - readBy - John

关于rdf - 为什么 rdf 中的谓词和类不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7524293/

10-13 01:14