Rdf 如何建模一个类,该类是Protege中另一个类的个体集合

Rdf 如何建模一个类,该类是Protege中另一个类的个体集合,rdf,owl,ontology,protege,swrl,Rdf,Owl,Ontology,Protege,Swrl,我需要在Protege中建模以下示例: 假设我有一个类Pride,它代表另一个类Lion的实例集合。如果不使用具有最小基数的用户定义对象属性,是否还有其他方法可以做到这一点 此外,如果狮子的颜色是“黄色”,并且是骄傲的成员,那么推理者应该推断骄傲的颜色是“黄色”。在不定义一组SWRL规则的情况下,还有其他方法可以做到这一点吗 没有使用用户定义的对象,还有其他方法可以做到这一点吗 具有最小基数的属性 您需要定义某种类型的成员属性。它可以是泛型的(例如,hasMember),也可以是特定于特定类型的

我需要在Protege中建模以下示例:

假设我有一个类Pride,它代表另一个类Lion的实例集合。如果不使用具有最小基数的用户定义对象属性,是否还有其他方法可以做到这一点

此外,如果狮子的颜色是“黄色”,并且是骄傲的成员,那么推理者应该推断骄傲的颜色是“黄色”。在不定义一组SWRL规则的情况下,还有其他方法可以做到这一点吗

没有使用用户定义的对象,还有其他方法可以做到这一点吗 具有最小基数的属性

您需要定义某种类型的成员属性。它可以是泛型的(例如,hasMember),也可以是特定于特定类型的(例如,hasLion),但是您需要定义一些东西来将集合与其实例关联起来。您不需要在这里使用任何基数公理,尽管您可能想说(Pride&sqsubsetq;≥ 哈斯成员 2)

此外,如果狮子的颜色是“黄色”,并且是骄傲的成员,那么推理者应该推断骄傲的颜色是“黄色”。是 在不定义一组SWRL规则的情况下,还有其他方法可以做到这一点吗

要使成员的属性转移到集合中,不必使用SWRL规则。可以使用子属性链公理。(不过,您需要对要转移的每个属性执行此操作。)例如,要表达以下事实:

如果狮子有颜色X并且是骄傲的成员,那么骄傲有颜色X

您可以使用以下公理:

hassmember•hasColor&sqsubsetq;哈斯克罗

这意味着,每当您有以下数据时:

p→哈斯成员L→哈斯颜色C

你可以推断

p→哈斯颜色C


有关这一点的更多信息,请参见。

你的意思是骄傲的实例代表狮子的实例集合,对吗?嘿,Joshua……谢谢你的帮助……我在耶拿面临另一个关于规则的问题……你能回答这个问题吗。。。