文脈が不足しているため、あなたの質問はほとんど意味がないと思います。
事実のリストをDBにプッシュするための可能な使用法:
?- maplist(assert, [eats(george,apple,3), eats(bob,orange,1), eats(joe,steak,1)]).
true.
?- eats(Person,Food,_).
Person = george,
Food = apple ;
Person = bob,
Food = orange ;
Person = joe,
Food = steak.
繰り返しますが、残りのルールがすべてです...
編集通常、「情報の流れ」は逆です。DB ファクトから開始し、関連データをリストに収集し、リストを処理します。Daniel は、リストの要素へのアクセスについて説明しました。リストからファクトを表明した後、ルールがファクトにアクセスできるようになることを考慮してください。リストしたルールを使用して、次のことを行います。
?- retractall(eats(_,_,_)),
maplist(assert, [eats(george,apple,3), eats(bob,orange,1), eats(joe,steak,1)]).
?- eaten(bob,X).
X = orange.
HTH