简体   繁体   English

猫头鹰:对个人的限制

[英]Protege Owl: restrictions on individuals

I have a little problem with my ontology! 我的本体有点问题! We work on an ontology which manage a smart home. 我们致力于管理智能家居的本体。 So we have objects like Tables, Doors, Lamps, .... A object that is smart has: 因此,我们有桌子,门,灯等对象。智能的对象具有:

  • an actuator which run an action like open a door for example 例如执行开门之类的动作的执行器
  • a sensor which gets informations about temperature for example 例如,获取有关温度信息的传感器

I have ObjectProperties for ex: hasActuator --> Door hasActuator DoorController 我有一个对象属性,例如:hasActuator->门hasActuator DoorController

So now, the problem is the individuals! 因此,现在的问题是个人! I would like that an object (Door_1 for example) has an actuator DoorController_1 but an other Door (Door_2) can't use the actuator DoorController_1 because he's already use ! 我希望一个对象(例如,Door_1)具有执行器DoorController_1,但另一个门(Door_2)不能使用执行器DoorController_1,因为他已经使用了!

How can I treat that? 我该怎么治疗? Which restrictions? 有哪些限制?

If I put hasActuator functional, it's only to say that a object can have only one actuator, but it's not that I want! 如果我将hasActuator发挥作用,那只能说一个对象只能有一个执行器,但这并不是我想要的!

The short solution 短期解决方案

It sounds like you're trying to say an entity can't be in use by more than one thing at a time. 听起来您好像要说一个实体一次不能被多个事物使用。 This is a candidate for InverseFunctionalProperties. 这是InverseFunctionalProperties的候选对象。 If you say that 如果你这么说的话

uses is an inverse functional property 用途是相反的功能性质
door1 uses controller1 door1使用controller1
door1 ≠ door2 door1≠door2

Then you can infer that 然后,您可以推断出

not( door1 uses controller1 ) 否(door1使用controller1)

How it works 这个怎么运作

Stating that a property p is an inverse functional property says that 指出属性p是反函数属性,则表示

Functional (p): if p(x,y) & p(x,z) then y = z 泛函 (p): 如果 p(x,y)&p(x,z), y = z

Stating that a property p is inverse function is similar, but says that 指出属性p是反函数是相似的,但是说

InverseFunctional (p): if p(x,z) & p(y,z) then x = y 逆函数 (p): 如果 p(x,z)&p(y,z), x = y

So, suppose you have the data: 因此,假设您有数据:

uses(door 1 ,controller 1 ) 用途(门1 ,控制器1
door 1 ≠ door 2 1 ≠门2

Now consider the hypothesis that 现在考虑以下假设

uses(door 2 ,controller 1 ) 用途(门2 ,控制器1

From it and the data, you can derive 从它和数据中,您可以得出

door 1 = door 2 1 =门2

But from the data we already have 但是根据数据我们已经有了

door 1 ≠ door 2 1 ≠门2

and this is a contradiction, so the hypothesis must be false. 这是一个矛盾,因此假设必须是错误的。 Therefore: 因此:

not(uses(door 2 ,controller 1 )) 不(使用(门2 ,控制器1 ))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM