#The main differences between different type of coffee recipes are the proportions of espresso, steamed milk and foam within the beverage. Moreover, many receipts have different measuring system, eg ml, oz, cl, tbs, etc. Here we define the proportions of coffee components for different types of coffee  
#Taken from https://www.teacoffeecup.com/recipe/different-types-of-coffee-explained-espresso-drink-recipes/

PREFIX : <http://www.semanticweb.org/alisa/ontologies/2022/concrete-domain/>
#e.g. <http://www.semanticweb.org/alisa/ontologies/2022/concrete-domain/Order1-1>

##ABox data properties encoding
# Order is Ristretto
Order1-1:
 1 * containsEspresso
 = 30
#
Order1-2:
 1 * containsSteamedMilk
 = 0
#
Order1-3:
 1 * containsWater
 = 30
#
Order1-4:
 1 * containsMilkFoam
 = 0
#
Order1-5:
 1 * containsTotalAmount
 = 60

##### TBox constrains

#
TotalAmount:
 1 * containsTotalAmount
 -1 * containsWater
 -1 * containsEspresso
 -1 * containsSteamedMilk
 = 0

#### constrains of absence needed for definitions in the ontology file

#
NoWater:
 1 * containsWater
 = 0

#
NoSteamedMilk:
 1 * containsSteamedMilk
 = 0

#
NoMilkFoam:
 1 * containsMilkFoam
 = 0


#### constrains of presence
#
PureEspresso:
 1 * containsEspresso
-1 * containsTotalAmount
= 0

# Macchiatto Ratio: 90% coffee, 10% milk.
#
NinetyPercentBlackCoffee:
 1 * containsEspresso
-0.9 * containsTotalAmount
 = 0
#
TenPercentSteamedMilk:
 1 * containsSteamedMilk
-0.1 * containsTotalAmount
 = 0

# Ristretto = half coffee + half water
#
HalfBlackCoffee:
 1 * containsEspresso
-0.5 * containsTotalAmount
 = 0
#
HalfWater:
 1 * containsWater
-0.5 * containsTotalAmount
 = 0

#Americano = 2/3 water + 1/3 coffee
#
TwoThirdCupWater:
 3 * containsWater
-2 * containsTotalAmount
 = 0
#
ThirdBlackCoffee:
 3 * containsEspresso
-1 * containsTotalAmount
 = 0

#Latte = 1/3 coffee and 2/3 steamed milk with a small layer of foam
#
TwoThirdSteamedMilk:
 3 * containsSteamedMilk
-2 * containsTotalAmount
 = 0
#
SmallAmountOfMilkFoam:
 1 * containsMilkFoam
-0.1 * containsTotalAmount
 = 0

# Capuccino = 1/4 coffee + 1/2 steamed milk + 1/4 foam
#
QuarterBlackCoffee>:
 1 * containsEspresso
-0.25 * containsTotalAmount
 = 0
#
QuarterMilkFoam:
 1 * containsMilkFoam
-0.25 * containsTotalAmount
 = 0
#
HalfSteamedMilk:
 1 * containsSteamedMilk
-0.5 * containsTotalAmount
 = 0

#FlatWhite = 1/3 espresso and 2/3 milk
