“más altos en jerarquía” a través de relaciones del tipo subclaseDe y tipoDe. • Se puede utilizar como mecanismo de razonamiento. EJEMPLO EXPLICANDO
“Un vaso sanguíneo es parte del sistema cardiovascular”
“Las arterias son vasos sanguíneos” “Las arterias contienen sangre rica en oxígeno” EJEMPLO HERENCIA Y RAZONAMIENTO “Las arterias grandes son ricas en oxigeno” “Las arterias grandes tienen pared muscular” “La aorta contiene sangre rica en oxigeno” “La arteria pulmonar izquierda transporta sangre rica en oxígeno” EXCEPCIONES EN LA HERENCIA La última aseveración de la anterior diapositiva es falsa. Por lo que: • A) No se deben heredar propiedades que produzcan inconsistencias. • B) No heredar propiedades relevantes para una clase pero no para sus especializaciones. • C) En caso de herencia múltiple, indicar la liga de preferencia. EJEMPLO POSIBLE SOLUCIÓN
• Almacenar la propiedad como información explícita
en cada concepto en el que se cumpla la propiedad, eliminando la propiedad general. • Evitar heredar ciertos tipos de ligas. EJEMPLO: POSIBLE SOLUCIÓN EJEMPLO: CONFLICTO EN HERENCIA MÚLTIPLE PROGRAMACIÓN DE REDES SEMÁNTICAS • Para la programación de una red semántica necesitamos conocer el lenguaje de programación PROLOG • Una red semántica que esta consta de : Clases y propiedades (orientado a objetos) Instancias (objetos de alguna clase) • Un arco en una red semántica puede tener diversas etiquetas: Instancia de o id, definidas entre objetos y clases. Si NO es un nodo que representa a un objeto O (instancia) y NC es un nodo para una clase C, entonces un arco de instancia une a NO y NC en el grafo para indicar que O pertenece a la clase C. Subclase de o sd, definidas entre subclases y clases. Si NSC es un nodo que representa a una clase SC y NC es un nodo para una clase C, entonces un arco de subclase une a NSC y NC en el grafo para indicar que SC es subclase de C. Otras etiquetas que representan atributos de clases. Por ejemplo, podemos considerar las etiquetas “tiene” o t y “come” o c. • O objeto (instancia) • Cclase • NO nodo de objeto • NC nodo de clase • NO y NC es un arco de instancia, para indicar que o ɜ c • Nsc y Nc es un arco de subclase, nos indica que SC es una subclase de C. EJEMPLO: UTILIZANDO REDES SEMÍTICAS • Las aves tienen plumas y tienen alas • El canario es una ave y come semillas • Piolín es un canario. • El halcón es un ave y tiene patas • Pedro es un halcón EN LA FIGURA, SE MUESTRA UN EJEMPLO DE UNA RED SEMÁNTICA LA CUAL TENEMOS DOS OBJETOS PIOLÍN Y PEDRO Y DIVERSAS CLASES DE OBJETOS. DE ESTA RED, SE PUEDE INFERIR QUE PIOLÍN ES UN CANARIO Y QUE, DADO QUE TAMBIÉN ES UN AVE QUE TIENE ALAS. REPRESENTACIÓN DE REDES SEMÁNTICAS EN PROLOG
• Para modelar redes semánticas en PROLOG, necesitamos
codificar el grafo que la representa. Para esto, utilizaremos los predicados: instancia de(Objeto, Clase): es utilizado para decir que un Objeto pertenece a una Clase determinada. Para representar la red de la figura , tendremos las clausulas unitarias: instancia_de(piolin,canario). instancia_de(pedro,halcon). subclase de(Clase1,Clase2): indica que la Clase1 esta contenida en o forma parte de la Clase2. Para la red de la figura, tendremos: subclase_de(canario,ave). subclase_de(halcon,ave). tiene propiedad(Clase1,Propiedad,Clase2): Esto involucra una relación entre dos clases e indica que Clase1) esta a relacionada con Clase2 mediante la propiedad Propiedad. Para la red de la figura: tiene_propiedad(canario,come,semillas). tiene_propiedad(ave,tiene,alas). tiene_propiedad(ave,tiene,plumas). tiene_propiedad(halcon,tiene,deseos). CONCLUSIÓN • A través de la semántica conocemos el significado de las palabras y las relaciones que existen entre ellas • Nos expresamos y entendemos mejor • Utilizamos adecuadamente las palabras ya que según el texto una palabra puede tener connotaciones distintas.