Familiarización entorno Prolog

Anuncio
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
Descargar