我有一个庞大的演员数据库,例如
actor('adam_zweibel','the_story_of_us',1999,20).
actor('alan_zweibel','north',1994,10).
actor('alan_zweibel','the_story_of_us',1999,21).
actor('darrell_zwerling','...and_justice_for_all',1979,32).
actor('darrell_zwerling','capricorn_one',1978,21).
actor('darrell_zwerling','chinatown',1974,6).
actor('darrell_zwerling','doc_savage:_the_man_of_bronze',1975,6).
actor('darrell_zwerling','high_anxiety',1978,15).
actor('darrell_zwerling','joe_versus_the_volcano',1990,15).
actor('darrell_zwerling','the_main_event',1979,45).
actor('darrell_zwerling','la_mortadella',1971,0).
actor('darrell_zwerling','the_secret_life_of_an_american_wife',1968,0).
actor('darrell_zwerling','wild_at_heart',1990,40).
actor('michael_zwiener','big_bully',1996,15).
我需要实现类似这样的东西
?- within_degree('johnny_winter', 'matthew_witherly', 3, X).
X = [sgt_peppers_lonely_hearts_club_band, keith_carradine, crisscross, paul_calderon, bait] ;
X = [sgt_peppers_lonely_hearts_club_band, morgan_farley, heaven_can_wait, larry_block, bait] ;
X = [sgt_peppers_lonely_hearts_club_band, 'steve_martin_(i)', bowfinger, jamie_kennedy, bait] ;
X = [sgt_peppers_lonely_hearts_club_band, 'steve_martin_(i)', my_blue_heaven, larry_block, bait].
建立一个演员树,有两个结局Actor1,Actor2。 我不知道如何开始,有人可以帮助我,或者想出如何处理这项任务。感谢
答案 0 :(得分:2)
这是一个接近任务的想法。
首先只是担心检测它们是否已连接:
尝试编写一个连接的谓词(+ Actor1,+ Actor2,+ Degree)来实现它。如果两个actor按度数连接,则该谓词将返回true,如果不是,则返回false。
下一步是添加您想要的结果列表,即