Domanda

Sono nuovo alle ontologie e avere una domanda fondamentale sul ragionamento del gufo.La domanda può sembrare lunga avvolta, mi dispiace per quello ..

Considera un'ontologia con i seguenti assiomi (Gufo: Classe C1) e (Gufo: Classe P), con una proprietà oggetto (RDFS: Dominio osserva C1) (RDFS: Gamma osserva P), insieme a un individuo (RDF: Type P P)

Io limitò la classe C1 creando una classe C2 (RDFS: Subclassof C2 C1) con la restrizione (osserva C2 P)

Ora quando creo un nuovo individuo (RDF: Type X Gufo: cosa) (osserva X P), quindi il ragionatore deduce che (RDF: Digitare x C1).Tuttavia, la definizione dell'individuo X sembra più vicina a C2, quindi il ragionatore non dovrebbe dedurre che x è di tipo c2?

Aiuto!

Sto sperimentando usando il quadro Jena.

È stato utile?

Soluzione

Il motivo per cui ciò non accade è che tu abbia creato la restrizione utilizzando una sottoclasse, il che significa che hai creato una condizione necessaria (ma non sufficiente).Metti in altre parole, hai detto questo al registro:

"Se un individuo è di tipo C2, allora deve avere una proprietà 'osserva'"

Ma tu hai non ha detto che l'altro modo:

"Se un individuo ha una proprietà 'osserva', allora deve essere di tipo C2"

Affinché il ragionatore sia in grado di dedurre che il tuo individuo è di tipo C2, è necessario disporre della seconda regola (la condizione sufficiente).Puoi farlo in Gufo usando una relazione owl:equivalentClass sulla restrizione (invece di una relazione rdfs:subClassOf).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top