Mar*_*ama 2 owl ontology protege
这个问题是关于本体的,我正在实现一个关于无线传感器作为设备的潜在物理攻击的本体。
我创建了Modification_Attack类,意思是在传感器本身中进行修改的攻击。我创建了Programming_Modification作为此类的实例,这符合逻辑吗?是子类更好还是既不是实例也不是子类更好?
实例和子类之间的主要区别是什么?
这个问题并不是 OWL 本体所独有的。它出现在面向对象编程和数学中的集合论中。类是其成员的集合。例如,
人 == { 人1 , 人2 , … }
假设你还有另一个类:
高个子 == { 63 号人, 102 号人, … }
如果 A 类的每个元素也是 B 类的元素,则 A 类是 B 类的子类:
(A ⊆ B) == (x ε A → x ε B)
因此,例如,如果TallPerson的每个成员也是Person的成员,则TallPerson是Person的子类。
我创建了 Modification_Attack 类,意思是在传感器本身中进行修改的攻击。我创建了 Planning_Modification 作为此类的实例,这是否合乎逻辑,是子类更好还是既不是实例也不是子类更好?
这是你需要做出的选择。这实际上取决于上下文以及您打算如何使用本体。如果您在野外观察攻击并尝试对它们进行分类,您可能需要一个子类,但您需要有programming_modification的实例。也就是说,你会想要这样的东西:
编程修改 == { 攻击24 , 攻击89 , … }
但是,如果您有其他类型的用例,您想将编程修改作为单个实体进行讨论,那么将其作为一个个体可能更有意义。