Definí una propiedad de objeto "is_part_of" donde el dominio es Vuelo y el rango es Aerolínea ; quiero definir la siguiente restricción

"el vuelo es_parte_de la aerolínea exactamente 1 aerolínea"

Probé is_part_of only Airline exactly 1 Airline pero no funciona. Creo que el problema es con exactly 1 Airline pero no logro encontrarlo.

0
Hello World 11 dic. 2016 a las 14:32

1 respuesta

La mejor respuesta

No es necesario que Airline aparezca dos veces.

Flight subClassOf is_part_of exactly 1 Airline

is_part_of exactly 1 Airline es la expresión de clase que busca.

2
Ignazio 11 dic. 2016 a las 16:58
¿Por qué el razonador no detecta una excepción si una instancia de Flight no tiene una propiedad de objeto is_part_of?
 – 
michele
16 may. 2017 a las 17:32
Supuesto de mundo abierto. El razonador sabe que debe haber uno, pero es posible que no se indique qué valor tiene. Se convierte en una contradicción solo si también se infiere que la instancia no tiene propiedad o dos - o más - propiedades.
 – 
Ignazio
16 may. 2017 a las 17:39
¿Me puede dar un ejemplo? No lo he entendido. Tendría una contradicción si una instancia de Flight no tiene alguna propiedad de objeto is_part_of
 – 
michele
16 may. 2017 a las 18:05
No podrias. El razonamiento en búho funciona con la suposición de que no se conocen todos los hechos. Por ejemplo, sabemos que las arañas tienen ocho patas, por definición. Si tenemos una instancia de araña, sin otra información, no sabemos nada sobre sus patas, pero sabemos que son ocho. Tendríamos una contradicción solo si la araña también fuera miembro de una clase que dijera 'seis patas'; por ejemplo, una instancia de araña e insecto sería una contradicción. La ausencia de evidencia no implica evidencia de ausencia.
 – 
Ignazio
16 may. 2017 a las 18:29
Entonces, ¿no puedo determinar una instancia de una clase en particular que no tenga definida una propiedad de objeto?
 – 
michele
16 may. 2017 a las 19:21