Prolog
% データ定義（ファクト）
product(item1, 3000, 4.8, 20).
product(item2, 1800, 4.2, 200).
product(item3, 5000, 4.9, 5).
product(item4, 2500, 4.5, 80).

% 1. 指定された予算（MaxPrice）以下の商品を検索する
affordable_product(Name, MaxPrice) :-
    product(Name, Price, _, _),
    Price <= MaxPrice.

% 2. 指定された評価（MinRating）以上の高評価商品を検索する
high_rating_product(Name, MinRating) :-
    product(Name, _, Rating, _),
    Rating >= MinRating.

% 3. おすすめ商品（例：評価が4.5以上、かつレビュー数が15件以上）
recommended_product(Name) :-
    product(Name, _, Rating, ReviewCount),
    Rating >= 4.5,
    ReviewCount >= 15.