@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix owl11: <http://www.w3.org/2006/12/owl11#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix mon: <http://www.semwebtech.org/mondial/10/meta#>.
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#>.
@prefix : <foo://bla/>.

:grmny a mon:Country; :hasProvOrCity :bln, :mch .
:bln a :BigCity; mon:population 3500000 .
:mch a :BigCity; mon:population 1500000 .
:frc a mon:Country; mon:hasProvince :ile, :prov .
:prs a mon:City; mon:cityIn :ile; mon:population 2000000 .
:mrs a mon:City; mon:cityIn :prov; mon:population 1500000 .

mon:hasProvince owl:inverseOf mon:isProvinceOf; a owl:FunctionalProperty.
mon:isProvinceOf rdfs:subPropertyOf mon:belongsTo.
mon:cityIn rdfs:subPropertyOf mon:belongsTo.
mon:belongsTo a owl:TransitiveProperty; owl:inverseOf :hasProvOrCity. ## bridge country-prov-city
mon:population rdfs:range xsd:int;  a owl:FunctionalProperty. ## all cities are different.
_:Million a rdfs:Datatype; owl:onDatatype xsd:int; owl:withRestrictions (_:m1).
_:m1 xsd:minInclusive 1000000 .
:HasBigPopulation owl:equivalentClass [a owl:Restriction;
  owl:onProperty mon:population; owl:someValuesFrom _:Million].
:BigCity owl:intersectionOf (mon:City :HasBigPopulation).

:CountryWithTwoBigCities owl:intersectionOf (mon:Country
  [a owl:Restriction; owl:onProperty :hasProvOrCity; owl:onClass :BigCity; owl:minCardinality 2]).
:CountryWithTwoBigCities2 owl:intersectionOf (mon:Country
  [a owl:Restriction; owl:onProperty :hasProvOrCity; owl:onClass :BigCity; owl:minCardinality 2]).
