例如,对于Book
和Author
类,我可以有authorOf
关系,或hasAuthor
关系。对于Student
和Course
类,我可以在两者之间建立courseOf
和hasCourse
个关系。
总是在两个方向上建立关系似乎是多余的。是否有处理情况的指导原则或原则?
答案 0 :(得分:2)
我不知道有任何建议总是明确提供反向属性。
反向属性至少有两个用例:
需要引用inverse属性,我们称之为“IP”, 在本体内部。
我们可能需要声明另一个属性与IP不相交。或者另一个属性相当于IP。现在,我们提供IP以允许该声明。另一个非常简单的例子是希望在正确的地方发表评论。你可以定义IP只是为了放置一个rdfs:comment。
需要从外部引用反向属性。
一个例子是:我们的应用程序将自然语言的翻译分配给ObjectProperties。在着名的Protege Pizza Ontology的情况下,我们将“hasTopping”翻译为“en:has topping”等字符串。我们还想用自然语言表达“en:是顶峰”。 (我们的应用程序语义需要它。)这是创建反向属性“isToppingOf”的原因:要拥有一个实例,相应的URI,我们的翻译可以参考。