def interpret(self, match): actor = IsPerson() movie_name = ''.join(match.movie.nodes[0][1][1].split('"')[:-1]) actor.nodes = [u' title like "%' + movie_name + '%"'] actor.tables = ["actors", "actresses"] actor.head = u"name,surname,title" return actor, ("enum", "ActorsOfQuestion")
def interpret(self, match): director_name = IsPerson() movie_name = ''.join(match.movie.nodes[0][1][1].split('"')[:-1]) director_name.nodes = [u' title like "%' + movie_name + '%"'] director_name.tables = [u"directors"] director_name.head = u"name,surname,title " #director = IsPerson() + DirectorOf(match.movie) #director_name = NameOf(director) director_name.tables = ["directors"] return director_name, ("literal", "DirectorOfQuestion")
def interpret(self, match): #print(dir(match), match.director, match.words) #movie = IsMovie() + DirectedBy(match.director) #movie_name = LabelOf(movie) #use only the name of the director name_dir = ''.join(match.director.nodes[0][1][1].split('"')[:-1]) names = name_dir.split() movie_name = IsPerson() if len(names) == 1: movie_name.nodes = [u' name like "' + names + '"'] else: movie_name.nodes = [ u' name like "' + u" ".join(names[:-1]) + u'" and surname like "' + names[-1] + '"' ] movie_name.tables = [u"directors"] movie_name.head = u"title" return movie_name, ("enum", "MoviesByDirectorQuestion")