Pregunta

Soy nuevo en ontologías y tengo una pregunta básica acerca de BÚHO razonamiento.La pregunta puede parecer largo aliento, lo siento..

Considere la posibilidad de una ontología con los siguientes axiomas (owl:class C1) y (owl:class P), con la propiedad de un objeto (rdfs:domain observa C1)(rdfs:range observa P), junto con un individuo (rdf:type p P)

Entonces me restringir la clase C1 mediante la creación de una clase C2 (rdfs:subClassOf C2 C1) con la restricción (observa C2 p)

Ahora, cuando puedo, a continuación, crear un nuevo individuo (rdf:type x owl:Thing) (observa a x p), entonces el que razona deduce que (rdf:type x C1).Sin embargo, la definición de la persona x se parece más cerca de C2 por lo tanto debe la que razona no inferir que x es de tipo C2?

Por favor, ayuda!

Estoy experimentando utilizando el framework Jena.

¿Fue útil?

Solución

La razón de que esto no suceda es que han creado su restricción de uso de una subclase, lo que significa que han creado una necesaria (pero no suficiente) de la condición.En otras palabras, usted ha dicho esta a la que razona:

"SI un individuo es de tipo C2, ENTONCES debe haber una propiedad 'observa'"

Pero usted tiene no dicho de otra manera:

"SI un individuo tiene una propiedad 'observa', ENTONCES debe ser de tipo C2"

En el fin para el que razona a ser capaces de inferir que su individal es de tipo C2, usted debe tener la segunda regla (la condición suficiente) no así.Usted puede hacer esto en OWL mediante el uso de un owl:equivalentClass la relación en su restricción (en lugar de un rdfs:subClassOf relación).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top