I am using: SWI-Prolog version 8.1.2
good afternoon, I’m a beginner in prologue, I’m making a recommendation for movies, music and books. I have a knowledge base
```:- module('Base de conocimeintos',
[records/1
,schema/1
,record/1
]).
record® :-
records®,
dict_pairs(R,T,As),
schema(S),
dict_pairs(S,T,Bs),
maplist([K-,K-]>>true,As,Bs).
schema(libro{
titulo:string,
categoria:string,
autor:string,
np:integer,
anio:_,
isbn:isbn,
editorial:string
}).
schema(pelicula{
titulo:,
director:,
escritor:,
produccion:,
protagonistas:,
genero:,
clasificacion:,
idioma:,
calidad:,
anio:,
pais:,
duracion:
}).
schema(musica{
titulo:,
genero:,
cantante:,
escritor:,
idioma:,
album:,
productora:,
pais:
}).
records(pelicula{
titulo:‘Justice League vs the Fatal Five’,
director:‘Sam Liu’,
escritor:‘Alan Burnett’,
produccion:‘Amy McKenna Benjamin Melniker & Michael’,
protagonistas:‘Superman Batman Mujer Maravilla’,
genero:‘Accion_Aventura_Ciencia ficcion’,
clasificacion:‘Infantil’,
idioma:‘Ingles’,
calidad:‘HD_Full_HD’,
anio:2019,
pais:‘EEUU’,
duracion:‘1_hora_18_minutos’
}).
records(pelicula{
titulo:‘Star Wars Episodio IV: Una nueva esperanza’,
director:‘Mike Mitchell’,
escritor:‘Phil Lord_Rosemery Louis’,
produccion:‘Dan Lin,Phil Lord, Denik Pol’,
protagonistas:‘Chris Pratt,Elizabeth Banks,Tiffany Haddish,Will Arnett,Stephanie Beatriz’,
genero:‘Accion,Aventura,Ciencia ficcion’,
clasificacion:‘Adulto’,
idioma:‘Ingles’,
calidad:‘HD’,
anio:1977,
pais:‘EEUU’,
duracion:‘160 minutos’
}).
records(pelicula{
titulo:‘Star Wars Episodio V: El Imperio contraataca’,
director:‘Mike Mitchell, Paul G’,
escritor:‘Phil Lord,Rosemery Louis’,
produccion:‘Dan Lin,Phil Lord, Denik Pol’,
protagonistas:‘Chris Pratt,Elizabeth Banks,Tiffany Haddish,Will Arnett,Stephanie Beatriz’,
genero:‘Accion,Aventura,Ciencia ficcion’,
clasificacion:‘Adulto’,
idioma:‘Ingles’,
calidad:‘HD’,
anio:1980,
pais:‘EEUU’,
duracion:‘150 minutos’
}).
records(pelicula{
titulo:‘Star Wars Episodio VI: El retorno del Jedi’,
director:‘Mike Mitchell, Paul G’,
escritor:‘Phil Lord,Rosemery Louis’,
produccion:‘Dan Lin,Phil Lord, Denik Pol’,
protagonistas:‘Chris Pratt,Elizabeth Banks,Tiffany Haddish,Will Arnett,Stephanie Beatriz’,
genero:‘Accion,Aventura,Ciencia ficcion’,
clasificacion:‘Adulto’,
idioma:‘Ingles’,
calidad:‘HD’,
anio:1983,
pais:‘EEUU’,
duracion:‘150 minutos’
}).
records(pelicula{
titulo:‘Star Wars Episodio I: La amenaza Fantasma’,
director:‘Mike Mitchell, Paul G’,
escritor:‘Phil Lord,Rosemery Louis’,
produccion:‘Dan Lin,Phil Lord, Denik Pol’,
protagonistas:‘Chris Pratt,Elizabeth Banks,Tiffany Haddish,Will Arnett,Stephanie Beatriz’,
genero:‘Accion,Aventura,Ciencia ficcion’,
clasificacion:‘Adulto’,
idioma:‘Ingles’,
calidad:‘HD’,
anio:1997,
pais:‘EEUU’,
duracion:‘156 minutos’
}).
records(pelicula{
titulo:‘Star Wars Episodio II: El ataque de los clones’,
director:‘Mike Mitchell, Paul G’,
escritor:‘Phil Lord,Rosemery Louis’,
produccion:‘Dan Lin,Phil Lord, Denik Pol’,
protagonistas:‘Chris Pratt,Elizabeth Banks,Tiffany Haddish,Will Arnett,Stephanie Beatriz’,
genero:‘Accion,Aventura,Ciencia ficcion’,
clasificacion:‘Adulto’,
idioma:‘Ingles’,
calidad:‘HD’,
anio:2002,
pais:‘EEUU’,
duracion:‘345 minutos’
}).
records(pelicula{
titulo:‘Bumblebee’,
director:‘Travis Knight’,
escritor:‘Christina Hodson Kelly Fremon Craig’,
produccion:‘Michael Bay_Stephe Davi_Tom DeSanto’,
protagonistas:‘Hailee Steinfeld_John Cena_Jorge Lendeborg Jr_Rachel Crow’,
genero:‘Accion_Aventura_Ciencia ficcion’,
clasificacion:‘Infantil’,
idioma:‘Ingles’,
calidad:‘HD_FULL_HD’,
anio:2018,
pais:‘EEUU’,
duracion:‘1_hora_45_minutos’
}).
records(pelicula{
titulo:‘The Lego Movie 2’,
director:‘Mike_Mitchell’,
escritor:‘Phil Lord_Christopher Miller’,
produccion:‘Dan_Lin_Phil_Lord’,
protagonistas:‘Chris Pratt_Elizabeth Banks_Tiffany Haddish_Will Arnett_Stephanie Beatriz’,
genero:‘Accion_Aventura_Ciencia ficcion’,
clasificacion:‘Infantil’,
idioma:‘Ingles’,
calidad:‘HD’,
anio:2019,
pais:‘EEUU’,
duracion:‘1_hora_47_minutos’
}).
records(pelicula{
titulo:‘El regreso de Mary Poppins’,
director:‘Rob Marshall’,
escritor:‘Rob Marshall_John DeLuca’,
produccion:‘David Magee’,
protagonistas:‘Emily Blunt_Lin Manuel Miranda_Ben Whishaw_Emily Mortimer’,
genero:‘Musical_Animacion_Ciencia Ficcion’,
clasificacion:‘Infantil’,
idioma:‘Espaniol’,
calidad:‘HD_Full_HD’,
anio:2018,
pais:‘EEUU’,
duracion:‘2_hora_10_minutos’
}).
records(pelicula{
titulo:‘Spider Man Into the Spider Verse’,
director:‘Bob Persichetti_Peter Ramsey’,
escritor:‘Christina Steinberg_Amy Pascal’,
produccion:‘Phil Lord_Rodney Rothman’,
protagonistas:‘Shameik Moore_Hailee Steinfeld_Mahershala Ali_Jake Johnson_Brian Tyree Henry’,
genero:‘Accion_Aventuras’,
clasificacion:‘Infantil’,
idioma:‘Espaniol_Ingles’,
calidad:‘HD_Full_HD’,
anio:2018,
pais:‘EEUU’,
duracion:‘2 horas’
}).
%Recomendador de libros
%libro(titulo,categoria,autor,no.pag,isbn,editorial,idioma,año)
records(libro{
titulo:‘El Principito’,
categoria:‘Infantil’,
autor:‘ANTOINE DE SAINT-EXUPERY’,
np:112,
anio:2008,
isbn:9789500426404,
editorial:‘EMECE’
}).
records(libro{
titulo:‘LOS CUENTOS DE BEEDLE EL BARDO’,
categoria:‘Infantil’,
autor:‘J K ROWLING’,
np:160,
anio:2018,
isbn:9788498388831,
editorial:‘SALAMANDRA’
}).
records(libro{
titulo:‘COMO EXPLICAR FISICA CUANTICA CON UN GATO ZOMBI’,
categoria:‘Infantil’,
autor:‘BIG VAN’,
np:200,
anio:2018,
isbn:9786073175852,
editorial:‘ALFAGUARA INFANTIL’
}).
records(libro{
titulo:‘50 COSAS LOQUISIMAS DE LOS ANIMALES’,
categoria:‘Infantil’,
autor:‘TRICIA MARTINEAU WAGNER’,
np:112,
anio:2018,
isbn:9786072120266,
editorial:‘LAROUSSE EDICIONES’
}).
records(libro{
titulo:‘ABAJO LOS MUROS’,
categoria:‘Infantil’,
autor:‘ERIC BATTUT’,
np:32,
anio:2018,
isbn:9788417492472,
editorial:‘BLUME’
}).
%Base de conocimiento de musica
% Musica(Titulo,Genero,Cantante,Escritor,
% Idioma,Album,Productora,Pais)
%Rock en inlges
records(musica{
titulo:‘Heavydirtysoul’,
genero:‘Rock’,
cantante:‘Twenty Ones Pilots’,
escritor:‘Saind Ford’,
idioma:‘Ingles’,
album:‘Blurryface’,
productora:‘Facick’,
pais:‘EEUU’
}).
records(musica{
titulo:‘Stressed Out’,
genero:‘Rock’,
cantante:‘Twenty Ones Pilots’,
escritor:‘Tyler Joseph’,
idioma:‘Ingles’,
album:‘Blurryface’,
productora:‘Mike Elizondo’,
pais:‘EEUU’
}).
records(musica{
titulo:‘Ride’,
genero:‘Rock’,
cantante:‘Oasis’,
escritor:‘Mark Gardener’,
idioma:‘Ingles’,
album:‘Nowhere’,
productora:‘The First Time’,
pais:‘EEUU’
}).
records(musica{
titulo:‘Fairly Local’,
genero:‘Rock’,
cantante:‘Twenty Ones Pilots’,
escritor:‘Tyler Joseph’,
idioma:‘Ingles’,
album:‘Blurryface’,
productora:‘Ricky Reed’,
pais:‘EEUU’
}).
records(musica{
titulo:‘Natural’,
genero:‘Rock’,
cantante:‘Imagine Dragons’,
escritor:‘Robin Fredriksson’,
idioma:‘Ingles’,
album:‘Origins’,
productora:‘Mattman y Robin’,
pais:‘EEUU’
}).
% custom types definition
isbn(I) :- string(I).```
Good afternoon friends…
someone could help me or could I explain how I can make a query where generalize.
Tell them, I have elements in my knowledge base; movies, music and books.
And I want to know what are the movies that I have of Star Wars.
and I get the movies that I have to recommend about Star Wars.
Help me…!