Country(Name:PK,Code,Capital,Area,Population) :- Country(X1),code(X1,Code),countryName(X1,Name), area(X1,Area),Population(X2),hasPopulation(X1,X2), populationNumber(X2,Population),CapitalCity(X4),ofCapital(X4,X1), cityName(X4,Capital)::identifier(X1,Name),identifier(X2,Population), identifier(X4,Capital). Province(Name:PK,Country,Population,Area,Capital,CapProv) :- Province(X1),ProvinceName(X1,Name),capProv(X1,CapProv), area(X1,Area),CapitalCity(X2),hasCapital(X1,X2), cityName(X2,Capital),Population(X3),hasPopulation(X1,X3), populationNumber(X3,Population),Country(X4),inCountry(X1,X4), code(X4,Country)::identifier(X1,Name),identifier(X2,Capital), identifier(X3,Population),identifier(X4,Country). City(Name:PK,Country:PK,Province:PK,Population,Longitude,Latitude) :- Country(X1),City(X2),Province(X3), located_in(X2,X1),inProvince(X2,X3),inCountry(X3,X1), code(X1,Country),cityName(X2,Name),ProvinceName(X3,Province), LatLon(X4),geographicCoordinates(X1,X4),longitude(X4,Longitude), latitude(X4,Latitude),Population(X5),hasPopulation(X2,X5), populationNumber(X5,Population)::identifier(X1,Country),identifier(X2,Name), identifier(X3,Province),identifier(X5,Population). Economy(Country:PK,GDP,Agriculture,Service,Industry,Inflation) :- Country(X1),grossDomesticProduct(X1,GDP),grossDomesticProductServices(X1,Service), grossDomesticProductIndustry(X1,Industry),countryName(X1,Country),grossDomesticProductAgriculture(X1,Agriculture), inflationRate(X1,Inflation)::identifier(X1,Country). Population(Country:PK,Population_Growth,Infant_Mortality) :- Country(X1),countryName(X1,Country),infantMortalityRateMale(X1,Infant_Mortality), populationGrowthRate(X1,Population_Growth)::identifier(X1,Country). Politics(Country:PK,Independence,Government) :- Country(X1),independence(X1,Independence),countryName(X1,Country), GovernmentType(X2),governmentType(X1,X2),objectName(X2,Government) ::identifier(X1,Country). Language(Country:PK,Name,Percentage) :- Country(X1),Language(X2),language(X1,X2), countryName(X1,Country),objectName(X2,Name),LanguagePercent(X3), language(X3,X2),breakDownName(X3,Percentage)::identifier(X1,Country), identifier(X2,Name). Religion(Country:PK,Name,Percentage) :- Religion(X1),Country(X2),religion(X2,X1), objectName(X1,Name),countryName(X2,Country),ReligionPercent(X3), religion(X3,X1),breakDownName(X3,Percentage)::identifier(X1,Name), identifier(X2,Country). Ethnic_Group(Country:PK,Name,Percentage) :- Country(X1),EthnicGroup(X2),ethnicGroup(X1,X2), countryName(X1,Country),objectName(X2,Name),EthnicGroupPercent(X3), ethnicGroup(X3,X2),breakDownName(X3,Percentage)::identifier(X1,Country), identifier(X2,Name). Continent(Name:PK,Area) :- Continent(X1),area(X1,Area),continentName(X1,Name) ::identifier(X1,Name). borders(Country1:PK,Country2:PK,Length) :- Country(X1),Country(X2),border(X2,X1), countryName(X1,Country2),countryName(X2,Country1), Border(X3),country(X3,X1),distance(X3,Length)::identifier(X1,Country1), identifier(X2,Country2). encompasses(Country:PK,Continent,Percentage) :- Country(X1),Continent(X2),Encompasses(X3), continent(X3,X2),countryCode(X3,X1),percent(X3,Percentage), countryName(X1,Country),continentName(X2,Continent),continent(X3,X2), percent(X3,Percentage)::identifier(X1,Country),identifier(X2,Continent). Organization(Abbreviation:PK,Name,City,Country,Province,Established) :- InternationalOrganization(X1),abbreviation(X1,Abbreviation),objectName(X1,Name), established(X1,Established),Province(X2),inProvince(X1,X2), ProvinceName(X2,Province),City(X3),inCity(X1,X3), cityName(X3,City),Country(X4),inCountry(X1,X4), countryName(X4,Country)::identifier(X1,Name), identifier(X2,Province),identifier(X3,City), identifier(X4,Country). is_member(Country:PK,Organization:PK,_) :- Country(X1),InternationalOrganization(X2),participatesIn(X1,X2), countryName(X1,Country),objectName(X2,Organization)::identifier(X1,Country), identifier(X2,Organization). Mountain(Name:PK,Height,CoordinatesLatitute,CoordinatesLongitute) :- Mountain(X1),objectName(X1,Name),height(X1,Height), LatLon(X2),geographicCoordinates(X1,X2),latitude(X2,CoordinatesLatitute), longitude(X2,CoordinatesLongitute)::identifier(X1,Name). Desert(Name:PK,Area) :- Desert(X1),objectName(X1,Name),area(X1,Area)::identifier(X1,Name). Island(Name:PK,Islands,Area,CoordinatesLong,CoordinatesLat) :- Island(X1),islands(X1,Islands),objectName(X1,Name), area(X1,Area),LatLon(X2),geographicCoordinates(X1,X2), latitude(X2,CoordinatesLat),longitude(X2,CoordinatesLong)::identifier(X1,Name). Lake(Name:PK,Area) :- Lake(X1),area(X1,Area),objectName(X1,Name)::identifier(X1,Name). Sea(Name:PK,Depth) :- Sea(X1),objectName(X1,Name),depth(X1,Depth)::identifier(X1,Name). River(Name:PK,River,Lake,Sea,Length) :- River(X1),objectName(X1,Name),length(X1,Length), River(X2),inflow(X1,X2),objectName(X2,River), Lake(X3),inflow(X1,X3),objectName(X3,Lake), Sea(X4),inflow(X1,X4),objectName(X4,Sea)::identifier(X1,Name), identifier(X2,River),identifier(X3,Lake),identifier(X4,Sea). geo_Mountain(Mountain:PK,Country:PK,Province:PK) :- Mountain(X1),Province(X2),Country(X3), Geo_Mountain(X4),hasProvince(X4,X2),hasCountry(X4,X3), hasMountain(X4,X1),objectName(X1,Mountain),ProvinceName(X2,Province), countryName(X3,Country)::identifier(X1,Mountain), identifier(X2,Province),identifier(X3,Country). geo_Desert(Desert:PK,Country:PK,Province:PK) :- Province(X1),Country(X2),Desert(X3), Geo_Desert(X4),hasProvince(X4,X1),hasDesert(X4,X3), hasCountry(X4,X2),ProvinceName(X1,Province),countryName(X2,Country), objectName(X3,Desert)::identifier(X1,Province),identifier(X2,Country), identifier(X3,Desert). geo_Island(Island:PK,Country:PK,Province:PK) :- Province(X1),Country(X2),Island(X3), Geo_Island(X4),hasProvince(X4,X1),hasIsland(X4,X3), hasCountry(X4,X2),ProvinceName(X1,Province),countryName(X2,Country), objectName(X3,Island)::identifier(X1,Province),identifier(X2,Country), identifier(X3,Island). geo_River(River:PK,Country:PK,Province:PK) :- Province(X1),River(X2),Country(X3), Geo_River(X4),hasProvince(X4,X1),hasCountry(X4,X3), hasRiver(X4,X2),ProvinceName(X1,Province),objectName(X2,River), countryName(X3,Country)::identifier(X1,Province),identifier(X2,River), identifier(X3,Country). geo_Sea(Sea:PK,Country:PK,Province:PK) :- Province(X1),Sea(X2),Country(X3), Geo_Sea(X4),hasProvince(X4,X1),hasSea(X4,X2), hasCountry(X4,X3),ProvinceName(X1,Province),objectName(X2,Sea), countryName(X3,Country)::identifier(X1,Province), identifier(X2,Sea),identifier(X3,Country). geo_Lake(Lake:PK,Country:PK,Province:PK) :- Country(X1),Lake(X2),Province(X3), Geo_Lake(X4),hasProvince(X4,X3),hasLake(X4,X2), hasCountry(X4,X1),countryName(X1,Country),objectName(X2,Lake), ProvinceName(X3,Province)::identifier(X1,Country),identifier(X2,Lake), identifier(X3,Province). merges_with(Sea1:PK,Sea2:PK) :- Sea(X1),Sea(X2),mergesWith(X2,X1), objectName(X1,Sea2),objectName(X2,Sea1)::identifier(X1,Sea1), identifier(X2,Sea2).