예제 #1
0
 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")
예제 #2
0
 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")
예제 #3
0
    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")