什么时候在 RDFS 中使用子类?

When to use the subclass in RDFS?

我想创建一个关于场地信息的 RDFS 模式,其中包含例如:

只有照片和地址信息。

我找到了另一个关于它的模式:https://schema.org/Place。它包含的属性比我需要的多。

那么,我是否应该将我的模式场所作为 https://schema.org/Place 的子class?
或者我只是创建一个新的 class 但重复使用 https://schema.org/Place?

中的属性

他们有区别吗?

语义网/链接数据依赖于现有词汇表的重用,所以如果你只需要现有词汇表的一个子集,最好不要重新发明任何新模式,而只是使用部分从现有的。您的数据甚至无需任何推理即可发挥作用。

此外,仅仅因为您正在使用现有的词汇表并不意味着您需要使用它的所有属性或 classes。把那些你不感兴趣/不能提供的东西放在一边。

So, should I make my schema venue as a subclass of https://schema.org/Place? Or I just make a new class but reuse the properties in https://schema.org/Place?

所以根据以上我建议根本不要创建新的 class,而只使用 https://schema.org/Place.

Do they have differences?

是的,从推理和验证的角度来看,他们这样做了。属性可以有或多或少的特定域和范围。如果您创建一个新的 class 并且您要使用的 属性 的域不是您的新 class 的超级 class,那么使用属性 在你的 class 实例上。作为示例,请查看 https://schema.org/address,它可以与 https://schema.[=31= 类型的实例一起使用]https://schema.org/Personhttps://schema.org/Place。如果您创建的 class 不是其中之一的子 class,则不应使用 https://schema.org/address它的任何实例。