Familiarización entorno Prolog Curso 2002/03, Fecha:29/11/2002 Enunciado 1 (progenitor) RDF (Resource Description Framework) utiliza un esquema de representación de información basado en tripletas. Una tripleta tiene la forma rdf (Sujeto ,Predicado,Objeto).. De esa forma, para indicar que ”El padre de Juan es Fernando”se usaria: rdf (juan,padre,fernando) El siguiente fragmento incluye un conjunto de declaraciones básicas sobre una familia y una regla que indica si X es progenitor de Y r d f ( juan , padre , f e r n a n d o ) . r d f ( juan , madre , l u i s a ) . r d f ( l u i s a , madre , pepa ) . r d f ( l u i s a , padre , d i e g o ) . r d f ( pepe , padre , f e r n a n d o ) . r d f ( juan , s e x o , hombre ) . r d f ( f e r n a n d o , s e x o , hombre ) . r d f ( l u i s a , s e x o , mujer ) . r d f ( pepa , s e x o , mujer ) . r d f ( pepe , s e x o , hombre ) . r d f ( d i e g o , s e x o , hombre ) . p r o g e n i t o r (X,Y): − r d f (Y, padre ,X ) . p r o g e n i t o r (X,Y): − r d f (Y, madre ,X ) . Compilar el programa y realizar las siguientes consultas: • Se cumple que fernando es el progenitor de pepe? • Hay alguien que sea progenitor de fernando? • Hay alguien que sea a la vez progenitor de pepe y de juan? • Enunciado 2 (padre) El siguiente fragmento declara una regla que indica si X es el padre de Y hombre (X): − r d f (X, s e x o , hombre ) . p a d r e (X,Y): − p r o g e n i t o r (X,Y) , hombre (X ) . 1 Declarar reglas familiares para: • madre • hermano • hijo • hermana Enunciado 3 (abuelo) El siguiente fragmento declara una regla que indica si X es abuelo de Y a b u e l o (X,Y): − p r o g e n i t o r (X, Z ) , p r o g e n i t o r ( Z ,Y) , r d f (X, s e x o , hombre ) . Declarar reglas para: • abuela • tio Enunciado 4 (antepasado) Definir un predicado que indique si X es un antepasado de Y Enunciado 5 (direcciones) Definir varios predicados que relacionen dónde viven ciertas personas. Añadir reglas del tipo: • Si X vive con Y, entonces, Y vive con X. • Si X vive con Y, e Y vive con Z, entonces X vive con Z. • Cualquier X vive consigo mismo • Si X vive en la calle C y la calle C pertenece a una ciudad determinada, entonces, X vive en esa ciudad. Enunciado 6 (predefinidas) En RDF se incluyen varias relaciones predefinidas. Las más importantes son: • type. De forma que rdf (X,type,Y) indica que X pertenece al conjunto Y. • subClassOf. De forma que rdf (X,subClassOf,Y) indica que la clase X está incluida en la clase Y. • subPropertyOf. Indica que una propiedad es una sub-propiedad de otra. De forma que si P es una subpropiedad de Q, entonces todos los elementos que cumplan P también cumplen Q. Por ejemplo, padre es una subpropiedad de progenitor . Definir varios ejemplos utilizando las relaciones predefinidas y añadir reglas básicas sobre dichas relaciones predefinidas. Enunciado 7 (otros) Añadir otros tipos de relaciones en otros contextos: Por ejemplo, animales, vehı́culos, música, etc. Se valorará la utilización de reglas. 2